Installation Inno安装程序在安装期间执行[UninstallRun]

Installation Inno安装程序在安装期间执行[UninstallRun],installation,inno-setup,Installation,Inno Setup,Inno设置5.5.4u 代码: 在安装过程中调用Vjoy卸载程序函数。Debug告诉我它是从[UninstallRun]部分调用的。这是一个bug还是我吸了点什么。卸载运行部分也是可选的,它指定了卸载的第一步要执行的任意数量的程序。除非下文另有说明,否则这两部分的语法相同 程序按照它们在脚本中出现的顺序执行。默认情况下,在处理[Run]/[UninstallRun]条目时,安装/卸载将等待程序终止后再继续下一个条目,除非使用了nowait、shellexec或waituntilidle标志 请

Inno设置5.5.4u

代码:


在安装过程中调用Vjoy卸载程序函数。Debug告诉我它是从[UninstallRun]部分调用的。这是一个bug还是我吸了点什么。

卸载运行部分也是可选的,它指定了卸载的第一步要执行的任意数量的程序。除非下文另有说明,否则这两部分的语法相同

程序按照它们在脚本中出现的顺序执行。默认情况下,在处理[Run]/[UninstallRun]条目时,安装/卸载将等待程序终止后再继续下一个条目,除非使用了nowait、shellexec或waituntilidle标志

请注意,默认情况下,如果在[Run]部分执行的程序通过调用MoveFileEx或修改wininit.ini将要在下次重新启动时替换的文件排队,安装程序将检测到这一情况,并在安装结束时提示用户重新启动计算机。如果不希望这样,请将restartfneeddbyrun指令设置为no。

这里的问题是,{code}函数是在安装时调用的,这是[UninstallRun]部分中的脚本代码函数所不期望的。之所以发生这种情况,是因为安装程序正在评估卸载日志的文件名参数,因此它执行了该函数。@TLama yesp。这就是问题所在。非常感谢。
[UninstallRun]
Filename: "{code:vJoyUnInstaller}";  Parameters: "/LOG /silent " ; StatusMsg: "Uninstalling vJoy device"; Flags: waituntilterminated