如何通过Inno Setup将值传递给msi

时间:2010-03-22 11:53:48

标签: windows-installer inno-setup bootstrapper

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

等待回复。

谢谢和问候, VARUN

2 个答案:

答案 0 :(得分:1)

您可以使用:

function ParamStr(Index: Integer): String;

描述的: 返回传递给Setup或Uninstall的Index-th命令行参数。

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

答案 1 :(得分: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文件。