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.
精彩评论