user298977
user298977

Reputation: 21

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.

Thanks and Regards, Varun

Upvotes: 2

Views: 1720

Answers (2)

Daniele
Daniele

Reputation: 186

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.

Upvotes: 0

Sasha
Sasha

Reputation: 1978

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].

Upvotes: 1

Related Questions