我需要我的安装程序检查目标位置是否存在文件,如果不存在,则安装中止。我的项目是一个更新补丁,所以如果应用程序的主 exe 不在目标位置,我希望安装程序避免安装更新文件。我怎样才能做到这一点?
有人可以举一个代码示例来通过 Windows 注册表检查文件版本吗?
[Files]
Source C:\filename.exe; DestDir {app}; Flags: ignoreversion; BeforeInstall: CheckForFile;
[code]
procedure CheckForFile(): Boolean;
begin
if (FileExists('c:\somefile.exe')) then
begin
MsgBox('File exists, install continues', mbInformation, MB_OK);
Result := True;
end
else
begin
MsgBox('File does not exist, install stops', mbCriticalError, MB_OK);
Result := False;
end;
end;