2

我使用 Innosetup 作为我的 msi 设置的引导程序。它打包了主要的 mis 文件和其他先决条件。当我们使用完整的 UI 时,它工作得很好。现在我想以静默模式安装整个设置。对于 InnoSetup,我们可以给出 /SILENT 或 /VERYSILENT。我如何将值传递给 msi(即解锁密钥、要安装的功能等)。如果我单独安装 msi,我可以在命令行中提供它。但是当作为单个 exe 使用时,我该如何给它呢?我应该为此编写任何 inf 或 bat 文件吗?相同的 exe 将用于以静默模式和完整 UI 进行安装。

等待回复。

谢谢和问候, 瓦伦

4

2 回答 2

1

您可以使用:

function ParamStr(Index: Integer): String;

说明:返回传递给安装程序或卸载程序的第 Index-th 命令行参数。

在您的脚本中,您可以使用来自 ParamStr[i] 的值运行 msi。

于 2010-03-22T20:46:24.000 回答
0

这是我的 mariadb 安装程序解决方案。在运行部分放:

Filename: "msiexec.exe"; Parameters: "/i {app}\mariadb-5.2.9-win32.msi PORT=3306 PASSWORD=xxxxxx SERVICENAME=MySQL ADDLOCAL=ALL REMOVE=DEVEL,HeidiSQL INSTALLDIR=""C:\mariadb"" /L*v log.txt /qb"; WorkingDir: {app}; Flags: waituntilterminated skipifdoesntexist

我的问题是 /i 之后的双引号,一旦删除,安装就会完美无声地执行(/qb),并为 mariadb 安装创建一个 log.txt 文件。

于 2020-04-29T15:15:56.360 回答