一个接一个地运行文件

时间:2018-08-17 11:39:44

标签: inno-setup pascalscript

我正在尝试从inno设置文件的run部分安装几个可执行文件。

我的File部分看起来像这样。

[Run]
#if GNTCChecked == "True"

  Filename: "{tmp}\Utilities\SDK\setup.exe"; Description: "Install Foo"; Flags: nowait postinstall shellexec

  Filename: "{tmp}\Utilities\SDK\foobar.exe"; Description: "Install Foo Update"; 
  Flags: nowait postinstall shellexec

#endif

需要安装第一个文件才能安装第二个文件。

基本上,如果未安装第一个文件,第二个将抛出错误,说明核心文件不在文件中。系统,因此无法安装。

目前,第一个文件正在执行,第二个文件在第一个文件完成安装之前一直执行。

1 个答案:

答案 0 :(得分:2)

只有在第一个任务完成后,我才需要执行一个文件,然后执行另一个文件。

[Run]
#if GNTCChecked == "True"

Filename: "{tmp}\Utilities\SDK\setup.exe"; Description: "Install Foo"; 
Flags: postinstall shellexec waituntilterminated

Filename: "{tmp}\Utilities\SDK\foobar.exe"; Description: "Install Foo Update"; 
Flags: postinstall

#endif

这是我阅读的信息,使我得到了答案。

  

shellexec   如果Filename不是直接可执行文件(.exe或.com文件),则需要此标志。设置此标志后,“文件名”可以是文件夹或任何注册的文件类型-包括.chm,.doc等。该文件将使用与用户系统上的文件类型相关联的应用程序打开,就像用户在资源管理器中双击该文件一样。

     

默认情况下,使用shellexec标志时,它不会等到生成的进程终止。如果需要,必须添加标志waituntilterminated。请注意,如果没有产生新的进程,例如,如果Filename指定了文件夹,它就不会也不会等待。

相关问题