开发者

How to pass values to msi through Inno Setup

I'm using Innosetup as a bootstrapper for my msi setup. It packs the main mis file and other prerequisites. It works fine when we use full UI. Now i want to install the whole setup in silent mode. For InnoSetup we can give /SILENT OR /VERYSILENT. How can i pass values to msi (i.e., Unlock Key, Features to be installed etc.). If i install msi alone, i can able to give it in a command line. But when using as a single exe, how can i give it ? should i write any inf or bat files for this ? The same exe will be used to install in silent mode as well as in full UI.

Waiting for the reply开发者_StackOverflow中文版.

Thanks and Regards, Varun


You can use:

function ParamStr(Index: Integer): String;

Description: Returns the Index-th command line parameter passed to Setup or Uninstall.

In your script you can run msi with value from ParamStr[i].


This is my solution for mariadb installer. In the run section put:

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

My problem was with double quotation marks after /i and once the ones were removed, the installation was performed perfectly and silently (/ qb) and create a log.txt file for mariadb installation.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜