Installation Inno安装程序-运行脚本在新机器的第一次尝试中不起作用
我使用Inno Setup Compiler 6.0.2创建了一个简单的可执行(.exe)文件,用于安装Windows应用程序 .exe文件调用vbscript“Setup.vbs”,该脚本解压“Application.zip”文件并更新环境变量 当我第一次在新机器上运行.exe文件时,.vbs文件不会执行。但是,从第二次尝试开始,它就可以正常工作。这是一个已知的问题还是有解决方案 下面是我用来调用run.vbs文件的代码片段Installation Inno安装程序-运行脚本在新机器的第一次尝试中不起作用,installation,inno-setup,pascalscript,Installation,Inno Setup,Pascalscript,我使用Inno Setup Compiler 6.0.2创建了一个简单的可执行(.exe)文件,用于安装Windows应用程序 .exe文件调用vbscript“Setup.vbs”,该脚本解压“Application.zip”文件并更新环境变量 当我第一次在新机器上运行.exe文件时,.vbs文件不会执行。但是,从第二次尝试开始,它就可以正常工作。这是一个已知的问题还是有解决方案 下面是我用来调用run.vbs文件的代码片段 [代码] 函数PrepareToInstall(var NeedsR
[代码]
函数PrepareToInstall(var NeedsRestart:Boolean):字符串;
var结果代码:整数;
开始
ShellExec(“”,ExpandConstant(“{app}\{MyAppExeName}”),“”,,,SW_SHOW,ewwaitUnfiltered,ResultCode)
结束;
更新 我希望在安装之前执行.vbs。因此,我尝试了提取临时文件,但仍然面临同样的问题。不确定下面的代码有什么问题
#定义MyAppExeName“Setup.vbs”
[档案]
来源:“..\Application\Installation\u Setup\Setup.vbs”;DestDir:“{app}”;标志:忽略版本
[守则]
函数PrepareToInstall(var NeedsRestart:Boolean):字符串;
变量
结果代码:整数;
开始
ExtractTemporaryFile(“{#MyAppExeName}”);
ShellExec(“”,ExpandConstant(“{app}\{MyAppExeName}”),“”,,,SW_SHOW,ewwaitUnfiltered,ResultCode)
结束;
发生在安装之前。在执行已安装的文件时,在调用该文件时,该文件还不存在
可能的解决办法
- 安装后从以下位置执行脚本:
或者您可以使用
部分:[Run]
- 如果您需要在安装之前执行脚本(我不认为这是您的情况),请使用
- 要提取ZIP,您不需要VBS脚本,您可以直接从Inno设置代码中执行此操作。
ExpandConstant({tmp}{MyAppExeName}')
而不是ExpandConstant({tmp}{MyAppExeName}')
对我有效。谢谢谢谢安德鲁!刚接触stackoverflow,很难在评论中发布代码。