Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Пользователь


Сообщения: 76
Благодарности: 1

Профиль | Отправить PM | Цитировать


Nemko, а как склеить два разных CODE???
Code
Код: Выделить весь код
function InitializeSetup(): Boolean;
var
FileName: PAnsiChar;
begin
FileName:=ExpandConstant('{reg:HKLM\SOFTWARE\Code,PATH_APPLICATION}') +'\Test.exe';
if not FileExists(FileName) then begin
MsgBox('Установка Прекращена', mbCriticalError, MB_OK);
Result:=False;
end 
else begin
if (GetSHA1OFFile(FileName) = Lowercase('ad030d5606a2dcfa75ebc425a70730f23e7f07ab')) then 
Result:=MsgBox('Программа уже Установлена' #13#13 'Продолжить Установить?', mbInformation, MB_YESNO) = IDYES
else 
Result:=True;
end
end;

+
Code

// Подключаем внешнюю библиотеку:
#include "FileVersion.iss"
Код: Выделить весь код
function InitializeSetup(): Boolean;
var FileName: String; CurrentVersion, MinVersion: TFileVersion; begin

//  Задаём минимальную версию:
FileVersionSetI(MinVersion, 1,3,0,0);

// Имя файла:
FileName := ExpandConstant('{reg:HKLM\SOFTWARE\Code,PATH_APPLICATION}') +'\Test.exe';
	
if Not FileExists(FileName) then begin
MsgBox('Установите Программу:', mbCriticalError, MB_OK);
Result := False; Exit;
end;
	
// Файл существует, считываем версию:
FileVersionSetF(CurrentVersion, FileName);
	
// Сравниваем и решаем что делать:
if FileVersionCompare(CurrentVersion, MinVersion) > -1 then
Result := True
else begin
MsgBox ('Установка Прекращена!' #13#13 'Версия Установленной Программы: ' +FileVersionToStr(CurrentVersion) +#13#13 'Минимальная Версия для Обновления: ' +FileVersionToStr(MinVersion), mbCriticalError, MB_OK);
Result := False; Exit;
end;

// Задаём максимальную версию:
FileVersionSetI(MinVersion, 1,3,0,0);

// Имя файла:
FileName := ExpandConstant('{reg:HKLM\SOFTWARE\Code,PATH_APPLICATION}') +'\Test.exe';
	
// Файл существует, считываем версию:
FileVersionSetF(CurrentVersion, FileName);
	
// Сравниваем и решаем что делать:
if FileVersionCompare(CurrentVersion, MinVersion) < 1 then
Result := True
else begin
MsgBox('Установка Прекращена!' #13#13 'Версия Установленной Программы: ' +FileVersionToStr(CurrentVersion) +#13#13 'Максимальная Версия для Обновления: ' +FileVersionToStr(MinVersion), mbCriticalError, MB_OK);
Result := False; Exit;
end;
end;

сама библиотека тут

Последний раз редактировалось Beavimo, 11-01-2020 в 22:55.


Отправлено: 22:45, 11-01-2020 | #443