Я хотел бы проверить MD5 файл с этим кодом:Сравнить две строки Inno Setup
[Code]
var
MD5Comp: string;
procedure ExitProcess(uExitCode:UINT);
external '[email protected] stdcall';
procedure CurStepChanged(CurStep: TSetupStep);
begin
MD5Comp := '32297BCBF4D802298349D06AF5E28059';
if CurStep = ssInstall then
begin
if not MD5Comp=GetMD5OfFile(ExpandConstant('{app}\cg.npa')) then
begin
MsgBox('A patched version detected. Setup will now exit.', mbInformation, MB_OK);
ExitProcess(1);
end;
end;
end;
Но я получаю ошибку «Несоответствие типов» при сравнении два строки, поэтому я предполагаю, что это не так, как вы их сравниваете.
Редактировать: Я пробовал if not CompareText(MD5Comp,GetMD5OfFile(ExpandConstant('{app}\cg.npa')))=0
, но он никогда не выполняет то, что находится внутри if.
К вашему обновлению вам нужно будет написать 'if CompareText (...) = 0 then', потому что 0 означает равенство. – TLama