Witam wszystkich. Zastanawiam się czy jest możliwe zrobienie w Inno Setup czegoś takiego jak jest u konkurencyjnego InstallShield, żeby przy starcie Instalatora - Setup.exe (zanim jeszcze pojawi się wybór języka lub strona powitalna) sprawdzał czy jest już zainstalowana owa wersja tego programu i jeśli jest to nastąpiło by jego zamknięcie (Instalatora) i uruchomienie Deinstalatora ( w normalnej opcji - nie SILENT). Jedyne co udało mi się znaleźć to coś takiego:
procedure CurStepChanged(CurStep: TSetupStep);
var
ResultCode: Integer;
Uninstall: String;
begin
if (CurStep = ssInstall) then begin
if RegQueryStringValue(HKLM, ‘Software\Microsoft\Windows\CurrentVersion\Uninstall\My Program_is1’, ‘UninstallString’, Uninstall) then begin
MsgBox(‘Old version will be removed. Press OK to continue.’, mbInformation, MB_OK);
Exec(RemoveQuotes(Uninstall), ’ /SILENT’, ‘’, SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode);
end;
end;
end;
Nie działa to jednak dość dobrze ponieważ dzieje się to dopiero w momencie rozpoczęcia instalacji, a mnie chodzi o to, żeby to działało na samym początku tak jak wyżej napisałem. Czy jest takie coś możliwe? Jeśli tak to bym opoprosił o podanie kodu. Z góry dziękuję.