Как обнаружить старую установку и предложить удаление?

Как определить, установил ли пользователь уже программу, и если да, то как предложить возможность удаления старой версии?

Я написал несколько строк, чтобы проверить это. Это правильно на данный момент? Если это правильно, то как я могу позволить пользователю выбрать, хочет ли он продолжить установку или удалить старую версию?

#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;
16
задан Martin Prikryl 10 July 2017 в 10:23
поделиться