Diawer
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору [Setup] AppName=My Program AppVerName=My Program DefaultDirName={pf}\My Program DefaultGroupName=My Program OutputBaseFilename=My Program UninstallDisplayName=My Program [Languages] Name: russian; MessagesFile: compiler:Languages\Russian.isl [_Code] var ResultCode: Integer; ResultStr: string; function InitializeSetup(): Boolean; begin Result := True; begin If RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\My Program_is1', 'DisplayName', ResultStr) then //брать из AppName begin If ResultStr='My Program 1.0' then //брать из UninstallDisplayName begin ResultStr:=RemoveQuotes(ResultStr); if MsgBox('Setup has detected that ' + ResultStr + ' is already installed on your computer.'#13#13'You would like to remove all before continuing?', mbInformation, MB_OKCANCEL) = idCANCEL then begin Result := False; end else If RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\My Program_is1', 'UninstallString', ResultStr) then begin If ResultStr <> '' then begin ResultStr := RemoveQuotes(ResultStr); if not Exec(ResultStr, '', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode) then MsgBox('Uninstall Error. ' #13#13 '' + SysErrorMessage(ResultCode) + '.' #13#13 'Probably, uninstall files was moved, removed or renamed.', mbError, MB_OK); end; end; end; end; end; end; |