尝试使用卸载字符串卸载软件(并使用Exec
in InitializeSetup
)在安装之前,它不会等待卸载完成,而是继续在 Inno Setup 中进行下一步安装。
我正在使用以下代码和我尝试在 Installshield 产品中卸载的软件:
Exec(
ExpandConstant('{pf}\InstallShield Installation Information\{{XXX8X88X-XX8X-88X8-X8XX-88X888X88888}\setup.exe'),
'-s -runfromtemp -l0x0004 -removeonly -remove', '',
SW_SHOW, ewWaitUntilTerminated, ReturnCode)
The setup.exe
最有可能执行实际卸载的子进程并自行退出。因此,Inno Setup 似乎不会等待该过程完成。这是一种常见行为,因为卸载程序需要删除自身,如果它仍在运行,则它无法执行此操作。因此,它在临时文件夹中创建自身(或另一个可执行文件)的副本,并从那里(重新)执行。
As per InstallShield 文档,你可以尝试添加/w
or /Clone_wait
切换到命令行:
/w
...对于基本 MSI 项目,/w
选择力Setup.exe
等待安装完成后再退出。
/Clone_wait
...该参数表示原始设置应该等待克隆的安装过程完成后再退出.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)