Passing Command-Line Build Parameters in an .ini File

InstallShield 2019

Project • This information applies to the following project types:

Basic MSI
InstallScript
InstallScript MSI
InstallScript Object
Merge Module

If you want to pass numerous parameters during a command-line build, or if you consistently pass the same parameters, it might be convenient to use an .ini file. The following statement illustrates running ISCmdBld.exe to build a release with parameters as specified in the MySetup.ini file.

ISCmdBld.exe -i "C:\InstallShield 2019 Projects\MySetup.ini"

You need to include the same information in the .ini file as you would if you were passing the parameters at the command line. There are four sections for this file:

[Project]—In this section, include entries for the path to the project file (.ism), as well as the name of the product configuration. If you are building a patch, include an entry for the name of the patch configuration that you are building.
[Release]—In this section, include entries for release configuration information such as the compression type (compressed or uncompressed), build flags, Setup.exe settings, and the release name.
[Mode]—In this section, include any of the available optional entries, such as the Silent=yes entry if you want to build your release while suppressing any build errors or warning messages. This section also lets you indicate whether a log file should be created.
[BuildLocation]—In this section, you can optionally specify the release output location.

Not all sections are required. As with passing parameters directly from the command line, parameters for requirements such as silent build and build location are optional. In the example .ini file below, these parameters are in the [Mode] and [BuildLocation] sections. You can omit these entries from your .ini file if you want to accept the defaults. By default, no log file is created, the installation is not run in silent mode, and your release is created in the project location that is specified on the File Locations tab of the Options dialog box.

Sample .ini File

The following tables contain sample entries from each of the four sections in a sample .ini file. The first column of each table shows a sample entry. The other columns provide the corresponding command-line parameter and description.

Entries in the [Project] Section

Sample Entries in the [Project] Section of the .ini File

Entry

Corresponding ISCmdBld.exe Command-Line Parameter

Description

Name="C:\InstallShield 2019 Projects\Othello.ism"

-p

Path to the .ism file.

BuildLabel=Label1

-a

Name of the product configuration for the release that you are building. If it does not exist, it is created.

Product=Othello

 

Name of your product. This entry lets you override the value that is specified in the General Information view.

PatchConfigName=“Version 1.2”

-patch_config

Name of the patch configuration in the Patch Design view that you want to build.

CompileScript=no

-n

Ensures that Setup.rul is not compiled as part of the build process.

Note • CompileOnly should not be used with CompileScript.

Entries in the [Release] Section

Sample Entries in the [Release] Section of the .ini File

Entry

Corresponding ISCmdBld.exe Command-Line Parameter

Description

BuildFlags=flags

-f

Release flags to be included in the installation, separated by commas.

Configuration=COMP

-c

Compressed vs. uncompressed.

Name=Othello Beta

-r

Release name.

SetupEXE=yes

-e

Creates a Setup.exe file.

Entries in the [Mode] Section

Sample Entries in the [Mode] Section of the .ini File

Entry

Corresponding ISCmdBld.exe Command-Line Parameter

Description

CubFile="C:\Program Files\InstallShield\2019\Support\Validation\MyValidation.cub"

-m

Validate the installation or merge module package after it is built using the specified .cub file. Include the full path and name to the .cub file.

To use multiple .cub files, separate each path with a semicolon (;). Enclose long file names in quotation marks.

For example, the following entry indicates that validation should be performed with the InstallShield Validation Suite for Windows 8 (ISWin8.cub) and the Full MSI Validation Suite (darice.cub):

CubFile="C:\Program Files\InstallShield\2019\Support\Validation\ISWin8.cub;C:\Program Files\InstallShield\2019\Support\Validation\darice.cub"

Silent=yes

-s

Runs in silent mode.

StopOnFirstError=yes

-x

Aborts the build when the first error is encountered.

CompileOnly=no

-q3

Compiles only Setup.rul and streams Setup.inx into the Binary table of the .msi file, if one was previously built.

Note • The entries CompileOnly, BuildTablesRefreshFiles, and BuildTablesOnly are mutually exclusive. Only one can be set to yes.

CompileOnly should not be used with CompileScript.

BuildTablesRefreshFiles=no

-q2

Builds the Windows Installer tables and refreshes files.

Note • The entries CompileOnly, BuildTablesRefreshFiles, and BuildTablesOnly are mutually exclusive. Only one can be set to yes.

BuildTablesOnly=yes

-q1

Builds only the Windows Installer tables for your release.

Note • The entries CompileOnly, BuildTablesRefreshFiles, and BuildTablesOnly are mutually exclusive. Only one can be set to yes.

UpgradeOnly=no

-u

Allows you to upgrade—but not build—your release.

Verbose=yes

-v

Generates an engine log file.

WarningAsError=yes

-w

Treats any build warnings as build errors.

MSIVersion=2.0

-g

Version of Windows Installer required on target system.

Note • This entry applies to the Standalone Build only.

DotNetVersion=

-j

Minimum version of Microsoft .NET Framework required on the target system. This parameter is optional and defaults to the latest version of the .NET Framework supported by InstallShield.

Note • This entry applies to the Standalone Build only.

DotNetPath="C:\..."

-t

Path to the Microsoft .NET Framework on the build machine.

Note • This entry applies to the Standalone Build only.

SkipValidators=yes

-h

Enables you to turn off the upgrade validators that normally run at the end of the build.

Note • This entry applies to the Standalone Build only.

MergeModulePath="C:\..."

-o

Search path for merge modules (.msm files).

For more information, see Specifying the Directories that Contain Merge Modules.

Note • This entry applies to the Standalone Build only.

PrerequisitePath="C:\..."

-prqpath

Search path for InstallShield prerequisite files (.prq).

For more information, see Specifying the Directories that Contain InstallShield Prerequisites.

Note • This entry applies to the Standalone Build only.

Entries in the [BuildLocation] Section

Sample Entries in the [BuildLocation] Section of the .ini File

Entry

Corresponding ISCmdBld.exe Command-Line Parameter

Description

Path="C:\InstallShield 2019 Projects\Othello"

-b

Release output location.

For more information about the .ini file entries, see Building a Release from the Command Line.

See Also