Inno setup Inno Setup Exec不';t等待InstallShield卸载完成

Inno setup Inno Setup Exec不';t等待InstallShield卸载完成,inno-setup,installshield,Inno Setup,Installshield,在安装之前,尝试使用卸载字符串卸载软件(并使用InitializeSetup中的Exec运行该字符串),它不会等待卸载完成,而是进入Inno Setup中的下一步安装 我正在使用以下代码和试图在Installshield产品中卸载的软件: Exec( ExpandConstant(“{pf}\InstallShield安装信息\{XXX8X88X-XX8X-88X8-X8XX-88x8888}\setup.exe”), '-s-runfromtemp-l0x0004-removeonly-rem

在安装之前,尝试使用卸载字符串卸载软件(并使用
InitializeSetup
中的
Exec
运行该字符串),它不会等待卸载完成,而是进入Inno Setup中的下一步安装


我正在使用以下代码和试图在Installshield产品中卸载的软件:

Exec(
ExpandConstant(“{pf}\InstallShield安装信息\{XXX8X88X-XX8X-88X8-X8XX-88x8888}\setup.exe”),
'-s-runfromtemp-l0x0004-removeonly-remove','',
SW_显示,EWWAIT未过滤,返回代码)

安装程序.exe很可能执行实际卸载的子进程并自行退出。因此,Inno安装程序似乎不会等待进程完成。这是一种常见的行为,因为卸载程序需要删除自身,如果它仍在运行则无法删除。因此,它会创建自身(或另一个可执行文件)的副本在临时文件夹中,并从那里(重新)执行

根据,您可以尝试将
/w
/Clone\u wait
开关添加到命令行:

/w
…对于基本MSI项目,
/w
选项强制
Setup.exe
在退出之前等待安装完成。

/Clone\u wait
…此参数表示原始设置应等待克隆的安装过程完成,然后退出


我正在使用以下代码和试图在Installshield产品中卸载的软件:Exec(ExpandConstant({pf}\Installshield安装信息\{XXX8X88X-XX8X-88X8-X8XX-88x8888}\setup.exe'),'-s-runfromtemp-l0x0004-仅删除-删除','',SW_SHOW,ewwaitunterminated,返回代码)原始安装程序已注册与我在查询中编写的相同的cmd行选项