R.i.m.s.k.y. спасибо за такой ответ, но я имел в виду, чтобы инсталлятор при проверке версии через реестр выдавал ошибку о не совпадении версий или предлагал удалить старую версию.
И ещё, народ помогите разобраться вот с этим кодом, подкиньте пример! Заранее спасибо!
[code]
Код:
function InitializeSetup(): Boolean;
var
ResultCode: Integer;
s, ResultStr:string;
begin
Result:=True;
If not RegKeyExists(HKLM, 'SOFTWARE\GSC Game World\STALKER-SHOC\')
then
begin
MsgBox('S.T.A.L.K.E.R Тени Чернобыля v 1.0005 не установлен или установлен неверно.' #13#13 'Дальнейшая работа мастера невозможна.', mbError, mb_Ok);
Result:=False;
end
else
begin
If RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\','UninstallString', ResultStr)
then
begin
If ResultStr<>''
then
begin
ResultStr:=RemoveQuotes(ResultStr); if MsgBox('Программа установки обнаружила уже установленную программу ранней версии.' #13#13 'Вы желаете предварительно удалить ее?', mbInformation, MB_YESNO) = idYes
then
if not Exec(ResultStr, '', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode)
then
MsgBox('Ошибка удаления. ' #13#13 '' + SysErrorMessage(ResultCode) + '.' #13#13 'Вероятно, деинсталлятор был перемещен, удален или переименован.', mbError, MB_OK);
end;
end;
end;
end;