我正在使用 Inno 安装程序来安装我的产品,在安装程序中,如果该程序被取消或中止,我将执行一个外部程序 (Validator.exe),我必须取消我自己的安装程序。
我将 Validator.exe 保存在 {app} 路径中并执行它。
当安装程序运行时,我调用 Validator.exe 文件并获得执行结果:Exec(ExpandConstant('{app}/Validator.exe'), '', '', SW_SHOW, ewWaitUntilTerminated, ResultCode)。
但这是我尝试过的所有解决方案的问题:
InitializeSetup:Validator.exe 文件尚未复制到 {app} 中,因此永远不会执行。
中止:只能在 (InitializeSetup,InitializeWizard,CurStepChanged(ssInstall)) 中调用,因此在这些情况下验证器尚未复制。
DeinitializeSetup:我可以在安装后执行 Validator.exe,但此时我无法中止我的安装程序。
在 Validator.exe 被复制并执行后,我需要一些方法来取消安装,也许调用卸载但我做不到。
谢谢你的帮助。