Como detectar a instalação antiga e oferecer a remoção?
Como faço para detectar se o usuário já instalou o software e, em caso afirmativo, como oferecer a possibilidade de remover a versão antiga?
Eu escrevi algumas linhas para verificar isso. Isso está correto por enquanto? Se isso estiver correto, como posso permitir que o usuário escolha se deseja continuar a instalação ou desinstalar a versão antiga?
#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;