Skip to content

ExePackage element

Describes a single exe package to install.

Attributes

After

string

The identifier of another package that this one should be installed after. By default the After attribute is set to the previous sibling package in the Chain or PackageGroup element. If this attribute is specified ensure that a cycle is not created explicitly or implicitly.

Bundle

yesno

Indicates the package is a WiX bundle. The default is “no”. If “yes”, then the default Protocol value is “burn”. The engine will prepend command line arguments such as “-norestart” for all operations, as well as avoid running this bundle as a related bundle.

Cache

KeepRemoveForceTypeUnion

Whether to cache the package. The default is “keep”.

CacheId

string

The identifier to use when caching the package.

Compressed

YesNoDefaultTypeUnion

Whether the package payload should be embedded in a container or left as an external payload. Must not be specified if the package payload is given by the *PackagePayload element.

Description

string

Specifies the description to place in the bootstrapper application data manifest for the package. By default, ExePackages use the FileName field from the version information, MsiPackages use the ARPCOMMENTS property, and MspPackages use the Description patch metadata property. Other package types must use this attribute to define a description in the bootstrapper application data manifest.

DetectCondition

string

A condition that determines if the package is present on the target system. This condition can use built-in variables and variables returned by searches. This condition is necessary because Windows doesn’t provide a method to detect the presence of an ExePackage. Burn uses this condition to determine how to treat this package during a bundle action; for example, if this condition is false or omitted and the bundle is being installed, Burn will install this package.

DisplayName

string

Specifies the display name to place in the bootstrapper application data manifest for the package. By default, ExePackages use the ProductName field from the version information, MsiPackages use the ProductName property, and MspPackages use the DisplayName patch metadata property. Other package types must use this attribute to define a display name in the bootstrapper application data manifest.

DownloadUrl

string

The URL to use to download the package. The following substitutions are supported:

  • {0} is replaced by the package Id.
  • {1} is replaced by the payload Id.
  • {2} is replaced by the payload file name. Must not be specified if the package payload is given by the *PackagePayload element.

Id

string

Identifier for this package, for ordering and cross-referencing. The default is the Name attribute modified to be suitable as an identifier (i.e. invalid characters are replaced with underscores).

InstallArguments

string

The command-line arguments provided to the ExePackage during install. If this attribute is absent the executable will be launched with no command-line arguments.

InstallCondition

string

A condition to evaluate before installing the package. The package will only be installed if the condition evaluates to true. If the condition evaluates to false and the bundle is being installed, repaired, or modified, the package will be uninstalled.

InstallSize

string

The size this package will take on disk in bytes after it is installed. By default, the binder will calculate the install size by scanning the package (File table for MSIs, Payloads for EXEs) and use the total for the install size of the package.

LogPathVariable

string

Name of a Variable that will hold the path to the log file. An empty value will cause the variable to not be set. The default is “WixBundleLog_[PackageId]” except for MSU packages which default to no logging.

Name

string

The destination path and file name for this chain payload. Use this attribute to rename the chain entry point or extract it into a subfolder. The default value is the file name from the SourceFile attribute, if provided. At a minimum, the Name or SourceFile attribute must be specified. This must be a relative path (‘\foo’ or ‘C:\foo’ is not allowed). Must not be specified if the package payload is given by the *PackagePayload element.

PerMachine

YesNoDefaultTypeUnion

Indicates the package must be executed elevated. The default is “no”.

Permanent

yesno

Specifies whether the package can be uninstalled. The default is “no”.

PrereqLicenseFile, from extension namespace http://wixtoolset.org/schemas/v4/wxs/bal

string

Source file of the RTF license file. There may only be one package in the bundle that has either the PrereqLicenseFile attribute or the PrereqLicenseUrl attribute.

PrereqLicenseUrl, from extension namespace http://wixtoolset.org/schemas/v4/wxs/bal

string

URL target of the license link. There may only be one package in the bundle that has either the PrereqLicenseFile attribute or the PrereqLicenseUrl attribute.

PrereqPackage, from extension namespace http://wixtoolset.org/schemas/v4/wxs/bal

wxs:YesNoTypeUnion

When set to “yes”, the Prereq BA will plan the package to be installed if its InstallCondition is “true” or empty.

PrimaryPackageType, from extension namespace http://wixtoolset.org/schemas/v4/wxs/bal

Used by WixInternalUIBootstrapperApplication to determine which package is the primary package. The default value is “default”. This attribute’s value must be one of the following:

  • default: This package is used unless there is a package for the runtime machine’s architecture.
  • x86: This package is used when the runtime machine’s OS is x86 (IMAGE_FILE_MACHINE_I386).
  • x64: This package is used when the runtime machine’s OS is x64 (IMAGE_FILE_MACHINE_AMD64).
  • arm64: This package is used when the runtime machine’s OS is ARM64 (IMAGE_FILE_MACHINE_ARM64).

Protocol

BurnExeProtocolType

Indicates the communication protocol the package supports for extended progress and error reporting. The default is “none”. This attribute’s value must be one of the following:

  • none: The executable package does not support a communication protocol.
  • burn: The executable package implements the Burn communication protocol.
  • netfx4: The executable package implements the .NET Framework v4.0 communication protocol.

RepairArguments

string

The command-line arguments to specify to indicate a repair. If the executable package can be repaired but does not require any special command-line arguments to do so then set the attribute’s value to blank. To indicate that the package does not support repair, omit this attribute.

RepairCondition

string

A condition that determines during Repair if the package will be repaired by default. This condition can use built-in variables and variables returned by searches. This attribute may only be specified if RepairArguments is also specified.

RollbackLogPathVariable

string

Name of a Variable that will hold the path to the log file used during rollback. An empty value will cause the variable to not be set. The default is “WixBundleRollbackLog_[PackageId]” except for MSU packages which default to no logging.

SourceFile

string

Location of the package to add to the bundle. The default value is the Name attribute, if provided. At a minimum, the SourceFile or Name attribute must be specified. Must not be specified if the package payload is given by the *PackagePayload element.

UninstallArguments

string

The command-line arguments provided to the ExePackage during uninstall. If this attribute is absent the executable will be launched with no command-line arguments. To prevent an ExePackage from being uninstalled set the Permanent attribute to “yes”.

Vital

yesno

Specifies whether the package must succeed for the chain to continue. The default “yes” indicates that if the package fails then the chain will fail and roll back or stop. If “no” is specified then the chain will continue even if the package reports failure.

Children

Parents