Kindly
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору DroN_S [Code] //Все просто - взят пример из Inno Setup function InitializeSetup(): Boolean; var ResultCode: Integer; ResultStr:string; begin Result:=True; begin //Считываем строку с версией программы If RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\My Program_is1', 'DisplayName', ResultStr) then begin //Если строка равна указанной строке, то выводим сообщение If ResultStr='My Program 1.5' then begin ResultStr:=RemoveQuotes(ResultStr); //Если нажимаем OK - запускаем деинсталляцию, если Отмена - закрываем инсталлятор. if MsgBox('Обнаружена установленная ''' + ResultStr + '''.'#13#13'Для установки новой версии программы следует удалить текущую.'#13#13'OK - удалить программу.'#13#13'Отмена - покинуть инсталлятор.', 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('Ошибка удаления. ' #13#13 '' + SysErrorMessage(ResultCode) + '.' #13#13 'Вероятно, деинсталлятор был перемещен, удален или переименован.', mbError, MB_OK); end; end; end; end; end; end; Это? Или опять не то? |