Jak wykryć starą instalację i usunąć ofertę?
Jak wykryć, czy użytkownik już zainstalował oprogramowanie, a jeśli tak, jak zaoferować możliwość usunięcia starej wersji?
Napisałem kilka wierszy, aby to sprawdzić. Czy na razie to prawda? Jeśli jest to poprawne, jak mogę pozwolić użytkownikowi wybrać, czy chce kontynuować instalację, czy odinstalować starą wersję?
#define UNINSTKEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\setupname_is1"
var
uninstallPath: string;
function InitializeSetup: Boolean;
begin
if (RegQueryStringValue(HKLM,'{#UNINSTKEY}','UninstallString',uninstallPath)) and
(uninstallPath <> '') and (fileexists(uninstallPath)) then
begin
Result :=
(MsgBox(CustomMessage('NotVerifiedVersionFound'), mbConfirmation,
MB_YESNO or MB_DEFBUTTON2) = IDYES);
end;
{ ... }
end;