PreviousNext
Macrovision

Microsoft Build Engine (MSBuild)

InstallShield 2008

InstallShield supports the Microsoft Build engine (MSBuild) included with the .NET Framework. MSBuild support enables you to build Visual Studio solutions with InstallShield projects in build lab environments where Visual Studio is not installed.

Overview

MSBuild is an extensible build framework designed to remove the build dependence on Visual Studio. The .NET Framework functions in a role similar to the InstallShield Standalone Build, providing the capability to build projects or solutions from the command line or any other host of MSBuild. For more information on MSBuild, see the MSDN Library.

MSBuild Tasks

The flexibility and extensibility of MSBuild is controlled through atomic groupings of internal build steps referred to as tasks. One example of a task that ships with MSBuild is Csc, which can compile code from a Visual C# project. InstallShield installs an MSBuild task called InstallShield, which builds an InstallShield project, and a targets file that provides default build steps for the project. This customized task, along with the targets file, enables MSBuild to perform all required actions to build the InstallShield project as part of a Visual Studio solution.

This table describes the parameters of the InstallShield task.

MSBuild InstallShield Task

Parameter

Type

Description

InstallShield Path

String

This parameter specifies the path to folder containing the InstallShield application.

Project

String

This parameter specifies the location of the project file (.ism).

ProductConfiguration

String

This parameter specifies the product configuration for the release.

ReleaseConfiguration

String

This parameter specifies the release name.

OutDir

String

This parameter specifies the fully qualified path to the folder where you want the output folders and files to be placed.

MergeModulePath

String[ ]

This parameter specifies one or more folders that contain the merge module files (.msm) referenced by your project. The default is the folder that contains the Standalone Build, which by default does not contain any merge modules.

ReleaseFlags

String[ ]

This parameter enables you to specify any release flags that you want to include in your release. Separate multiple flags with commas.

PathVariables

ITaskItem[ ]

This parameter enables you to override the path variables for the project. Using this parameter, you can specify the path to the path variable and also define a value for the name of the path variable using the PathVariable subelement.

For more information on MSBuild ITaskItem[ ] properties, see the MSDN Library.

PreprocessorDefines

ITaskItem[ ]

This parameter enables you to add or override the preprocessor defines for the project. Using this parameter, you can specify the definition of the preprocessor define and also define a value for the name of the preprocessor define using the Token subelement.

For more information on MSBuild ITaskItem[ ] properties, see the MSDN Library.

OutputGroups

ITaskItem[ ]

This parameter specifies the project output groups from the Visual Studio solution. Using this parameter, you can specify the path to the source location of the project output group and also define these additional values using these subelements as listed:

  • Name—Name of the project
  • OutputGroup—Name of the project output group
  • TargetPath—Target path of the project output group (different from its source location)

For more information on MSBuild ITaskItem[ ] properties, see the MSDN Library.

Build

String

This parameter specifies what type of build to perform. You can choose from these types of builds:

  • Complete
  • Compile
  • Tables
  • TablesAndFiles
  • UpgradeOnly

BuildCompressed

Boolean

This parameter is specific to Windows Installer projects. It specifies whether your release is compressed into one file or remains uncompressed in multiple files.

BuildSetupExe

Boolean

This parameter specifies whether you want to create a Setup.exe file along with your installation.

ProductVersion

String

This parameter specifies the product version. This is especially helpful if you want to increment the build version (the third field) of the product version.

For information on valid product version numbers, see Specifying the Product Version.

RunMsiValidator

String

This parameter enables you validate the .msi package using a .cub file.

RunUpgradeValidation

Boolean

This parameter specifies whether or not to run upgrade validation.

StopOnFirstError

Boolean

This parameter specifies whether or not to stop the build after an initial error.

MsiVersion

String

This parameter specifies the minimum version of Windows Installer that the installation can accept on the target machine.

DotNetFrameworkVersion

String

This parameter specifies the minimum version of the .NET Framework that the installation can accept on the target machine.

Disk1Folder

Output String

This parameter specifies the location of the output folder.

MSBuild Scripts

MSBuild natively understands one file format: its XML build script, which is used as the project file format for Visual C# and Visual Basic .NET projects (.csproj and .vbproj). MSBuild also has internal hooks to handle solution files and the Visual C++ project file format (.sln and .vcproj).

The InstallShield integration with Visual Studio uses an MSBuild-compatible XML format project file (.isproj), which enables MSBuild to seamlessly build Visual Studio solutions that include InstallShield projects. To build solutions in a standalone environment, install the InstallShield Standalone Build on the build machine.

See Also




Copyright Information | Contact Macrovision