当第三方软件安装被取消时,Inno Setup会跳过postinstall

时间:2015-07-28 07:30:21

标签: installation installer inno-setup

我正在使用Inno Setup,我需要安装第三方软件。但是,如果我取消第三方安装,安装程序将跳过安装后运行任务并继续完成设置向导,提示计算机重新启动。即使在取消第三方安装后,有没有办法继续安装后?以下是示例代码。

[Tasks]
Name: "install_3rdparty"; Description: "Install 3rd party"; GroupDescription: "Prerequisite software:"

[Files]
Source: "driver\3rdparty.exe"; DestDir: {app}\driver

[Run]
Filename: "{app}\driver\3rdparty.exe"; StatusMsg: "Installing 3rd party"; Check: IsWin64(); Tasks: install_3rdparty; Flags: skipifsilent
Filename: "{app}\my_program.exe"; Flags: postinstall; Description: "Launch my program" 

1 个答案:

答案 0 :(得分:2)

Inno Setup由于某种原因认为第三方安装程序进行了需要重新启动的更改。

可能是因为第三方安装程序为下次重新启动安排了文件替换。

您可以使用RestartIfNeededByRun directive

禁用Inno安装程序
  

当设置为yes时,在[Run]部分执行的程序将在下次重新启动时排队的文件排队(通过调用MoveFileEx或修改wininit.ini),安装程序将检测到此并提示用户在安装结束时重新启动计算机。