![]()
|
InstallShield 2009
You can build a release from the command line using ISCmdBld.exe for Windows Installerbased projects and for InstallScript projects. If your project includes InstallScript, ISCmdBld.exe also compiles it before building the release.
The following statement illustrates running ISCmdBld.exe to build the release Othello Beta:
ISCmdBld.exe -p "C:\InstallShield 2009 Projects\My Othello Project\Othello.ism" -r "Othello Beta" -c COMP -a "Build 245"
The first parameter in the example above, starting with -p, is the path to the .ism file that you would like to build. Next, -r Othello Beta is the name of the release. The parameter -c COMP specifies that you would like your package to be compressed into one file. Finally, -a "Build 245" points to the specific product configuration.
If a build error occurs during a command-line build, InstallShield sets the environment variable ERRORLEVEL to 1. If the build completes without any errors, ERRORLEVEL is set to 0.
Project
Some of the ISCmdBld.exe command-line parameters are applicable to only certain project types. The available parameters are organized into the following categories:
| Parameter |
Project Type |
Description |
|---|---|---|
| -b <build location> |
Basic MSI, InstallScript, InstallScript MSI, InstallScript Object, Merge Module, Web |
The fully qualified path to the folder where you want the output folders and files to be placed. UNC paths are acceptable. The built installations files will be located in the Disk Images\Disk1 subfolder of the location that you specify. This parameter is optional. If it is left unspecified, the build will place the build package and files in the directory specified in the File Locations tab of the Options dialog box. Enclose long file names in quotation marks. |
| -i <.ini file path> |
Basic MSI, InstallScript, InstallScript MSI, InstallScript Object, Merge Module, Web |
Instead of passing all of your parameters on the command line, you can include them all in an initialization (.ini) file and call that file from the command line. For more information, see Passing Command-Line Build Parameters in an .ini File. Absolute and relative paths are acceptable. Enclose long file names in quotation marks. |
| -l <path variable>="new path" |
Basic MSI, InstallScript, InstallScript MSI, InstallScript Object, Merge Module, Web |
Use this parameter to override a path variable that has been specified in the Path Variables view. This parameter can be specified multiple times, one per path variable override. For example: ISCmdBld.exe -l VariableName="C:\Path" |
| -n |
Basic MSI, InstallScript, InstallScript MSI, InstallScript Object, Merge Module, Web |
Specify this parameter if you do not want Setup.rul compiled as part of the build process. Note that if you are building from the command line and specifying an .ini file with the build settings, you can specify the following in the [Project] section of the .ini file, instead of adding the -n command line build flag: [Project] CompileScript=No Like the command-line build flag, this CompileScript keyword helps you specify whether Setup.rul should be compiled as part of the build process.
The -n parameter cannot be used with the -q3 parameter. |
| -o <merge module search path> |
Basic MSI, InstallScript, InstallScript MSI, Web |
This parameter specifies one or more comma-delimited folders that contain the merge module (.msm) files referenced by your project. The default is the folder that contains the ISCmbldBld.exe tool. By default, these two locations do not contain any merge modules.
Although this parameter is optional, you may need to use it whenever you are building a release that has one or more merge modules, since the merge modules may not be in the default location. |
| -p <project location> |
Basic MSI, InstallScript, InstallScript MSI, InstallScript Object, Merge Module, Web |
Pass the path to the project (.ism) file. This path can be fully qualified, relative, or just the file name. If only the project file name is passed, the file is retrieved relative to the current working directory. For example: ISCmdBld.exe -p "C:\InstallShield 2009 Projects\MyProject1\MyProject1.ism" UNC paths are also acceptable. Enclose long file names in quotation marks. This is the only required parameter. |
| -q2 |
Basic MSI, InstallScript, InstallScript MSI, InstallScript Object, Merge Module, Web |
For Basic MSI, InstallScript MSI, Merge Module, and Web projects: Builds the Windows Installer tables and refreshes files. This option rebuilds your .msi file and updates the Files table, including any new or changed files in your installation. Changed files are updated only if the size or time stamp differs from the copy already included in the build. References to deleted files are removed from the installation, but the file remains in the build location. This type of build can be run only after a complete build has been performed, and it works only when the media is an uncompressed network image. For InstallScript and InstallScript Object projects: Rebuilds only those portions of the release that have changed since the last build. If this parameter is not used, the entire file media library is rebuilt.
The -q2 parameter cannot be used with the -q1 or -q3 parameters. |
| -q3 |
Basic MSI, InstallScript, InstallScript MSI, InstallScript Object, Merge Module, Web |
Compiles only Setup.rul. For Basic MSI projects, this parameter also streams ISSetup.dll into the Binary table of the .msi package, if one was previously built.
The -q3 parameter cannot be used with the -q2 or -q3, or -n parameters.
This parameter does not upgrade the project. If your project was created with InstallShield Developer 8 or earlier, you should upgrade it to the latest version of InstallShield before using -q3. For example, use -u to upgrade. |
| -r <release name> |
Basic MSI, InstallScript, InstallScript MSI, InstallScript Object, Merge Module, Web |
The release name as specified in the Releases view. You can use an existing release name or create a new one. Although this parameter is not required, you should include it if you are including -a, the parameter for product configurations. |
| -s |
Basic MSI, InstallScript, InstallScript MSI, InstallScript Object, Merge Module, Web |
This parameter enables you to build your release in silent mode. Silent builds are useful if you want to run the build without displaying any errors or warning messages. This parameter is optional. |
| -w |
Basic MSI, InstallScript, InstallScript MSI, InstallScript Object, Merge Module, Web |
This parameter treats warnings that occur during the build process as errors. Each warning increments the error count by one. |
| -x |
Basic MSI, InstallScript, InstallScript MSI, InstallScript Object, Merge Module, Web |
If you want the build to stop when it encounters an error, use the -x parameter. If you want the build to stop when it encounters a warning, use this parameter in conjunction with the -w parameter. |
| Parameter |
Project Type |
Description |
|---|---|---|
| -a <product configuration> |
Basic MSI, InstallScript MSI, Merge Module, Web |
This parameter specifies the product configuration for the release. If it does not exist, it is created. Although this parameter is not required, you should include it if you are including the parameter for the release name. |
| -c <release configuration> |
Basic MSI, InstallScript MSI, Web |
This parameter enables you to specify whether your release is compressed into one file or remains uncompressed in multiple files. The valid arguments for this parameter are COMP and UNCOMP. To specify that your release be compressed into one file, use the COMP argument. If you do not want your release compressed, use the UNCOMP argument. If the parameter is omitted for a release that already exists, the configuration is based on what was specified in the InstallShield interface. If the parameter is omitted for a new release, the files remain uncompressed. |
| -d <variable name>=preprocessor define> |
Basic MSI, InstallScript MSI, Web |
Use this parameter to provide a preprocessor definition that is applicable to your InstallScript. To specify more than one preprocessor definition, separate each with a comma, as in the following example: ISCmdBld.exe -d VARIABLENAME1=Value1,VARIABLENAME2=Value2 If you reference the preprocessor in InstallScript, use either of the following formats: That is, for #ifdef statements, you can use just the value name. For #if statements, use a name=value pair. This parameter is optional.
It is recommended that you use this command-line parameter only if a preprocessor is not defined in either of the following areas in InstallShield: If you define a preprocessor in either of these areas in InstallShield and then you use the -d command-line parameter to define the same preprocessor, ISCmdBld.exe displays a cannot-define-symbol message to inform you that the preprocessor cannot be redefined through an InstallShield project or product configuration setting. |
| -e <Y/N> |
Basic MSI, InstallScript MSI, Merge Module, Web |
For installation projects, this parameter specifies whether you want to create a Setup.exe file along with your installation. Specify -e Y to build Setup.exe or -e N to just create an installation. For merge module projects, the meaning of -e is different from installation projects. Specifying -e n will cause the merge module to be built and then copied to the merge modules folder. Specifying -e Y will cause the merge module to only be built but not copied to the merge modules folder. |
| -f <release flags> |
Basic MSI, InstallScript MSI, Web |
Use this parameter to specify any release flags that you would like to include in your release. Separate multiple flags with commas. |
| -g <minimum target MSI version> |
Basic MSI, InstallScript MSI, Merge Module, Web |
Use this parameter to specify the minimum version of Windows Installer that the installation requires on the target machine for example, 2.0.2600.0. This parameter is optional. The default is the latest version of Windows Installer that the InstallShield interface supports. |
| -h |
Basic MSI, InstallScript MSI, Web |
To skip the upgrade validators at the end of the build, use this parameter. |
| -j <minimum target Microsoft .NET Framework version> |
Basic MSI, InstallScript MSI, Web |
This parameter specifies the minimum version of the .NET Framework that the installation requires on the target machinefor example, 1.0.3705.2. This parameter is optional. The default is the latest version of the .NET Framework that the InstallShield interface supports. |
| -m <.cub file name> |
Basic MSI, InstallScript MSI, Merge Module, Web |
Use this parameter if you want to validate the installation or merge module package after it is built. Pass the path of the .cub file name with this parameter. Absolute and relative paths are acceptable. To use multiple .cub files, separate each path with a semicolon (;). Enclose long file names in quotation marks. For example, in the following command line, the -m parameter indicates that validation should be performed with the InstallShield Certified for Windows Vista Validation Suite (ISVista.cub) and the Full MSI Validation Suite (darice.cub): ISCmdBld.exe -m "..\Support\Validation\isvista.cub;..\Support\Validation\darice.cub" |
| -q1 |
Basic MSI, InstallScript MSI, Merge Module, Web |
Builds only the Windows Installer tables for your release. If you have not built this installation already, a new .msi file is created, but no files are added to your installation. If you have built your installation already, the .msi file is updated when all the tables are built, but, again no files are transferred. Ideally, this option is to be used to test the user interface of your installation.
The -q1 parameter cannot be used with the -q2 or -q3 parameters. |
| -t <Microsoft .NET Framework path> |
Basic MSI, InstallScript MSI, Web |
This parameter specifies the path to the Microsoft .NET Framework. The path is the location of the .NET Framework that is installed on the build machine. This is not the path to DotNetFx.exe redistributables. Specifically, this is the path to Regasm.exe. Only the path is needed. |
| -u |
Basic MSI, Web |
This parameter enables you to upgradebut not buildyour release. You can use this parameter to upgrade an installation project that you created using InstallShieldWindows Installer Edition version 2.03 or earlier. |
| -y <product version> |
Basic MSI, InstallScript MSI, Merge Module, Web |
This parameter enables you to specify a product version from the command line. This is especially helpful if you want to increment the build version (the third field) of the product version. For example, to set the product version to 1.0.5: ISCmdBld.exe -y "1.0.5" For information on valid product version numbers, see Specifying the Product Version. This parameter is optional. |
| -z <property name>=property value |
Basic MSI, InstallScript MSI, Merge Module, Web |
This parameter enables you to override the value of a Windows Installer property. For example, to set the value of the property called PropertyName to PropertyValue, use the following command line: IsCmdBld.exe -z PropertyName=PropertyValue If you want to set the value to a string that includes one or more spaces, use quotation marks; for example, to set the value of the property called PropertyName to My Property Value, use the following command line: IsCmdBld.exe -z "PropertyName=My Property Value" If you specify a property that does not exist in the Property table, InstallShield creates the property in the .msi file that it builds. If you specify both the -y parameter to override the product version, and the -z parameter to override the ProductVersion property, InstallShield uses the value specified for the -y parameter. This parameter is optional. |
See Also
Using ISCmdBld.exe to Build a Release from the Command Line
|
|
Copyright Information | Contact Acresso |