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;
Это? Или опять не то?
[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;
Это? Или опять не то?