【发布时间】: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