检查 Inno Setup 内部临时文件夹中是否存在文件
Checking existence of a file in Inno Setup Internal Temporary folder
我希望我的 Inno 安装脚本搜索我的安装程序的 .TMP 文件,该文件通常在当前登录用户的本地应用程序数据文件夹中创建,并给用户一个消息框,上面写着 “您的安装程序的临时源似乎是创建成功。"
我写了一个代码来这样做:
if CurPageID = wpLicence then begin
if FileExists((ExpandConstant('{localappdata}\Temp\is-*****.tmp\MySetup.tmp'))) then begin
MsgBox('Your Setup''s Temporary Source seems to be created successfully.', mbInformation, MB_OK);
MsgBox('It is located in: <<I WANT TO GET THE FOUND FILE''S FULL PATH HERE>>', mbWarning, MB_OK);
end;
end;
但是,即使我的安装程序的临时文件 (MySetup.tmp)
在安装程序开始时存在,我也没有收到这些消息框。
这段代码有什么问题?
搜索时是否忽略is-*****
?
更新问题
我的意思是下图中显示的临时目录。它包含安装向导的内部临时文件。这通常命名为 {#SetupName}.tmp
...... 不是 Inno Setup 提取安装程序文件的其他临时目录。例如 ISSKin.dll
或任何外部使用的文件。
如有任何帮助,我们将不胜感激。
FileExists
function 不支持通配符,甚至在文件名中也不支持,更不用说在父文件夹的名称中了。
见How to test using wildcards whether a file exists in Inno Setup。
尽管在您的情况下,只需使用 ParamStr(0)
。
FileExists(ParamStr(0))
我希望我的 Inno 安装脚本搜索我的安装程序的 .TMP 文件,该文件通常在当前登录用户的本地应用程序数据文件夹中创建,并给用户一个消息框,上面写着 “您的安装程序的临时源似乎是创建成功。"
我写了一个代码来这样做:
if CurPageID = wpLicence then begin
if FileExists((ExpandConstant('{localappdata}\Temp\is-*****.tmp\MySetup.tmp'))) then begin
MsgBox('Your Setup''s Temporary Source seems to be created successfully.', mbInformation, MB_OK);
MsgBox('It is located in: <<I WANT TO GET THE FOUND FILE''S FULL PATH HERE>>', mbWarning, MB_OK);
end;
end;
但是,即使我的安装程序的临时文件 (MySetup.tmp)
在安装程序开始时存在,我也没有收到这些消息框。
这段代码有什么问题?
搜索时是否忽略is-*****
?
更新问题
我的意思是下图中显示的临时目录。它包含安装向导的内部临时文件。这通常命名为 {#SetupName}.tmp
......ISSKin.dll
或任何外部使用的文件。
如有任何帮助,我们将不胜感激。
FileExists
function 不支持通配符,甚至在文件名中也不支持,更不用说在父文件夹的名称中了。
见How to test using wildcards whether a file exists in Inno Setup。
尽管在您的情况下,只需使用 ParamStr(0)
。
FileExists(ParamStr(0))