检查 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))