【问题标题】:Multiple silent installations in InnoSetupInnoSetup 中的多个静默安装
【发布时间】:2015-04-04 22:00:11
【问题描述】:

我使用 InnoSetup 编写了一个安装程序,用户可以在其中选择要下载/安装的软件。

我正在使用循环安装用户选择的每个软件静默这样

ShellExec('', ExpandConstant('{tmp}\' + SoftwareName), '/VERYSILENT', '',
    SW_SHOW, ewNoWait, ErrorCode);

我的问题是关于倒数第二个参数。

在我安装许多静默安装的情况下,使用ewNoWait(它们每个都立即返回)或使用ewWaitUntilTerminated(它们一个接一个地执行)之间有区别吗?

在我的情况下,哪一个更受欢迎或更安全?

同时运行许多静默安装让我有点担心。

【问题讨论】:

  • 顺便说一句,你为什么不使用[Run] 部分,而不是手动编码?
  • 因为在我运行 ShellExec 之前,我的所有软件都是先从远程位置下载的。如果我错了,请纠正我,但我相信 [run] 用于执行已打包在安装程序中的可执行文件。
  • @Martin,不,您可以运行或打开[Run] 部分中的任何文件,而不仅仅是安装程序包中的文件。
  • @TLama 当然。但是您不能使用Run 来执行您从Code 部分创建/下载的文件(可能除了那些带有“安装后”标志的文件,这对于OP 的目的是不可用的)。
  • @Martin,您可以(这取决于),但仍然没有提及 OP 何时下载这些文件。我希望在安装之前。但是,我个人更愿意在安装之前先安装它们,所以[Run] 部分对我来说不是最佳选择。

标签: inno-setup pascal pascalscript


【解决方案1】:

如果另一个安装已经在运行,一些安装程序甚至不会运行。

所以我肯定会使用ewWaitUntilTerminated

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-30
    • 1970-01-01
    • 2017-03-27
    • 2011-05-15
    相关资源
    最近更新 更多