WiX Database XML Schema

Table of Contents

WiX Database XML Schema

Description

Schema for describing Windows Installer database files (.msi/.msm/.pcp).

Namespace

http://schemas.microsoft.com/wix/2006/wi

Remarks

Copyright (c) Microsoft Corporation. All rights reserved.

The use and distribution terms for this software are covered by the Common Public License 1.0 (https://opensource.org/licenses/cpl1.0.php) which can be found in the file CPL.TXT at the root of this distribution. By using this software in any fashion, you are agreeing to be bound by the terms of this license.

You must not remove this notice, or any other, from this software.

See Also

Elements | Attributes | Complex Types | Simple Types

Elements: WiX Database

Elements

Name  Description 
AdminExecuteSequence   
AdminUISequence   
AdvertiseExecuteSequence   
AllocateRegistrySpace  Ensures the needed amount of space exists in the registry.
AppData  Optional way for defining AppData, generally used for complex CDATA.
AppId  Application ID containing DCOM information for the associated application GUID.

AppSearch  Uses file signatures to search for existing versions of products.
AssemblyName  The MsiAssemblyName table specifies the schema for the elements of a strong assembly cache name for a .NET Framework or Win32 assembly.

Billboard  Billboard to display during install of a Feature
BillboardAction  Billboard action during which child Billboards are displayed
Binary  Binary data used for CustomAction elements and UI controls.
BinaryRef  Used only for PatchFamilies to include only a binary table entry in a patch.
BindImage  Binds each executable or DLL that must be bound to the DLLs imported by it.
Category  Qualified published component for parent Component
CCPSearch  Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed.
Class  COM Class registration for parent Component.
Column  Column definition for a Custom Table
ComboBox  Set of items for a particular ComboBox control tied to an install Property
ComplianceCheck  Adds a row to the CCPSearch table.
ComplianceDrive  Sets the parent of a nested DirectorySearch element to CCP_DRIVE.
Component  Component for parent Directory
ComponentGroup  Groups together multiple components to be used in other locations.
ComponentGroupRef  Create a reference to a ComponentGroup in another Fragment.
ComponentRef  Create a reference to a Feature element in another Fragment.
ComponentSearch  Searches for file or directory and assigns to value of parent Property.
Condition  Conditions for components, controls, features, and products.
Configuration  Defines the configurable attributes of merge module.
ConfigurationData  Data to use as input to a configurable merge module.
Control  Contains the controls that appear on each dialog.
CopyFile  Copy or move an existing file on the target machine, or copy a file that is being installed, to another destination.
CostFinalize  Ends the internal installation costing process begun by the CostInitialize action.
CostInitialize  Initiates the internal installation costing process.
CreateFolder  Create folder as part of parent Component.
CreateFolders  Creates empty folders for components that are set to be installed.
CreateShortcuts  Manages the creation of shortcuts.
Custom  Use to sequence a custom action.
CustomAction  Specifies a custom action to be added to the MSI CustomAction table.
CustomActionRef  This will cause the entire contents of the Fragment containing the referenced CustomAction to be included in the installer database.
CustomProperty  A custom property for the PatchMetadata table.
CustomTable  Defines a custom table for use from a custom action.
Data  Used for a Custom Table. Specifies the data for the parent Row and specified Column.
DeleteServices  Stops a service and removes its registration from the system.
Dependency  Declares a dependency on another merge module.
Dialog  Defines a dialog box in the Dialog Table.
DialogRef  Reference to a Dialog.
DigitalCertificate  Adds a digital certificate.
DigitalSignature  Adds a digital signature.
Directory  Directory layout for the product.
DirectoryRef  Create a reference to a Directory element in another Fragment.
DirectorySearch  Searches for directory and assigns to value of parent Property.
DirectorySearchRef  References an existing DirectorySearch element.
DisableRollback  Disables rollback for the remainder of the installation.
DuplicateFiles  Duplicates files installed by the InstallFiles action.
EmbeddedChainer   
EmbeddedChainerRef  Reference to an EmbeddedChainer element.
EmbeddedUI  Element value is the condition.
EmbeddedUIResource  Defines a resource for use by the embedded UI.
EnsureTable  Use this element to ensure that a table appears in the installer database, even if its empty.
Environment  Environment variables added or removed for the parent component.
Error   
Exclusion  Declares a merge module with which this merge module is incompatible.
ExecuteAction  Initiates the execution sequence.
Extension  Extension for a Component
ExternalFile  Contains information about specific files that are not part of a regular target image.
Family  Group of one or more upgraded images of a product.
Feature  A feature for the Feature table.
FeatureGroup  Groups together multiple components, features, and merges to be used in other locations.
FeatureGroupRef  Create a reference to a FeatureGroup in another Fragment.
FeatureRef  Create a reference to a Feature element in another Fragment.
File  File specification for File table, must be child node of Component.
FileCost  Initiates dynamic costing of standard installation actions.
FileSearch  Searches for file and assigns to fullpath value of parent Property
FileSearchRef  References an existing FileSearch element.
FileTypeMask  FileType data for class Id registration.
FindRelatedProducts  Runs through each record of the Upgrade table in sequence and compares the upgrade code, product version, and language in each row to products installed on the system.
ForceReboot  Prompts the user for a restart of the system during the installation.
Fragment  The Fragment element is the building block of creating an installer database in WiX.
Icon  Icon used for Shortcut, ProgId, or Class elements (but not UI controls)
IconRef  Used only for PatchFamilies to include only a icon table entry in a patch.
IgnoreModularization  This element has been deprecated.
IgnoreRange  Specifies part of a file that is to be ignored during patching.
IgnoreTable  Specifies a table from the merge module that is not merged into an .msi file.

Include  This is the top-level container element for every wxi file.
IniFile  Adds or removes .ini file entries.
IniFileSearch  Searches for file, directory or registry key and assigns to value of parent Property
InstallAdminPackage  Copies the product database to the administrative installation point. The condition for this action may be specified in the element's inner text.
InstallExecute  Runs a script containing all operations spooled since either the start of the installation or the last InstallExecute action, or InstallExecuteAgain action.
InstallExecuteAgain  Runs a script containing all operations spooled since either the start of the installation or the last InstallExecute action, or InstallExecuteAgain action.
InstallExecuteSequence   
InstallFiles  Copies files specified in the File table from the source directory to the destination directory.
InstallFinalize  Marks the end of a sequence of actions that change the system.
InstallInitialize  Marks the beginning of a sequence of actions that change the system.
InstallODBC  Installs the drivers, translators, and data sources in the ODBCDriver table, ODBCTranslator table, and ODBCDataSource table.
InstallServices  Registers a service for the system.
InstallUISequence   
InstallValidate  Verifies that all costed volumes have enough space for the installation.
Instance  Defines an instance transform for your product.
InstanceTransforms  Use this element to contain definitions for instance transforms.
Interface  COM Interface registration for parent Typelib.
IsolateComponent  Shared Component to be privately replicated in folder of parent Component
IsolateComponents  Installs a copy of a component (commonly a shared DLL) into a private location for use by a specific application (typically an .exe).
LaunchConditions  Queries the LaunchCondition table and evaluates each conditional statement recorded there.
ListBox  Set of items for a particular ListBox control tied to an install Property
ListItem  The value (and optional text) associated with an item in a ComboBox, ListBox, or ListView.
ListView  Set of items for a particular ListView control tied to an install Property
Media  Media element describes a disk that makes up the source media for the installation.
Merge  Merge directive to bring in a merge module that will be redirected to the parent directory.
MergeRef  Merge reference to connect a Merge Module to parent Feature
MigrateFeatureStates  Used for upgrading or installing over an existing application.
MIME  MIME content-type for an Extension
Module  The Module element is analogous to the main function in a C program.
MoveFiles  Locates existing files on the system and moves or copies those files to a new location.
MsiPublishAssemblies  Manages the advertisement of CLR and Win32 assemblies.
MsiUnpublishAssemblies  Manages the unadvertisement of CLR and Win32 assemblies that are being removed.
MultiStringValue  Use several of these elements to specify each registry value in a multiString registry value.
ODBCDataSource  ODBCDataSource for a Component
ODBCDriver  ODBCDriver for a Component
ODBCTranslator  ODBCTranslator for a Component
OptimizeCustomActions  Indicates whether custom actions can be skipped when applying the patch.
Package  Properties about the package to be placed in the Summary Information Stream.
Patch  The Patch element is analogous to the main function in a C program.
PatchBaseline  Identifies a set of product versions.
PatchCertificates  Identifies the possible signer certificates used to digitally sign patches.
PatchCreation  The PatchCreation element is analogous to the main function in a C program.
PatchFamily  Collection of items that should be kept from the differences between two products.
PatchFamilyRef  This will cause the entire contents of the Fragment containing the referenced PatchFamily to be used in the process of creating a patch.
PatchFiles  Queries the Patch table to determine which patches are to be applied.
PatchInformation  Properties about the patch to be placed in the Summary Information Stream.
PatchMetadata  Properties about the patch to be placed in the PatchMetadata table.
PatchProperty  A property for this patch database.
PatchSequence  Sequence information for this patch database.
Permission  Sets ACLs on File, Registry, or CreateFolder.
ProcessComponents  Registers and unregisters components, their key paths, and the component clients.
Product  The Product element is analogous to the main function in a C program.
ProgId  ProgId registration for parent Component.
ProgressText   
Property  Property value for a Product or Module.
PropertyRef  Reference to a Property value.
ProtectFile  Specifies a file to be protected.
ProtectRange  Specifies part of a file that cannot be overwritten during patching.
Publish   
PublishComponents  Manages the advertisement of the components from the PublishComponent table.
PublishFeatures  Writes each feature's state into the system registry.
PublishProduct  Manages the advertisement of the product information with the system.
RadioButton  Text or Icon plus Value that is assigned to the Property of the parent Control (RadioButtonGroup).
RadioButtonGroup  Set of radio buttons tied to the specified Property
RegisterClassInfo  Manages the registration of COM class information with the system.
RegisterComPlus  Registers COM+ applications.
RegisterExtensionInfo  Manages the registration of extension related information with the system.
RegisterFonts  Registers installed fonts with the system.
RegisterMIMEInfo  Registers MIME-related registry information with the system.
RegisterProduct  Registers the product information with the installer.
RegisterProgIdInfo  Manages the registration of OLE ProgId information with the system.
RegisterTypeLibraries  Registers type libraries with the system.
RegisterUser  Registers the user information with the installer to identify the user of a product.
Registry   
RegistryKey  Used for organization of child RegistryValue elements or to create a registry key (and optionally remove it during uninstallation).
RegistrySearch  Searches for file, directory or registry key and assigns to value of parent Property
RegistrySearchRef  References an existing RegistrySearch element.
RegistryValue  Used to create a registry value. For multi-string values, this can be used to prepend or append values.
RemoveDuplicateFiles  Deletes files installed by the DuplicateFiles action.
RemoveEnvironmentStrings  Modifies the values of environment variables.
RemoveExistingProducts  Goes through the product codes listed in the ActionProperty column of the Upgrade table and removes the products in sequence.
RemoveFile  Remove a file(s) if the parent component is selected for installation or removal.
RemoveFiles  Removes files previously installed by the InstallFiles action.
RemoveFolder  Remove an empty folder if the parent component is selected for installation or removal.
RemoveFolders  Removes any folders linked to components set to be removed or run from source.
RemoveIniValues  Removes .ini file information specified for removal in the RemoveIniFile table if the component is set to be installed locally or run from source.
RemoveODBC  Removes the data sources, translators, and drivers listed for removal during the installation.
RemoveRegistryKey  Used for removing registry keys and all child keys either during install or uninstall.
RemoveRegistryValue  Used to remove a registry value during installation.
RemoveRegistryValues  Removes a registry value that has been authored into the registry table if the associated component was installed locally or as run from source, and is now set to be uninstalled.
RemoveShortcuts  Manages the removal of an advertised shortcut whose feature is selected for uninstallation or a nonadvertised shortcut whose component is selected for uninstallation.
ReplacePatch  A patch that is deprecated by this patch.
ReserveCost  Disk cost to reserve in a folder for running locally and/or from source.
ResolveSource  Determines the location of the source and sets the SourceDir property if the source has not been resolved yet.
RMCCPSearch  Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed.
Row  Row data for a Custom Table
ScheduleReboot  Prompts the user to restart the system at the end of installation.
SelfRegModules  Processes all modules listed in the SelfReg table and registers all installed modules with the system.
SelfUnregModules  Unregisters all modules listed in the SelfReg table that are scheduled to be uninstalled.
ServiceArgument  Argument used in ServiceControl parent
ServiceControl  Starts, stops, and removes services for parent Component.
ServiceDependency  Service or group of services that must start before the parent service.
ServiceInstall  Adds and removes services for parent Component.
SetDirectory  Sets a Directory to a particular value.
SetODBCFolders  Checks for existing ODBC drivers and sets the target directory for each new driver to the location of an existing driver.
SetProperty  Sets a Property to a particular value.
SFPCatalog  Adds a system file protection update catalog file
SFPFile  Provides a many-to-many mapping from the SFPCatalog table to the File table
Shortcut  Shortcut, default target is parent File, CreateFolder, or Component's Directory
Show   
StartServices  Starts system services.
StopServices  Stops system services.
Subscribe  Sets attributes for events in the EventMapping table
Substitution  Specifies the configurable fields of a module database and provides a template for the configuration of each field.
SymbolPath  A path to symbols.
TargetFile  Information about specific files in a target image.
TargetImage  Contains information about the target images of the product.
TargetProductCode  A product code for a product that may receive this patch (or '*' for all products).
Text  An alternative to using the Text attribute when the value contains special XML characters like <, >, or &.
TextStyle   
TypeLib  Register a type library (TypeLib).
UI  Enclosing element to compartmentalize UI specifications.
UIRef  Reference to a UI element. This will force the entire referenced Fragment's contents to be included in the installer database.
UIText  Text associated with certain controls
UnpublishComponents  Manages the unadvertisement of components listed in the PublishComponent table.
UnpublishFeatures  Removes selection-state and feature-component mapping information from the registry.
UnregisterClassInfo  Manages the removal of COM class information from the system registry.
UnregisterComPlus  Removes COM+ applications from the registry.
UnregisterExtensionInfo  Manages the removal of extension-related information from the system registry.
UnregisterFonts  Removes registration information about installed fonts from the system.
UnregisterMIMEInfo  Unregisters MIME-related registry information from the system.
UnregisterProgIdInfo  Manages the unregistration of OLE ProgId information with the system.
UnregisterTypeLibraries  Unregisters type libraries from the system.
Upgrade  Upgrade info for a particular UpgradeCode
UpgradeFile  Specifies files to either ignore or to specify optional data about a file.
UpgradeImage  Contains information about the upgraded images of the product.
UpgradeVersion   
Validate  Sets information on the patch transform that determines to which product the transform applies and what errors should be ignored when applying the patch transform.
ValidateProductID  Sets the ProductID property to the full product identifier.
Verb  Verb definition for an Extension.
Wix  This is the top-level container element for every wxs file.
WixVariable  This element exposes advanced WiX functionality.
WriteEnvironmentStrings  Modifies the values of environment variables.
WriteIniValues  Writes the .ini file information that the application needs written to its .ini files.
WriteRegistryValues  Sets up an application's registry information.

Element: AdminExecuteSequence

Derived By

Restricting anyType

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    0..*   
CostFinalize  ActionSequenceType  1..1  Ends the internal installation costing process begun by the CostInitialize action.
CostInitialize  ActionSequenceType  1..1  Initiates the internal installation costing process.
Custom  string (extension)  0..*  Use to sequence a custom action.
FileCost  ActionSequenceType  1..1  Initiates dynamic costing of standard installation actions.
InstallAdminPackage  ActionSequenceType  1..1  Copies the product database to the administrative installation point. The condition for this action may be specified in the element's inner text.
InstallFiles  ActionSequenceType  1..1  Copies files specified in the File table from the source directory to the destination directory.
InstallFinalize  ActionSequenceType  1..1  Marks the end of a sequence of actions that change the system.
InstallInitialize  ActionSequenceType  1..1  Marks the beginning of a sequence of actions that change the system.
InstallValidate  ActionSequenceType  1..1  Verifies that all costed volumes have enough space for the installation.
LaunchConditions  ActionModuleSequenceType  1..1  Queries the LaunchCondition table and evaluates each conditional statement recorded there.
ResolveSource  ActionModuleSequenceType  0..1  Determines the location of the source and sets the SourceDir property if the source has not been resolved yet.

Definition

<xs:element name="AdminExecuteSequence">
<xs:annotation>
<xs:appinfo>
<xse:msiRef table="AdminExecuteSequence" href="http://msdn.microsoft.com/library/aa367540.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Custom" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Use to sequence a custom action.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="CostInitialize">
<xs:annotation>
<xs:documentation>Initiates the internal installation costing process.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="FileCost">
<xs:annotation>
<xs:documentation>Initiates dynamic costing of standard installation actions.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="CostFinalize">
<xs:annotation>
<xs:documentation>Ends the internal installation costing process begun by the CostInitialize action.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallValidate">
<xs:annotation>
<xs:documentation>Verifies that all costed volumes have enough space for the installation.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallInitialize">
<xs:annotation>
<xs:documentation>Marks the beginning of a sequence of actions that change the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallAdminPackage">
<xs:annotation>
<xs:documentation>Copies the product database to the administrative installation point.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallFiles">
<xs:annotation>
<xs:documentation>Copies files specified in the File table from the source directory to the destination directory.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallFinalize">
<xs:annotation>
<xs:documentation>Marks the end of a sequence of actions that change the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="LaunchConditions">
<xs:annotation>
<xs:documentation>Queries the LaunchCondition table and evaluates each conditional statement recorded there.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ResolveSource" minOccurs="0">
<xs:annotation>
<xs:documentation>Determines the location of the source and sets the SourceDir property if the source has not been resolved yet.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>

Element: AdminUISequence

Derived By

Restricting anyType

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    0..*   
CostFinalize  ActionSequenceType  1..1  Ends the internal installation costing process begun by the CostInitialize action.
CostInitialize  ActionSequenceType  1..1  Initiates the internal installation costing process.
Custom  string (extension)  0..*  Use to sequence a custom action.
ExecuteAction  ActionSequenceType  1..1  Initiates the execution sequence.
FileCost  ActionSequenceType  1..1  Initiates dynamic costing of standard installation actions.
InstallAdminPackage  ActionSequenceType  1..1  Copies the product database to the administrative installation point. The condition for this action may be specified in the element's inner text.
InstallFiles  ActionSequenceType  1..1  Copies files specified in the File table from the source directory to the destination directory.
InstallFinalize  ActionSequenceType  1..1  Marks the end of a sequence of actions that change the system.
InstallInitialize  ActionSequenceType  1..1  Marks the beginning of a sequence of actions that change the system.
InstallValidate  ActionSequenceType  1..1  Verifies that all costed volumes have enough space for the installation.
LaunchConditions  ActionModuleSequenceType  1..1  Queries the LaunchCondition table and evaluates each conditional statement recorded there.
Show  string (extension)  0..*   

Definition

<xs:element name="AdminUISequence">
<xs:annotation>
<xs:appinfo>
<xse:msiRef table="AdminUISequence" href="http://msdn.microsoft.com/library/aa367544.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Custom" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Use to sequence a custom action.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="Show" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="CostInitialize">
<xs:annotation>
<xs:documentation>Initiates the internal installation costing process.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="FileCost">
<xs:annotation>
<xs:documentation>Initiates dynamic costing of standard installation actions.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="CostFinalize">
<xs:annotation>
<xs:documentation>Ends the internal installation costing process begun by the CostInitialize action.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ExecuteAction">
<xs:annotation>
<xs:documentation>Initiates the execution sequence.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallValidate">
<xs:annotation>
<xs:documentation>Verifies that all costed volumes have enough space for the installation.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallInitialize">
<xs:annotation>
<xs:documentation>Marks the beginning of a sequence of actions that change the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallAdminPackage">
<xs:annotation>
<xs:documentation>Copies the product database to the administrative installation point.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallFiles">
<xs:annotation>
<xs:documentation>Copies files specified in the File table from the source directory to the destination directory.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallFinalize">
<xs:annotation>
<xs:documentation>Marks the end of a sequence of actions that change the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="LaunchConditions">
<xs:annotation>
<xs:documentation>Queries the LaunchCondition table and evaluates each conditional statement recorded there.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>

Element: AdvertiseExecuteSequence

Derived By

Restricting anyType

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    0..*   
CostFinalize  ActionSequenceType  1..1  Ends the internal installation costing process begun by the CostInitialize action.
CostInitialize  ActionSequenceType  1..1  Initiates the internal installation costing process.
CreateShortcuts  ActionSequenceType  1..1  Manages the creation of shortcuts.
Custom  string (extension)  0..*  Use to sequence a custom action.
InstallFinalize  ActionSequenceType  1..1  Marks the end of a sequence of actions that change the system.
InstallInitialize  ActionSequenceType  1..1  Marks the beginning of a sequence of actions that change the system.
InstallValidate  ActionSequenceType  1..1  Verifies that all costed volumes have enough space for the installation.
MsiPublishAssemblies  ActionSequenceType  1..1  Manages the advertisement of CLR and Win32 assemblies.
PublishComponents  ActionSequenceType  1..1  Manages the advertisement of the components from the PublishComponent table.
PublishFeatures  ActionSequenceType  1..1  Writes each feature's state into the system registry.
PublishProduct  ActionSequenceType  1..1  Manages the advertisement of the product information with the system.
RegisterClassInfo  ActionSequenceType  1..1  Manages the registration of COM class information with the system.
RegisterExtensionInfo  ActionSequenceType  1..1  Manages the registration of extension related information with the system.
RegisterMIMEInfo  ActionSequenceType  1..1  Registers MIME-related registry information with the system.
RegisterProgIdInfo  ActionSequenceType  1..1  Manages the registration of OLE ProgId information with the system.

Definition

<xs:element name="AdvertiseExecuteSequence">
<xs:annotation>
<xs:appinfo>
<xse:msiRef table="AdvtExecuteSequence" href="http://msdn.microsoft.com/library/aa367551.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="CostInitialize">
<xs:annotation>
<xs:documentation>Initiates the internal installation costing process.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="CostFinalize">
<xs:annotation>
<xs:documentation>Ends the internal installation costing process begun by the CostInitialize action.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="Custom" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Use to sequence a custom action. The only custom actions that are allowed in the AdvtExecuteSequence are type 19 (0x013) type 35 (0x023) and type 51 (0x033).</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallValidate">
<xs:annotation>
<xs:documentation>Verifies that all costed volumes have enough space for the installation.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallInitialize">
<xs:annotation>
<xs:documentation>Marks the beginning of a sequence of actions that change the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="CreateShortcuts">
<xs:annotation>
<xs:documentation>Manages the creation of shortcuts.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RegisterClassInfo">
<xs:annotation>
<xs:documentation>Manages the registration of COM class information with the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RegisterExtensionInfo">
<xs:annotation>
<xs:documentation>Manages the registration of extension related information with the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RegisterMIMEInfo">
<xs:annotation>
<xs:documentation>Registers MIME-related registry information with the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RegisterProgIdInfo">
<xs:annotation>
<xs:documentation>Manages the registration of OLE ProgId information with the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PublishComponents">
<xs:annotation>
<xs:documentation>Manages the advertisement of the components from the PublishComponent table.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PublishFeatures">
<xs:annotation>
<xs:documentation>Writes each feature's state into the system registry.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PublishProduct">
<xs:annotation>
<xs:documentation>Manages the advertisement of the product information with the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallFinalize">
<xs:annotation>
<xs:documentation>Marks the end of a sequence of actions that change the system.</xs:documentation>
</xs:annotation>
</xs:element>
<!-- Windows Installer 1.5 actions -->
<xs:element ref="MsiPublishAssemblies">
<xs:annotation>
<xs:documentation>Manages the advertisement of CLR and Win32 assemblies.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>

Element: AllocateRegistrySpace

Description

Ensures the needed amount of space exists in the registry.

Derived By

Type ActionSequenceType

Attributes

Name  Type  Required?  Default  Description 
Sequence  integer  No    A value used to indicate the position of this action in a sequence.
Suppress  YesNoType  No    If yes, this action will not occur.

Content Model

Contains text only.

Referenced By

Remarks

The condition for this action may be specified in the element's inner text.

Definition

<xs:element name="AllocateRegistrySpace" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="AllocateRegistrySpace" href="http://msdn.microsoft.com/library/aa367554.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Ensures the needed amount of space exists in the registry. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>

Element: AppData

Description

Optional way for defining AppData, generally used for complex CDATA.

Derived By

Type string

Referenced By

Definition

<xs:element name="AppData" type="xs:string">
<xs:annotation>
<xs:documentation>Optional way for defining AppData, generally used for complex CDATA.</xs:documentation>
</xs:annotation>
</xs:element>

Element: AppId

Description

Application ID containing DCOM information for the associated application GUID.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
ActivateAtStorage  YesNoType  No    Set this value to 'yes' to configure the client to activate on the same system as persistent storage.
Advertise  YesNoType  No    Set this value to 'yes' in order to create a normal AppId table row. Set this value to 'no' in order to generate Registry rows that perform similar registration (without the often problematic Windows Installer advertising behavior).
Description  string  No    Set this value to the description of the AppId.
DllSurrogate  string  No    Set this value to specify that the class is a DLL that is to be activated in a surrogate EXE process, and the surrogate process to be used is the path of a surrogate EXE file specified by the value.
Id  Guid  Yes    Set this value to the AppID GUID that corresponds to the named executable.
LocalService  string  No    Set this value to the name of a service to allow the object to be installed as a Win32 service.
RemoteServerName  string  No    Set this value to the name of the remote server to configure the client to request the object be run at a particular machine whenever an activation function is called for which a COSERVERINFO structure is not specified.
RunAsInteractiveUser  YesNoType  No    Set this value to 'yes' to configure a class to run under the identity of the user currently logged on and connected to the interactive desktop when activated by a remote client without being written as a Win32 service.
ServiceParameters  string  No    Set this value to the parameters to be passed to a LocalService on invocation.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    0..*   
Class  anyType (restriction)  1..1  COM Class registration for parent Component.

Referenced By

Remarks

If this element is nested under a Fragment, Module, or Product element, it must be advertised.

Definition

<xs:element name="AppId">
<xs:annotation>
<xs:documentation>
Application ID containing DCOM information for the associated application GUID.
If this element is nested under a Fragment, Module, or Product element, it must be
advertised.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="AppId" href="http://msdn.microsoft.com/library/aa367566.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Registry" href="http://msdn.microsoft.com/library/aa371168.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:remarks xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">
When being used in unadvertised mode, the attributes in the AppId element correspond to registry keys
as follows (values that can be specified in authoring are in bold):
<html:dl xmlns:html="http://www.w3.org/1999/xhtml"><html:dt>Id</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
[HKCR\AppID\{<html:b>Id</html:b>}]<html:br /></html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\AppID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}]<html:br /></html:dd></html:dl></html:dd><html:dt>ActivateAtStorage</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
[HKCR\AppID\{<html:b>Id</html:b>}]<html:br />
ActivateAtStorage="<html:b>ActivateAtStorage</html:b>"
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\AppID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}]<html:br />
ActivateAtStorage="<html:b>Y</html:b>"
</html:dd></html:dl></html:dd><html:dt>Description</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
[HKCR\AppID\{<html:b>Id</html:b>}]<html:br />
@="<html:b>Description</html:b>"
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\AppID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}]<html:br />
@="<html:b>My AppId Description</html:b>"
</html:dd></html:dl></html:dd><html:dt>DllSurrogate</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
[HKCR\AppID\{<html:b>Id</html:b>}]<html:br />
DllSurrogate="<html:b>DllSurrogate</html:b>"
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\AppID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}]<html:br />
DllSurrogate="<html:b>C:\surrogate.exe</html:b>"
</html:dd></html:dl></html:dd><html:dt>LocalService</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
[HKCR\AppID\{<html:b>Id</html:b>}]<html:br />
LocalService="<html:b>LocalService</html:b>"
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\AppID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}]<html:br />
LocalService="<html:b>MyServiceName</html:b>"
</html:dd></html:dl></html:dd><html:dt>RemoteServerName</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
[HKCR\AppID\{<html:b>Id</html:b>}]<html:br />
RemoteServerName="<html:b>RemoteServerName</html:b>"
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\AppID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}]<html:br />
RemoteServerName="<html:b>MyRemoteServer</html:b>"
</html:dd></html:dl></html:dd><html:dt>RunAsInteractiveUser</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
[HKCR\AppID\{<html:b>Id</html:b>}]<html:br />
RunAs="<html:b>RunAsInteractiveUser</html:b>"
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\AppID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}]<html:br />
RunAs="<html:b>Interactive User</html:b>"
</html:dd></html:dl></html:dd><html:dt>ServiceParameters</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
[HKCR\AppID\{<html:b>Id</html:b>}]<html:br />
ServiceParameters="<html:b>ServiceParameters</html:b>"
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\AppID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}]<html:br />
ServiceParameters="<html:b>-param</html:b>"
</html:dd></html:dl></html:dd></html:dl></xse:remarks>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Class" />
</xs:choice>
<xs:attribute name="ActivateAtStorage" type="YesNoType">
<xs:annotation>
<xs:documentation>
Set this value to 'yes' to configure the client to activate on the same system as persistent storage.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Advertise" type="YesNoType">
<xs:annotation>
<xs:documentation>
Set this value to 'yes' in order to create a normal AppId table row. Set this value to 'no' in order to
generate Registry rows that perform similar registration (without the often problematic Windows Installer
advertising behavior).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Description" type="xs:string">
<xs:annotation>
<xs:documentation>
Set this value to the description of the AppId. It can only be specified when the AppId is not being advertised.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DllSurrogate" type="xs:string">
<xs:annotation>
<xs:documentation>
Set this value to specify that the class is a DLL that is to be activated in a surrogate EXE
process, and the surrogate process to be used is the path of a surrogate EXE file specified by the value.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Id" type="Guid" use="required">
<xs:annotation>
<xs:documentation>
Set this value to the AppID GUID that corresponds to the named executable.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="LocalService" type="xs:string">
<xs:annotation>
<xs:documentation>
Set this value to the name of a service to allow the object to be installed as a Win32 service.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RemoteServerName" type="xs:string">
<xs:annotation>
<xs:documentation>
Set this value to the name of the remote server to configure the client to request the object
be run at a particular machine whenever an activation function is called for which a COSERVERINFO
structure is not specified.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RunAsInteractiveUser" type="YesNoType">
<xs:annotation>
<xs:documentation>
Set this value to 'yes' to configure a class to run under the identity of the user currently
logged on and connected to the interactive desktop when activated by a remote client without
being written as a Win32 service.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ServiceParameters" type="xs:string">
<xs:annotation>
<xs:documentation>
Set this value to the parameters to be passed to a LocalService on invocation.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: AppSearch

Description

Uses file signatures to search for existing versions of products.

Derived By

Type ActionModuleSequenceType

Attributes

Name  Type  Required?  Default  Description 
After  string  No    The name of an action that this action should come after.
Before  string  No    The name of an action that this action should come before.
Overridable  YesNoType  No    If "yes", the sequencing of this action may be overridden by sequencing elsewhere.
Sequence  integer  No    A value used to indicate the position of this action in a sequence.
Suppress  YesNoType  No    If yes, this action will not occur.

Content Model

Contains text only.

Referenced By

Remarks

The AppSearch action may use this information to determine where upgrades are to be installed. The AppSearch action can also be used to set a property to the existing value of an registry or .ini file entry. AppSearch should be authored into the InstallUISequence table and InstallExecuteSequence table. The installer prevents The AppSearch action from running in the InstallExecuteSequence sequence if the action has already run in InstallUISequence sequence. The AppSearch action searches for file signatures using the CompLocator table first, the RegLocator table next, then the IniLocator table, and finally the DrLocator table. The condition for this action may be specified in the element's inner text.

Definition

<xs:element name="AppSearch" type="ActionModuleSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="ComponentSearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="FileSearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="IniFileSearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="RegistrySearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="AppSearch" href="http://msdn.microsoft.com/library/aa367579.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef action="AppSearch" href="http://msdn.microsoft.com/library/aa367578.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Uses file signatures to search for existing versions of products. The AppSearch action may use this information to determine where upgrades are to be installed. The AppSearch action can also be used to set a property to the existing value of an registry or .ini file entry. AppSearch should be authored into the InstallUISequence table and InstallExecuteSequence table. The installer prevents The AppSearch action from running in the InstallExecuteSequence sequence if the action has already run in InstallUISequence sequence. The AppSearch action searches for file signatures using the CompLocator table first, the RegLocator table next, then the IniLocator table, and finally the DrLocator table. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>

Element: AssemblyName

Description

The MsiAssemblyName table specifies the schema for the elements of a strong assembly cache name for a .NET Framework or Win32 assembly.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    Name of the attribute associated with the value specified in the Value column.
Value  string  No    Value associated with the name specified in the Name column.

Content Model

Always empty.

Referenced By

Remarks

Consider using the Assembly attribute on File element to have the toolset populate these entries automatically.

Definition

<xs:element name="AssemblyName">
<xs:annotation>
<xs:documentation>
The MsiAssemblyName table specifies the schema for the elements of a strong assembly cache name for a .NET Framework or Win32 assembly.
Consider using the Assembly attribute on File element to have the toolset populate these entries automatically.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="MsiAssemblyName" href="http://msdn.microsoft.com/library/aa370062.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Name of the attribute associated with the value specified in the Value column.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Value" type="xs:string">
<xs:annotation>
<xs:documentation>Value associated with the name specified in the Name column.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: Billboard

Description

Billboard to display during install of a Feature

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    Unique identifier for the Billboard.
Feature  string  No    Feature whose state determines if the Billboard is shown.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    1..1   
Control  anyType (restriction)  0..*  Contains the controls that appear on each dialog.

Referenced By

Definition

<xs:element name="Billboard">
<xs:annotation>
<xs:documentation>
Billboard to display during install of a Feature
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="Billboard" href="http://msdn.microsoft.com/library/aa367823.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="BBControl" href="http://msdn.microsoft.com/library/aa367818.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="Control" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Only controls of static type such as: Text, Bitmap, Icon, or custom control can be placed on a billboard.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Unique identifier for the Billboard.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Feature" type="xs:string">
<xs:annotation>
<xs:documentation>Feature whose state determines if the Billboard is shown.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: BillboardAction

Description

Billboard action during which child Billboards are displayed

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    Action name that determines when the Billboard should be shown.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    1..1   
Billboard  anyType (restriction)  1..*  Billboard to display during install of a Feature

Referenced By

Definition

<xs:element name="BillboardAction">
<xs:annotation>
<xs:documentation>
Billboard action during which child Billboards are displayed
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="Billboard" href="http://msdn.microsoft.com/library/aa367823.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="BBControl" href="http://msdn.microsoft.com/library/aa367818.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="Billboard" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Order of Billboard elements determines order of display</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Action name that determines when the Billboard should be shown.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: Binary

Description

Binary data used for CustomAction elements and UI controls.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    The Id cannot by longer than 55 characters.
SourceFile  string  No    Path to the binary file.
src  string  No     
SuppressModularization  YesNoType  No    Use to suppress modularization of this Binary identifier in merge modules.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    0..*   
any    1..1  Allow any element from the ##other namespace.

Referenced By

Definition

<xs:element name="Binary">
<xs:annotation>
<xs:documentation>
Binary data used for CustomAction elements and UI controls.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="Binary" href="http://msdn.microsoft.com/library/aa367825.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The Id cannot by longer than 55 characters. In order to prevent errors in cases where the Id is modularized, it should not be longer than 18 characters.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SourceFile" type="xs:string">
<xs:annotation>
<xs:documentation>Path to the binary file.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="src" type="xs:string">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="SourceFile" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SuppressModularization" type="YesNoType">
<xs:annotation>
<xs:documentation>
Use to suppress modularization of this Binary identifier in merge modules.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>

Element: BinaryRef

Description

Used only for PatchFamilies to include only a binary table entry in a patch.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    The identifier of the Binary element to reference.

Content Model

Always empty.

Definition

<xs:element name="BinaryRef">
<xs:annotation>
<xs:documentation>Used only for PatchFamilies to include only a binary table entry in a patch.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The identifier of the Binary element to reference.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>

Element: BindImage

Description

Binds each executable or DLL that must be bound to the DLLs imported by it.

Derived By

Type ActionSequenceType

Attributes

Name  Type  Required?  Default  Description 
Sequence  integer  No    A value used to indicate the position of this action in a sequence.
Suppress  YesNoType  No    If yes, this action will not occur.

Content Model

Contains text only.

Referenced By

Remarks

The condition for this action may be specified in the element's inner text.

Definition

<xs:element name="BindImage" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef table="BindImage" href="http://msdn.microsoft.com/library/aa367828.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef action="BindImage" href="http://msdn.microsoft.com/library/aa367827.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Binds each executable or DLL that must be bound to the DLLs imported by it. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>

Element: Category

Description

Qualified published component for parent Component

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  Guid  Yes    A string GUID that represents the category of components being grouped together.
Qualifier  string  Yes    A text string that qualifies the value in the Id attribute.
AppData  string  No    An optional localizable text describing the category.
Feature  string  No    Feature that controls the advertisement of the category.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    0..*   
AppData  string  1..1  Optional way for defining AppData, generally used for complex CDATA.

Referenced By

Definition

<xs:element name="Category">
<xs:annotation>
<xs:documentation>
Qualified published component for parent Component
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="PublishComponent" href="http://msdn.microsoft.com/library/aa370921.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element ref="AppData" />
</xs:sequence>
<xs:attribute name="Id" use="required" type="Guid">
<xs:annotation>
<xs:documentation>A string GUID that represents the category of components being grouped together.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Qualifier" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>A text string that qualifies the value in the Id attribute. A qualifier is used to distinguish multiple forms of the same Component, such as a Component that is implemented in multiple languages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AppData" type="xs:string">
<xs:annotation>
<xs:documentation>An optional localizable text describing the category. The string is commonly parsed by the application and can be displayed to the user. It should describe the category.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Feature" type="xs:string">
<xs:annotation>
<xs:documentation>Feature that controls the advertisement of the category. Defaults to the primary Feature for the parent Component .</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: CCPSearch

Description

Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed.

Derived By

Type ActionModuleSequenceType

Attributes

Name  Type  Required?  Default  Description 
After  string  No    The name of an action that this action should come after.
Before  string  No    The name of an action that this action should come before.
Overridable  YesNoType  No    If "yes", the sequencing of this action may be overridden by sequencing elsewhere.
Sequence  integer  No    A value used to indicate the position of this action in a sequence.
Suppress  YesNoType  No    If yes, this action will not occur.

Content Model

Contains text only.

Referenced By

Remarks

The CCPSearch action should be authored into the InstallUISequence table and InstallExecuteSequence table. The installer prevents the CCPSearch action from running in the InstallExecuteSequence sequence if the action has already run in InstallUISequence sequence. The CCPSearch action must come before the RMCCPSearch action. The condition for this action may be specified in the element's inner text.

Definition

<xs:element name="CCPSearch" type="ActionModuleSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="RMCCPSearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="ComplianceCheck" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef action="CCPSearch" href="http://msdn.microsoft.com/library/aa367845.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed. The CCPSearch action should be authored into the InstallUISequence table and InstallExecuteSequence table. The installer prevents the CCPSearch action from running in the InstallExecuteSequence sequence if the action has already run in InstallUISequence sequence. The CCPSearch action must come before the RMCCPSearch action. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>

Element: Class

Description

COM Class registration for parent Component.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  Guid  Yes    The Class identifier (CLSID) of a COM server.
Context  anySimpleType (list)  Yes    The server context(s) for this server.
Description  string  No    Localized description associated with the Class ID and Program ID.
AppId  Guid  No    This attribute is only allowed when a Class is advertised.
Icon  string  No    The file providing the icon associated with this CLSID.
IconIndex  integer  No    Icon index into the icon file.
Handler  string  No    The default inproc handler.
Argument  string  No    This column is optional only when the Context column is set to "LocalServer" or "LocalServer32" server context.
RelativePath  YesNoType  No    When the value is "yes", the bare file name can be used for COM servers.
Advertise  YesNoType  No    Set this value to "yes" in order to create a normal Class table row. Set this value to "no" in order to generate Registry rows that perform similar registration (without the often problematic Windows Installer advertising behavior).
ThreadingModel  NMTOKEN (restriction)  No    Threading model for the CLSID.
Version  string  No    Version for the CLSID.
Insertable  YesNoType  No    Specifies the CLISD may be insertable.
Programmable  YesNoType  No    Specifies the CLSID may be programmable.
Server  string  No    May only be specified if the value of the Advertise attribute is "no".
ShortPath  YesNoType  No    Specifies whether or not to use the short path for the COM server.
SafeForScripting  YesNoType  No    May only be specified if the value of the Advertise attribute is "no".
SafeForInitializing  YesNoType  No    May only be specified if the value of the Advertise attribute is "no".
Control  YesNoType  No    Set this attribute's value to 'yes' to identify an object as an ActiveX Control.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    0..*   
FileTypeMask  anyType (restriction)  1..1  FileType data for class Id registration.
Interface  anyType (restriction)  1..1  COM Interface registration for parent Typelib.
ProgId  anyType (restriction)  1..1  ProgId registration for parent Component.

Referenced By

Definition

<xs:element name="Class">
<xs:annotation>
<xs:documentation>COM Class registration for parent Component.</xs:documentation>
<xs:appinfo>
<xse:seeAlso ref="AppId" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Class" href="http://msdn.microsoft.com/library/aa367861.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="ProgId" href="http://msdn.microsoft.com/library/aa370879.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Registry" href="http://msdn.microsoft.com/library/aa371168.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="AppId" href="http://msdn.microsoft.com/library/aa367566.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:remarks xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">
When being used in unadvertised mode, the attributes in the Class element correspond to registry keys
as follows (values that can be specified in authoring are in bold):
<html:dl xmlns:html="http://www.w3.org/1999/xhtml"><html:dt>Id/Context/Server</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
[HKCR\CLSID\{<html:b>Id</html:b>}\<html:b>Context1</html:b>]<html:br />
@="[!<html:b>Server</html:b>]"<html:br />
[HKCR\CLSID\{<html:b>Id</html:b>}\<html:b>Context2</html:b>]<html:br />
@="[!<html:b>Server</html:b>]"
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\CLSID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}\<html:b>LocalServer</html:b>]<html:br />
@="[!<html:b>comserv.dll</html:b>]"<html:br />
[HKCR\CLSID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}\<html:b>LocalServer32</html:b>]<html:br />
@="[!<html:b>comserv.dll</html:b>]"
</html:dd></html:dl></html:dd><html:dt>AppId</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
[HKCR\CLSID\{<html:b>Id</html:b>}]<html:br />
AppId="{<html:b>AppId</html:b>}"
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\CLSID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}]<html:br />
AppId="{<html:b>00000000-89AB-0000-0123-000000000000</html:b>}"
</html:dd></html:dl></html:dd><html:dt>Argument</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
[HKCR\CLSID\{<html:b>Id</html:b>}\<html:b>Context</html:b>]<html:br />
@="[!<html:b>Server</html:b>] <html:b>Argument</html:b>"
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\CLSID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}\<html:b>LocalServer32</html:b>]<html:br />
@="[!<html:b>comserv.dll</html:b>] <html:b>/arg1 /arg2 /arg3</html:b>"<html:br /></html:dd></html:dl></html:dd><html:dt>Control</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
Value "yes" specified:<html:br />
[HKCR\CLSID\{<html:b>Id</html:b>}\Control]
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\CLSID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}\Control]
</html:dd></html:dl></html:dd><html:dt>Description</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
[HKCR\CLSID\{<html:b>Id</html:b>}]<html:br />
@="<html:b>Description</html:b>"
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\CLSID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}]<html:br />
@="<html:b>Description of Example COM Component</html:b>"
</html:dd></html:dl></html:dd><html:dt>Handler</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
Value "1" specified:<html:br />
[HKCR\CLSID\{<html:b>Id</html:b>}\InprocHandler]<html:br />
@="ole.dll"<html:br />
Value "2" specified:<html:br />
[HKCR\CLSID\{<html:b>Id</html:b>}\InprocHandler32]<html:br />
@="ole32.dll"<html:br />
Value "3" specified:<html:br />
[HKCR\CLSID\{<html:b>Id</html:b>}\InprocHandler]<html:br />
@="ole.dll"<html:br />
[HKCR\CLSID\{<html:b>Id</html:b>}\InprocHandler32]<html:br />
@="ole32.dll"<html:br />
Other value specified:<html:br />
[HKCR\CLSID\{<html:b>Id</html:b>}\InprocHandler32]<html:br />
@="<html:b>Handler</html:b>"
</html:dd><html:dt>Specific Example (for other value)</html:dt><html:dd>
[HKCR\CLSID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}\InprocHandler32]<html:br />
@="<html:b>handler.dll</html:b>"
</html:dd></html:dl></html:dd><html:dt>Icon/IconIndex</html:dt><html:dd>This is not currently handled properly.</html:dd><html:dt>Insertable</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
Value "no" specified:<html:br />
[HKCR\CLSID\{<html:b>Id</html:b>}\NotInsertable]<html:br />
Value "yes" specified:<html:br />
[HKCR\CLSID\{<html:b>Id</html:b>}\Insertable]
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\CLSID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}\Insertable]
</html:dd></html:dl></html:dd><html:dt>Programmable</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
Value "yes" specified:<html:br />
[HKCR\CLSID\{<html:b>Id</html:b>}\Programmable]
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\CLSID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}\Programmable]
</html:dd></html:dl></html:dd><html:dt>RelativePath</html:dt><html:dd>Unsupported. Please contribute this back to WiX if you know.</html:dd><html:dt>SafeForInitializing</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
Value "yes" specified:<html:br />
[HKCR\CLSID\{<html:b>Id</html:b>}\Implemented Categories\{7DD95802-9882-11CF-9FA9-00AA006C42C4}]
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\CLSID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}\Implemented Categories\{7DD95802-9882-11CF-9FA9-00AA006C42C4}]
</html:dd></html:dl></html:dd><html:dt>SafeForScripting</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
Value "yes" specified:<html:br />
[HKCR\CLSID\{<html:b>Id</html:b>}\Implemented Categories\{7DD95801-9882-11CF-9FA9-00AA006C42C4}]
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\CLSID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}\Implemented Categories\{7DD95801-9882-11CF-9FA9-00AA006C42C4}]
</html:dd></html:dl></html:dd><html:dt>ThreadingModel</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
[HKCR\CLSID\{<html:b>Id</html:b>}\<html:b>Context</html:b>]<html:br />
ThreadingModel="<html:b>ThreadingModel</html:b>"
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\CLSID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}\<html:b>LocalServer32</html:b>]<html:br />
ThreadingModel="<html:b>Apartment</html:b>"
</html:dd></html:dl></html:dd><html:dt>TypeLibId (from parent TypeLib/@Id)</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
[HKCR\CLSID\{<html:b>Id</html:b>}\TypeLib]<html:br />
@="{<html:b>TypeLibId</html:b>}"
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\CLSID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}\TypeLib]<html:br />
@="{<html:b>11111111-89AB-1111-0123-111111111111</html:b>}"
</html:dd></html:dl></html:dd><html:dt>Version</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
[HKCR\CLSID\{<html:b>Id</html:b>}\Version]<html:br />
@="<html:b>Version</html:b>"
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\CLSID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}\Version]<html:br />
@="<html:b>1.0.0.0</html:b>"
</html:dd></html:dl></html:dd></html:dl></xse:remarks>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="ProgId">
<xs:annotation>
<xs:documentation>A ProgId associated with Class must be a child element of the Class element</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="FileTypeMask" />
<xs:element ref="Interface">
<xs:annotation>
<xs:documentation>These Interfaces will be registered with the parent Class and TypeLib (if present).</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:attribute name="Id" type="Guid" use="required">
<xs:annotation>
<xs:documentation>The Class identifier (CLSID) of a COM server.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Context" use="required">
<xs:annotation>
<xs:documentation>The server context(s) for this server.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:list>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="LocalServer">
<xs:annotation>
<xs:documentation>
A 16-bit local server application.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="LocalServer32">
<xs:annotation>
<xs:documentation>
A 32-bit local server application.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="InprocServer">
<xs:annotation>
<xs:documentation>
A 16-bit in-process server DLL.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="InprocServer32">
<xs:annotation>
<xs:documentation>
A 32-bit in-process server DLL.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:list>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Description" type="xs:string">
<xs:annotation>
<xs:documentation>Localized description associated with the Class ID and Program ID.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AppId" type="Guid">
<xs:annotation>
<xs:documentation>
This attribute is only allowed when a Class is advertised. Using this attribute will reference an Application ID
containing DCOM information for the associated application GUID. The value must correspond to an AppId/@Id of an
AppId element nested under a Fragment, Module, or Product element. To associate an AppId with a non-advertised
class, nest the class within a parent AppId element.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Icon" type="xs:string">
<xs:annotation>
<xs:documentation>
The file providing the icon associated with this CLSID. Reference to an Icon element
(should match the Id attribute of an Icon element). This is currently not supported if the
value of the Advertise attribute is "no".
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IconIndex" type="xs:integer">
<xs:annotation>
<xs:documentation>Icon index into the icon file.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Handler" type="xs:string">
<xs:annotation>
<xs:documentation>
The default inproc handler. May be optionally provided only for Context = LocalServer or
LocalServer32. Value of "1" creates a 16-bit InprocHandler (appearing as the InprocHandler
value). Value of "2" creates a 32-bit InprocHandler (appearing as the InprocHandler32 value).
Value of "3" creates 16-bit as well as 32-bit InprocHandlers. A non-numeric value is treated
as a system file that serves as the 32-bit InprocHandler (appearing as the InprocHandler32 value).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Argument" type="xs:string">
<xs:annotation>
<xs:documentation>
This column is optional only when the Context column is set to "LocalServer"
or "LocalServer32" server context. The text is registered as the argument against
the OLE server and is used by OLE for invoking the server. Note that the resolution
of properties in the Argument field is limited. A property formatted as [Property] in
this field can only be resolved if the property already has the intended value when
the component owning the class is installed. For example, for the argument "[#MyDoc.doc]"
to resolve to the correct value, the same process must be installing the file MyDoc.doc and the
component that owns the class.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RelativePath" type="YesNoType">
<xs:annotation>
<xs:documentation>
When the value is "yes", the bare file name can be used for COM servers. The installer
registers the file name only instead of the complete path. This enables the server in
the current directory to take precedence and allows multiple copies of the same component.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Advertise" type="YesNoType">
<xs:annotation>
<xs:documentation>
Set this value to "yes" in order to create a normal Class table row. Set this value to
"no" in order to generate Registry rows that perform similar registration (without the
often problematic Windows Installer advertising behavior).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<!-- Following attributes are not advertised, but add the appropriate rows to the Registry table -->
<xs:attribute name="ThreadingModel">
<xs:annotation>
<xs:documentation>
Threading model for the CLSID.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="apartment" />
<xs:enumeration value="free" />
<xs:enumeration value="both" />
<xs:enumeration value="neutral" />
<xs:enumeration value="single" />
<xs:enumeration value="rental" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Version" type="xs:string">
<xs:annotation>
<xs:documentation>
Version for the CLSID.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Insertable" type="YesNoType">
<xs:annotation>
<xs:documentation>
Specifies the CLISD may be insertable.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Programmable" type="YesNoType">
<xs:annotation>
<xs:documentation>
Specifies the CLSID may be programmable.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Server" type="xs:string">
<xs:annotation>
<xs:documentation>
May only be specified if the value of the Advertise attribute is "no". File Id of the
COM server file. If this element is nested under a File element, this value defaults to
the value of the parent File/@Id.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ShortPath" type="YesNoType">
<xs:annotation>
<xs:documentation>
Specifies whether or not to use the short path for the COM server. This can only apply when Adverstise is set to 'no'. The default is 'no' meaning that it will use the long file name for the COM server.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SafeForScripting" type="YesNoType">
<xs:annotation>
<xs:documentation>
May only be specified if the value of the Advertise attribute is "no".
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SafeForInitializing" type="YesNoType">
<xs:annotation>
<xs:documentation>
May only be specified if the value of the Advertise attribute is "no".
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Control" type="YesNoType">
<xs:annotation>
<xs:documentation>
Set this attribute's value to 'yes' to identify an object as an ActiveX Control. The default value is 'no'.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: Column

Description

Column definition for a Custom Table

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    Identifier for the column.
PrimaryKey  YesNoType  No    Whether this column is a primary key.
Type  NMTOKEN (restriction)  Yes    The type of this column.
Width  integer  No    Width of this column.
Nullable  YesNoType  No    Whether this column can be left null.
Localizable  YesNoType  No    Whether this column can be localized.
MinValue  integer  No    Minimum value for a numeric value, date or version in this column.
MaxValue  integer  No    Maximum value for a numeric value, date or version in this column.
KeyTable  string  No    Table in which this column is an external key.
KeyColumn  integer  No    Column in the table in KeyTable attribute.
Category  NMTOKEN (restriction)  No    Category of this column.
Set  string  No    Semicolon delimited list of permissible values.
Description  string  No    Description of this column.
Modularize  NMTOKEN (restriction)  No    How this column should be modularized, if at all.

Content Model

Always empty.

Referenced By

Definition

<xs:element name="Column">
<xs:annotation>
<xs:documentation>Column definition for a Custom Table</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Identifier for the column.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PrimaryKey" type="YesNoType">
<xs:annotation>
<xs:documentation>Whether this column is a primary key.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Type" use="required">
<xs:annotation>
<xs:documentation>The type of this column.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="binary">
<xs:annotation>
<xs:documentation>
Column contains a path to a file that will be inserted into the column as a binary object.
If this value is set, the Category attribute must also be set with a value of 'Binary' to pass ICE validation.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="int">
<xs:annotation>
<xs:documentation>
Column contains an integer or datetime value (the MinValue and MaxValue attributes should also be set).
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="string">
<xs:annotation>
<xs:documentation>
Column contains a non-localizable string value.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Width" type="xs:integer">
<xs:annotation>
<xs:documentation>Width of this column.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Nullable" type="YesNoType">
<xs:annotation>
<xs:documentation>Whether this column can be left null.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Localizable" type="YesNoType">
<xs:annotation>
<xs:documentation>Whether this column can be localized.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MinValue" type="xs:integer">
<xs:annotation>
<xs:documentation>Minimum value for a numeric value, date or version in this column.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MaxValue" type="xs:integer">
<xs:annotation>
<xs:documentation>Maximum value for a numeric value, date or version in this column.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="KeyTable" type="xs:string">
<xs:annotation>
<xs:documentation>Table in which this column is an external key. Can be semicolon delimited.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="KeyColumn" type="xs:integer">
<xs:annotation>
<xs:documentation>Column in the table in KeyTable attribute.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Category">
<xs:annotation>
<xs:documentation>
Category of this column.
This attribute must be specified with a value of 'Binary' if the Type attribute's value is 'binary'.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Text" />
<xs:enumeration value="UpperCase" />
<xs:enumeration value="LowerCase" />
<xs:enumeration value="Integer" />
<xs:enumeration value="DoubleInteger" />
<xs:enumeration value="TimeDate" />
<xs:enumeration value="Identifier" />
<xs:enumeration value="Property" />
<xs:enumeration value="Filename" />
<xs:enumeration value="WildCardFilename" />
<xs:enumeration value="Path" />
<xs:enumeration value="Paths" />
<xs:enumeration value="AnyPath" />
<xs:enumeration value="DefaultDir" />
<xs:enumeration value="RegPath" />
<xs:enumeration value="Formatted" />
<xs:enumeration value="Template" />
<xs:enumeration value="Condition" />
<xs:enumeration value="Guid" />
<xs:enumeration value="Version" />
<xs:enumeration value="Language" />
<xs:enumeration value="Binary" />
<xs:enumeration value="CustomSource" />
<xs:enumeration value="Cabinet" />
<xs:enumeration value="Shortcut" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Set" type="xs:string">
<xs:annotation>
<xs:documentation>Semicolon delimited list of permissible values.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Description" type="xs:string">
<xs:annotation>
<xs:documentation>Description of this column.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Modularize">
<xs:annotation>
<xs:documentation>How this column should be modularized, if at all.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="None">
<xs:annotation>
<xs:documentation>
Column should not be modularized. This is the default value.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Column">
<xs:annotation>
<xs:documentation>
Column should be modularized.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Condition">
<xs:annotation>
<xs:documentation>
Column is a condition and should be modularized.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Icon">
<xs:annotation>
<xs:documentation>
When the column is an primary or foreign key to the Icon table it should be modularized special.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Property">
<xs:annotation>
<xs:documentation>
Any Properties in the column should be modularized.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="SemicolonDelimited">
<xs:annotation>
<xs:documentation>
Semi-colon list of keys, all of which need to be modularized.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: ComboBox

Description

Set of items for a particular ComboBox control tied to an install Property

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Property  string  Yes    Property tied to this group

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    1..1   
ListItem  anyType (restriction)  0..*  The value (and optional text) associated with an item in a ComboBox, ListBox, or ListView.

Referenced By

Definition

<xs:element name="ComboBox">
<xs:annotation>
<xs:documentation>
Set of items for a particular ComboBox control tied to an install Property
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="ComboBox" href="http://msdn.microsoft.com/library/aa367872.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Control" href="http://msdn.microsoft.com/library/aa368044.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Dialog" href="http://msdn.microsoft.com/library/aa368286.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="ListItem" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>entry for ComboBox table</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="Property" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Property tied to this group</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: ComplianceCheck

Description

Adds a row to the CCPSearch table.

Derived By

Restricting anyType

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    0..*   
any    1..1  Allow any element from the ##other namespace.
    1..1   
ComplianceDrive  anyType (restriction)  0..1  Sets the parent of a nested DirectorySearch element to CCP_DRIVE.
ComponentSearch  anyType (restriction)  0..*  Searches for file or directory and assigns to value of parent Property.
RegistrySearch  anyType (restriction)  0..*  Searches for file, directory or registry key and assigns to value of parent Property
IniFileSearch  anyType (restriction)  0..*  Searches for file, directory or registry key and assigns to value of parent Property
DirectorySearch  anyType (restriction)  0..*  Searches for directory and assigns to value of parent Property.

Referenced By

Definition

<xs:element name="ComplianceCheck">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="Property" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="CCPSearch" href="http://msdn.microsoft.com/library/aa367846.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Signature" href="http://msdn.microsoft.com/library/aa371853.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Adds a row to the CCPSearch table.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:sequence>
<xs:element ref="ComplianceDrive" minOccurs="0">
<xs:annotation>
<xs:documentation>Starts searches from the CCP_DRIVE.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ComponentSearch" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="RegistrySearch" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="IniFileSearch" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="DirectorySearch" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>

Element: ComplianceDrive

Description

Sets the parent of a nested DirectorySearch element to CCP_DRIVE.

Derived By

Restricting anyType

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    1..1   
DirectorySearch  anyType (restriction)  1..1  Searches for directory and assigns to value of parent Property.
DirectorySearchRef  anyType (restriction)  1..1  References an existing DirectorySearch element.

Definition

<xs:element name="ComplianceDrive">
<xs:annotation>
<xs:documentation>Sets the parent of a nested DirectorySearch element to CCP_DRIVE.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:element ref="DirectorySearch" />
<xs:element ref="DirectorySearchRef" />
</xs:choice>
</xs:complexType>
</xs:element>

Element: Component

Description

Component for parent Directory

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    Component identifier; this is the primary key for identifying components.
ComPlusFlags  integer  No    Set this attribute to create a ComPlus entry.
DisableRegistryReflection  YesNoType  No    Set this attribute to 'yes' in order to disable registry reflection on all existing and new registry keys affected by this component.
Directory  string  No    Sets the Directory of the Component.
DiskId  integer  No    This attribute must be set either on a Component element or all of its children File elements.
Feature  string  No    Identifies a feature to which this component belongs, as a shorthand for a child ComponentRef element of the Feature element.
Guid  ComponentGuid  Yes    This value should be a guid that uniquely identifies this component's contents, language, platform, and version.

KeyPath  YesNoType  No    If this attribute's value is set to 'yes', then the Directory of this Component is used as the KeyPath.
Location  NMTOKEN (restriction)  No     
NeverOverwrite  YesNoType  No    If this attribute is set to 'yes', the installer does not install or reinstall the component if a key path file or a key path registry entry for the component already exists.
Permanent  YesNoType  No    If this attribute is set to 'yes', the installer does not remove the component during an uninstall.
Shared  YesNoType  No    If this attribute's value is set to 'yes', enables advanced patching semantics for Components that are shared across multiple Products.
SharedDllRefCount  YesNoType  No    If this attribute's value is set to 'yes', the installer increments the reference count in the shared DLL registry of the component's key file.
Transitive  YesNoType  No    If this attribute is set to 'yes', the installer reevaluates the value of the statement in the Condition upon a reinstall.
UninstallWhenSuperseded  YesNoType  No    If this attribute is set to 'yes', the installer will uninstall the Component's files and registry keys when it is superseded by a patch.
Win64  YesNoType  No    Set this attribute to 'yes' to mark this as a 64-bit component.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    0..*   
any    1..1  Allow any element from the ##other namespace.
AppId  anyType (restriction)  1..1  Application ID containing DCOM information for the associated application GUID.

Category  anyType (restriction)  1..1  Qualified published component for parent Component
Class  anyType (restriction)  1..1  COM Class registration for parent Component.
Condition  string (extension)  1..1  Conditions for components, controls, features, and products.
CopyFile  anyType (restriction)  1..1  Copy or move an existing file on the target machine, or copy a file that is being installed, to another destination.
CreateFolder  anyType (restriction)  1..1  Create folder as part of parent Component.
Environment  anyType (restriction)  1..1  Environment variables added or removed for the parent component.
Extension  anyType (restriction)  1..1  Extension for a Component
File  anyType (restriction)  1..1  File specification for File table, must be child node of Component.
IniFile  anyType (restriction)  1..1  Adds or removes .ini file entries.
Interface  anyType (restriction)  1..1  COM Interface registration for parent Typelib.
IsolateComponent  anyType (restriction)  1..1  Shared Component to be privately replicated in folder of parent Component
ODBCDataSource  anyType (restriction)  1..1  ODBCDataSource for a Component
ODBCDriver  anyType (restriction)  1..1  ODBCDriver for a Component
ODBCTranslator  anyType (restriction)  1..1  ODBCTranslator for a Component
ProgId  anyType (restriction)  1..1  ProgId registration for parent Component.
Registry  anyType (restriction)  1..1   
RegistryKey  anyType (restriction)  1..1  Used for organization of child RegistryValue elements or to create a registry key (and optionally remove it during uninstallation).
RegistryValue  anyType (restriction)  1..1  Used to create a registry value. For multi-string values, this can be used to prepend or append values.
RemoveFile  anyType (restriction)  1..1  Remove a file(s) if the parent component is selected for installation or removal.
RemoveFolder  anyType (restriction)  1..1  Remove an empty folder if the parent component is selected for installation or removal.
RemoveRegistryKey  anyType (restriction)  1..1  Used for removing registry keys and all child keys either during install or uninstall.
RemoveRegistryValue  anyType (restriction)  1..1  Used to remove a registry value during installation.
ReserveCost  anyType (restriction)  1..1  Disk cost to reserve in a folder for running locally and/or from source.
ServiceControl  anyType (restriction)  1..1  Starts, stops, and removes services for parent Component.
ServiceInstall  anyType (restriction)  1..1  Adds and removes services for parent Component.
Shortcut  anyType (restriction)  1..1  Shortcut, default target is parent File, CreateFolder, or Component's Directory
SymbolPath  anyType (restriction)  1..1  A path to symbols.
TypeLib  anyType (restriction)  1..1  Register a type library (TypeLib).

Referenced By

Definition

<xs:element name="Component">
<xs:annotation>
<xs:documentation>Component for parent Directory</xs:documentation>
<xs:appinfo>
<xse:seeAlso ref="ComponentRef" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="Media" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Component" href="http://msdn.microsoft.com/library/aa368007.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Condition" href="http://msdn.microsoft.com/library/aa368014.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Directory" href="http://msdn.microsoft.com/library/aa368295.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:howtoRef href="add_a_file.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Add a file to your installer</xse:howtoRef>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="AppId" />
<xs:element ref="Category" />
<xs:element ref="Class" />
<xs:element ref="Condition" />
<xs:element ref="CopyFile" />
<xs:element ref="CreateFolder" />
<xs:element ref="Environment" />
<xs:element ref="Extension" />
<xs:element ref="File" />
<xs:element ref="IniFile" />
<xs:element ref="Interface" />
<xs:element ref="IsolateComponent" />
<xs:element ref="ODBCDataSource" />
<xs:element ref="ODBCDriver" />
<xs:element ref="ODBCTranslator" />
<xs:element ref="ProgId" />
<xs:element ref="Registry" />
<xs:element ref="RegistryKey" />
<xs:element ref="RegistryValue" />
<xs:element ref="RemoveFile" />
<xs:element ref="RemoveFolder" />
<xs:element ref="RemoveRegistryKey" />
<xs:element ref="RemoveRegistryValue" />
<xs:element ref="ReserveCost" />
<xs:element ref="ServiceControl" />
<xs:element ref="ServiceInstall" />
<xs:element ref="Shortcut" />
<xs:element ref="SymbolPath" />
<xs:element ref="TypeLib" />
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Component identifier; this is the primary key for identifying components.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ComPlusFlags" type="xs:integer">
<xs:annotation>
<xs:documentation>
Set this attribute to create a ComPlus entry. The value should be the export flags used
during the generation of the .msi file. For more information see the COM+ documentation
in the Platform SDK.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DisableRegistryReflection" type="YesNoType">
<xs:annotation>
<xs:documentation>
Set this attribute to 'yes' in order to disable registry reflection on all existing and
new registry keys affected by this component.
When set to 'yes', the Windows Installer calls the RegDisableReflectionKey on each key
being accessed by the component.
This bit is available with Windows Installer version 4.0 and is ignored on 32-bit systems.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Directory" type="xs:string">
<xs:annotation>
<xs:documentation>
Sets the Directory of the Component. If this element is nested under a Directory element,
this value defaults to the value of the parent Directory/@Id.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DiskId" type="xs:integer">
<xs:annotation>
<xs:documentation>
This attribute must be set either on a Component element or all of its children File
elements. The value of this attribute should correspond to the Id attribute of a
Media element authored elsewhere. By creating this connection between a component (or
particular files), you set the packaging options to the values specified in the Media
element (values such as compression level, cab embedding, etc...).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Feature" type="xs:string">
<xs:annotation>
<xs:documentation>
Identifies a feature to which this component belongs, as a shorthand for a child
ComponentRef element of the Feature element. The value of this attribute should
correspond to the Id attribute of a Feature element authored elsewhere. Note that
a single component can belong to multiple features but this attribute allows you
to specify only a single feature.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Guid" type="ComponentGuid" use="required">
<xs:annotation>
<xs:documentation>
This value should be a guid that uniquely identifies this component's contents, language, platform, and version.
It's also possible to set the value to an empty string to specify an unmanaged component.
Unmanaged components are a security vulnerability because the component cannot be removed or repaired
by Windows Installer (it is essentially an unpatchable, permanent component). Therefore, a guid should
always be specified for any component which contains resources that may need to be patched in the future.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="KeyPath" type="YesNoType">
<xs:annotation>
<xs:documentation>
If this attribute's value is set to 'yes', then the Directory of this Component is used
as the KeyPath. To set a Registry key or File as the KeyPath of a component, set the
KeyPath attribute to 'yes' on one of those child elements.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Location">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="local">
<xs:annotation>
<xs:documentation>
Prevents the component from running from the source or the network (this is the default behavior if this attribute is not set).
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="source">
<xs:annotation>
<xs:documentation>
Enforces that the component can only be run from the source (it cannot be run from the user's computer).
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="either">
<xs:annotation>
<xs:documentation>
Allows the component to run from source or locally.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="NeverOverwrite" type="YesNoType">
<xs:annotation>
<xs:documentation>
If this attribute is set to 'yes', the installer does not install or reinstall the
component if a key path file or a key path registry entry for the component already
exists. The application does register itself as a client of the component. Use this
flag only for components that are being registered by the Registry table. Do not use
this flag for components registered by the AppId, Class, Extension, ProgId, MIME, and
Verb tables.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Permanent" type="YesNoType">
<xs:annotation>
<xs:documentation>
If this attribute is set to 'yes', the installer does not remove the component during
an uninstall. The installer registers an extra system client for the component in
the Windows Installer registry settings (which basically just means that at least one
product is always referencing this component). Note that this option differs from the
behavior of not setting a guid because although the component is permanent, it is still
patchable (because Windows Installer still tracks it), it's just not uninstallable.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Shared" type="YesNoType">
<xs:annotation>
<xs:documentation>
If this attribute's value is set to 'yes', enables advanced patching semantics for
Components that are shared across multiple Products. Specifically, the Windows Installer
will cache the shared files to improve patch uninstall. This functionality is available
in Windows Installer 4.5 and later.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SharedDllRefCount" type="YesNoType">
<xs:annotation>
<xs:documentation>
If this attribute's value is set to 'yes', the installer increments the reference count
in the shared DLL registry of the component's key file. If this bit is not set, the
installer increments the reference count only if the reference count already exists.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Transitive" type="YesNoType">
<xs:annotation>
<xs:documentation>
If this attribute is set to 'yes', the installer reevaluates the value of the statement
in the Condition upon a reinstall. If the value was previously False and has changed to
True, the installer installs the component. If the value was previously True and has
changed to False, the installer removes the component even if the component has other
products as clients.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="UninstallWhenSuperseded" type="YesNoType">
<xs:annotation>
<xs:documentation>
If this attribute is set to 'yes', the installer will uninstall the Component's files
and registry keys when it is superseded by a patch. This functionality is available in
Windows Installer 4.5 and later.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Win64" type="YesNoType">
<xs:annotation>
<xs:documentation>
Set this attribute to 'yes' to mark this as a 64-bit component. This attribute facilitates
the installation of packages that include both 32-bit and 64-bit components. If this bit
is not set, the component is registered as a 32-bit component. If this is a 64-bit
component replacing a 32-bit component, set this bit and assign a new GUID in the Guid attribute.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>

Element: ComponentGroup

Description

Groups together multiple components to be used in other locations.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    Identifier for the ComponentGroup.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    0..*   
any    1..1  Allow any element from the ##other namespace.
Component  anyType (restriction)  1..1  Component for parent Directory
ComponentGroupRef  anyType (restriction)  1..1  Create a reference to a ComponentGroup in another Fragment.
ComponentRef  anyType (restriction)  1..1  Create a reference to a Feature element in another Fragment.

Referenced By

Definition

<xs:element name="ComponentGroup">
<xs:annotation>
<xs:documentation>
Groups together multiple components to be used in other locations.
</xs:documentation>
<xs:appinfo>
<xse:seeAlso ref="ComponentGroupRef" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Component" />
<xs:element ref="ComponentGroupRef" />
<xs:element ref="ComponentRef" />
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Identifier for the ComponentGroup.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>

Element: ComponentGroupRef

Description

Create a reference to a ComponentGroup in another Fragment.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    The identifier of the ComponentGroup to reference.
Primary  YesNoType  No    Set this attribute to 'yes' in order to make the parent feature of this component the primary feature for this component.

Content Model

Always empty.

Referenced By

Definition

<xs:element name="ComponentGroupRef">
<xs:annotation>
<xs:documentation>Create a reference to a ComponentGroup in another Fragment.</xs:documentation>
<xs:appinfo>
<xse:seeAlso ref="ComponentGroup" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The identifier of the ComponentGroup to reference.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Primary" type="YesNoType">
<xs:annotation>
<xs:documentation>
Set this attribute to 'yes' in order to make the parent feature of this component
the primary feature for this component. Components may belong to multiple features.
By designating a feature as the primary feature of a component, you ensure that
whenever a component is selected for install-on-demand (IOD), the primary feature
will be the one to install it. This attribute should only be set if a component
actually nests under multiple features. If a component nests under only one feature,
that feature is the primary feature for the component. You cannot set more than one
feature as the primary feature of a given component.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>

Element: ComponentRef

Description

Create a reference to a Feature element in another Fragment.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    The identifier of the Component element to reference.
Primary  YesNoType  No    Set this attribute to 'yes' in order to make the parent feature of this component the primary feature for this component.

Content Model

Always empty.

Referenced By

Definition

<xs:element name="ComponentRef">
<xs:annotation>
<xs:documentation>Create a reference to a Feature element in another Fragment.</xs:documentation>
<xs:appinfo>
<xse:seeAlso ref="Component" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:howtoRef href="add_a_file.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Add a file to your installer</xse:howtoRef>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The identifier of the Component element to reference.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Primary" type="YesNoType">
<xs:annotation>
<xs:documentation>
Set this attribute to 'yes' in order to make the parent feature of this component
the primary feature for this component. Components may belong to multiple features.
By designating a feature as the primary feature of a component, you ensure that
whenever a component is selected for install-on-demand (IOD), the primary feature
will be the one to install it. This attribute should only be set if a component
actually nests under multiple features. If a component nests under only one feature,
that feature is the primary feature for the component. You cannot set more than one
feature as the primary feature of a given component.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>

Element: ComponentSearch

Description

Searches for file or directory and assigns to value of parent Property.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes     
Guid  Guid  No    The component ID of the component whose key path is to be used for the search.
Type  NMTOKEN (restriction)  No    Must be file if last child is FileSearch element and must be directory if last child is DirectorySearch element.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    0..1   
DirectorySearch  anyType (restriction)  1..1  Searches for directory and assigns to value of parent Property.
DirectorySearchRef  anyType (restriction)  1..1  References an existing DirectorySearch element.
FileSearch  anyType (restriction)  1..1  Searches for file and assigns to fullpath value of parent Property
FileSearchRef  anyType (restriction)  1..1  References an existing FileSearch element.

Definition

<xs:element name="ComponentSearch">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="IniFileSearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="RegistrySearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="CompLocator" href="http://msdn.microsoft.com/library/aa368001.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Signature" href="http://msdn.microsoft.com/library/aa371853.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Searches for file or directory and assigns to value of parent Property.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0">
<xs:element ref="DirectorySearch" />
<xs:element ref="DirectorySearchRef" />
<xs:element ref="FileSearch" />
<xs:element ref="FileSearchRef" />
</xs:choice>
<xs:attribute name="Id" use="required" type="xs:string" />
<xs:attribute name="Guid" type="Guid">
<xs:annotation>
<xs:documentation>The component ID of the component whose key path is to be used for the search.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Must be file if last child is FileSearch element and must be directory if last child is DirectorySearch element.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="directory">
<xs:annotation>
<xs:documentation>
The key path of the component is a directory.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="file">
<xs:annotation>
<xs:documentation>
The key path of the component is a file. This is the default value.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: Condition

Description

Conditions for components, controls, features, and products.

Derived By

Extending string

Attributes

Name  Type  Required?  Default  Description 
Action  NMTOKEN (restriction)  No    Used only under Control elements and is required. Allows specific actions to be applied to a control based on the result of this condition.
Level  integer  No    Used only under Feature elements and is required.
Message  string  No    Used only under Fragment or Product elements and is required.

Content Model

Contains text only.

Referenced By

Remarks

The condition is specified in the inner text of the element.

Definition

<xs:element name="Condition">
<xs:annotation>
<xs:documentation>
Conditions for components, controls, features, and products. The condition is specified in the inner text of the element.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="Component" href="http://msdn.microsoft.com/library/aa368007.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="ControlCondition" href="http://msdn.microsoft.com/library/aa368035.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Condition" href="http://msdn.microsoft.com/library/aa368014.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="LaunchCondition" href="http://msdn.microsoft.com/library/aa369752.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:howtoRef href="block_install_on_os.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Block installation based on OS version</xse:howtoRef>
<xse:howtoRef href="check_the_version_number.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Check the version number of a file during installation</xse:howtoRef>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:annotation>
<xs:documentation>
Under a Component element, the condition becomes the condition of the component. Under a Control element,
the condition becomes a ControlCondition entry. Under a Feature element, the condition becomes a Condition
entry. Under a Fragment or Product element, the condition becomes a LaunchCondition entry.
</xs:documentation>
</xs:annotation>
<xs:attribute name="Action">
<xs:annotation>
<xs:documentation>
Used only under Control elements and is required. Allows specific actions to be applied to a control based
on the result of this condition.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="default">
<xs:annotation>
<xs:documentation>
Set the Control as the default. Only used under Control elements.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="enable">
<xs:annotation>
<xs:documentation>
Enable the Control. Only used under Control elements.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="disable">
<xs:annotation>
<xs:documentation>
Disable the Control. Only used under Control elements.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="hide">
<xs:annotation>
<xs:documentation>
Hide the Control. Only used under Control elements.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="show">
<xs:annotation>
<xs:documentation>
Display the Control. Only used under Control elements.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Level" type="xs:integer">
<xs:annotation>
<xs:documentation>
Used only under Feature elements and is required. Allows modifying the level of a Feature based on the
result of this condition.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Message" type="xs:string">
<xs:annotation>
<xs:documentation>
Used only under Fragment or Product elements and is required. Set the value to the text to display when the
condition fails and the installation must be terminated.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>

Element: Configuration

Description

Defines the configurable attributes of merge module.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Name  string  Yes    Defines the name of the configurable item.
Format  string (restriction)  Yes    Specifies the format of the data being changed.
Type  string  No    Specifies the type of the data being changed.
ContextData  string  No    Specifies a semantic context for the requested data.
DefaultValue  string  No    Specifies a default value for the item in this record if the merge tool declines to provide a value.
KeyNoOrphan  YesNoType  No    Does not merge rule according to rules in MSI SDK.
NonNullable  YesNoType  No    If yes, null is not a valid entry.
DisplayName  string  No    Display name for authoring.
Description  string  No    Description for authoring.
HelpLocation  string  No    Location of chm file for authoring.
HelpKeyword  string  No    Keyword into chm file for authoring.

Content Model

Always empty.

Definition

<xs:element name="Configuration">
<xs:annotation>
<xs:documentation>Defines the configurable attributes of merge module.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Name" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Defines the name of the configurable item.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Format" use="required">
<xs:annotation>
<xs:documentation>Specifies the format of the data being changed.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Text" />
<xs:enumeration value="Key" />
<xs:enumeration value="Integer" />
<xs:enumeration value="Bitfield" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Type" type="xs:string">
<xs:annotation>
<xs:documentation>Specifies the type of the data being changed.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ContextData" type="xs:string">
<xs:annotation>
<xs:documentation>Specifies a semantic context for the requested data.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DefaultValue" type="xs:string">
<xs:annotation>
<xs:documentation>Specifies a default value for the item in this record if the merge tool declines to provide a value.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="KeyNoOrphan" type="YesNoType">
<xs:annotation>
<xs:documentation>Does not merge rule according to rules in MSI SDK.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="NonNullable" type="YesNoType">
<xs:annotation>
<xs:documentation>If yes, null is not a valid entry.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DisplayName" type="xs:string">
<xs:annotation>
<xs:documentation>Display name for authoring.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Description" type="xs:string">
<xs:annotation>
<xs:documentation>Description for authoring.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="HelpLocation" type="xs:string">
<xs:annotation>
<xs:documentation>Location of chm file for authoring.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="HelpKeyword" type="xs:string">
<xs:annotation>
<xs:documentation>Keyword into chm file for authoring.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: ConfigurationData

Description

Data to use as input to a configurable merge module.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Name  string  Yes    Key into the ModuleConfiguration table.
Value  string  Yes    Value to be passed to configurable merge module.

Content Model

Always empty.

Referenced By

Definition

<xs:element name="ConfigurationData">
<xs:annotation>
<xs:documentation>Data to use as input to a configurable merge module.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Name" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Key into the ModuleConfiguration table.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Value" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Value to be passed to configurable merge module.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: Control

Description

Contains the controls that appear on each dialog.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    Combined with the Dialog Id to make up the primary key of the Control table.
Type  string  Yes    The type of the control.
X  LocalizableInteger  Yes    Horizontal coordinate of the upper-left corner of the rectangular boundary of the control.
Y  LocalizableInteger  Yes    Vertical coordinate of the upper-left corner of the rectangular boundary of the control.
Width  LocalizableInteger  Yes    Width of the rectangular boundary of the control.
Height  LocalizableInteger  Yes    Height of the rectangular boundary of the control.
Property  string  No    The name of a defined property to be linked to this control.
Text  string  No    A localizable string used to set the initial text contained in a control.
Help  string  No    This attribute is reserved for future use.
ToolTip  string  No    The string used for the Tooltip.
CheckBoxValue  string  No    This attribute is only valid for CheckBox Controls.
TabSkip  YesNoType  No    Set this attribute to "yes" to cause this Control to be skipped in the tab sequence.
Default  YesNoType  No    Set this attribute to "yes" to cause this Control to be invoked by the return key.
Cancel  YesNoType  No    Set this attribute to "yes" to cause this Control to be invoked by the escape key.
Hidden  YesNoType  No    Set this attribute to "yes" to cause the Control to be hidden.
Disabled  YesNoType  No    Set this attribute to "yes" to cause the Control to be disabled.
Sunken  YesNoType  No    Set this attribute to "yes" to cause the Control to be sunken.
Indirect  YesNoType  No    Specifies whether the value displayed or changed by this control is referenced indirectly.
Integer  YesNoType  No    Set this attribute to "yes" to cause the linked Property value for the Control to be treated as an integer. Otherwise, the Property will be treated as a string.
RightToLeft  YesNoType  No    Set this attribute to "yes" to cause the Control to display from right to left.
RightAligned  YesNoType  No    Set this attribute to "yes" to cause the Control to be right aligned.
LeftScroll  YesNoType  No    Set this attribute to "yes" to cause the scroll bar to display on the left side of the Control.
Transparent  YesNoType  No    This attribute is only valid for Text Controls.
NoPrefix  YesNoType  No    This attribute is only valid for Text Controls.
NoWrap  YesNoType  No    This attribute is only valid for Text Controls.
FormatSize  YesNoType  No    This attribute is only valid for Text Controls.
UserLanguage  YesNoType  No    This attribute is only valid for Text Controls.
Multiline  YesNoType  No    This attribute is only valid for Edit Controls.
Password  YesNoType  No    This attribute is only valid for Edit Controls.
ProgressBlocks  YesNoType  No    This attribute is only valid for ProgressBar Controls.
Removable  YesNoType  No    This attribute is only valid for Volume and Directory Controls.
Fixed  YesNoType  No    This attribute is only valid for Volume and Directory Controls.
Remote  YesNoType  No    This attribute is only valid for Volume and Directory Controls.
CDROM  YesNoType  No    This attribute is only valid for Volume and Directory Controls.
RAMDisk  YesNoType  No    This attribute is only valid for Volume and Directory Controls.
Floppy  YesNoType  No    This attribute is only valid for Volume and Directory Controls.
ShowRollbackCost  YesNoType  No    This attribute is only valid for VolumeCostList Controls.
Sorted  YesNoType  No    This attribute is only valid for Listbox, ListView, and ComboBox Controls.
ComboList  YesNoType  No    This attribute is only valid for ComboBox Controls.
Image  YesNoType  No    This attribute is only valid for RadioButton, PushButton, and Icon Controls.
IconSize  NMTOKEN (restriction)  No    This attribute is only valid for RadioButton, PushButton, and Icon Controls.
FixedSize  YesNoType  No    This attribute is only valid for RadioButton, PushButton, and Icon Controls.
Icon  YesNoType  No    This attribute is only valid for RadioButton and PushButton Controls.
Bitmap  YesNoType  No    This attribute is only valid for RadioButton and PushButton Controls.
PushLike  YesNoType  No    This attribute is only valid for RadioButton and Checkbox Controls.
HasBorder  YesNoType  No    This attribute is only valid for RadioButton Controls.
ElevationShield  YesNoType  No    This attribute is only valid for PushButton controls.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    1..1   
Text  string (extension)  0..1  An alternative to using the Text attribute when the value contains special XML characters like &lt;, &gt;, or &amp;.
ComboBox  anyType (restriction)  0..1  Set of items for a particular ComboBox control tied to an install Property
ListBox  anyType (restriction)  0..1  Set of items for a particular ListBox control tied to an install Property
ListView  anyType (restriction)  0..1  Set of items for a particular ListView control tied to an install Property
RadioButtonGroup  anyType (restriction)  0..1  Set of radio buttons tied to the specified Property
Property  anyType (restriction)  0..1  Property value for a Product or Module.
Binary  anyType (restriction)  0..1  Binary data used for CustomAction elements and UI controls.
    0..*   
Condition  string (extension)  1..1  Conditions for components, controls, features, and products.
Publish  string (extension)  1..1   
Subscribe  anyType (restriction)  1..1  Sets attributes for events in the EventMapping table

Referenced By

Definition

<xs:element name="Control">
<xs:annotation>
<xs:appinfo>
<xse:msiRef table="Control" href="http://msdn.microsoft.com/library/aa368044.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="ComboBox" href="http://msdn.microsoft.com/library/aa367872.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Dialog" href="http://msdn.microsoft.com/library/aa368286.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="ListBox" href="http://msdn.microsoft.com/library/aa369762.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="ListView" href="http://msdn.microsoft.com/library/aa369764.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="RadioButton" href="http://msdn.microsoft.com/library/aa370962.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Contains the controls that appear on each dialog.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="Text" minOccurs="0">
<xs:annotation>
<xs:documentation>alternative to Text attribute when CDATA is needed to escape XML delimiters</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ComboBox" minOccurs="0">
<xs:annotation>
<xs:documentation>ComboBox table with ListItem children</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ListBox" minOccurs="0">
<xs:annotation>
<xs:documentation>ListBox table with ListItem children</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ListView" minOccurs="0">
<xs:annotation>
<xs:documentation>ListView table with ListItem children</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RadioButtonGroup" minOccurs="0">
<xs:annotation>
<xs:documentation>RadioButton table with RadioButton children</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="Property" minOccurs="0">
<xs:annotation>
<xs:documentation>Property table entry for the Property table column associated with this control</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="Binary" minOccurs="0">
<xs:annotation>
<xs:documentation>Icon referenced in icon column of row</xs:documentation>
</xs:annotation>
</xs:element>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>child elements affecting operation of this control</xs:documentation>
</xs:annotation>
<xs:element ref="Condition">
<xs:annotation>
<xs:documentation>Condition to specify actions for this control based on the outcome of the condition.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="Publish" />
<xs:element ref="Subscribe" />
</xs:choice>
</xs:sequence>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Combined with the Dialog Id to make up the primary key of the Control table.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Type" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>The type of the control. Could be one of the following: Billboard, Bitmap, CheckBox, ComboBox, DirectoryCombo, DirectoryList, Edit, GroupBox, Icon, Line, ListBox, ListView, MaskedEdit, PathEdit, ProgressBar, PushButton, RadioButtonGroup, ScrollableText, SelectionTree, Text, VolumeCostList, VolumeSelectCombo</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="X" use="required" type="LocalizableInteger">
<xs:annotation>
<xs:documentation>Horizontal coordinate of the upper-left corner of the rectangular boundary of the control. This must be a non-negative number.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Y" use="required" type="LocalizableInteger">
<xs:annotation>
<xs:documentation>Vertical coordinate of the upper-left corner of the rectangular boundary of the control. This must be a non-negative number.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Width" use="required" type="LocalizableInteger">
<xs:annotation>
<xs:documentation>Width of the rectangular boundary of the control. This must be a non-negative number.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Height" use="required" type="LocalizableInteger">
<xs:annotation>
<xs:documentation>Height of the rectangular boundary of the control. This must be a non-negative number.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Property" type="xs:string">
<xs:annotation>
<xs:documentation>The name of a defined property to be linked to this control. This column is required for active controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Text" type="xs:string">
<xs:annotation>
<xs:documentation>A localizable string used to set the initial text contained in a control. This attribute can contain a formatted string that is processed at install time to insert the values of properties using [PropertyName] syntax. Also supported are environment variables, file installation paths, and component installation directories; see <a href="http://msdn2.microsoft.com/library/aa368609.aspx" target="_blank" xmlns="http://schemas.microsoft.com/wix/2006/wi">Formatted</a> for details.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Help" type="xs:string">
<xs:annotation>
<xs:documentation>This attribute is reserved for future use. There is no need to use this until Windows Installer uses it for something.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ToolTip" type="xs:string">
<xs:annotation>
<xs:documentation>The string used for the Tooltip.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="CheckBoxValue" type="xs:string">
<xs:annotation>
<xs:documentation>This attribute is only valid for CheckBox Controls. When set, the linked Property will be set to this value when the check box is checked.</xs:documentation>
</xs:annotation>
</xs:attribute>
<!-- Control ordering - order of declaration in Dialog determines tab ordering -->
<xs:attribute name="TabSkip" type="YesNoType">
<xs:annotation>
<xs:documentation>Set this attribute to "yes" to cause this Control to be skipped in the tab sequence.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Default" type="YesNoType">
<xs:annotation>
<xs:documentation>Set this attribute to "yes" to cause this Control to be invoked by the return key.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Cancel" type="YesNoType">
<xs:annotation>
<xs:documentation>Set this attribute to "yes" to cause this Control to be invoked by the escape key.</xs:documentation>
</xs:annotation>
</xs:attribute>
<!-- common Control attributes -->
<xs:attribute name="Hidden" type="YesNoType">
<xs:annotation>
<xs:documentation>Set this attribute to "yes" to cause the Control to be hidden.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Disabled" type="YesNoType">
<xs:annotation>
<xs:documentation>Set this attribute to "yes" to cause the Control to be disabled.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Sunken" type="YesNoType">
<xs:annotation>
<xs:documentation>Set this attribute to "yes" to cause the Control to be sunken.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Indirect" type="YesNoType">
<xs:annotation>
<xs:documentation>Specifies whether the value displayed or changed by this control is referenced indirectly. If this bit is set, the control displays or changes the value of the property that has the identifier listed in the Property column of the Control table.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Integer" type="YesNoType">
<xs:annotation>
<xs:documentation>Set this attribute to "yes" to cause the linked Property value for the Control to be treated as an integer. Otherwise, the Property will be treated as a string.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RightToLeft" type="YesNoType">
<xs:annotation>
<xs:documentation>Set this attribute to "yes" to cause the Control to display from right to left.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RightAligned" type="YesNoType">
<xs:annotation>
<xs:documentation>Set this attribute to "yes" to cause the Control to be right aligned.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="LeftScroll" type="YesNoType">
<xs:annotation>
<xs:documentation>Set this attribute to "yes" to cause the scroll bar to display on the left side of the Control.</xs:documentation>
</xs:annotation>
</xs:attribute>
<!-- attributes applied to specific Controls -->
<xs:attribute name="Transparent" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Text Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="NoPrefix" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Text Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="NoWrap" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Text Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="FormatSize" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Text Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="UserLanguage" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Text Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Multiline" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Edit Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Password" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Edit Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ProgressBlocks" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for ProgressBar Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Removable" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Volume and Directory Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Fixed" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Volume and Directory Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Remote" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Volume and Directory Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="CDROM" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Volume and Directory Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RAMDisk" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Volume and Directory Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Floppy" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Volume and Directory Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ShowRollbackCost" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for VolumeCostList Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Sorted" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Listbox, ListView, and ComboBox Controls. Set
the value of this attribute to "yes" to have entries appear in the order specified under the Control.
If the attribute value is "no" or absent the entries in the control will appear in alphabetical order.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ComboList" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for ComboBox Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Image" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for RadioButton, PushButton, and Icon Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IconSize">
<xs:annotation>
<xs:documentation>This attribute is only valid for RadioButton, PushButton, and Icon Controls.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="16" />
<xs:enumeration value="32" />
<xs:enumeration value="48" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="FixedSize" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for RadioButton, PushButton, and Icon Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Icon" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for RadioButton and PushButton Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Bitmap" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for RadioButton and PushButton Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PushLike" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for RadioButton and Checkbox Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="HasBorder" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for RadioButton Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ElevationShield" type="YesNoType">
<xs:annotation>
<xs:documentation>
This attribute is only valid for PushButton controls.
Set this attribute to "yes" to add the User Account Control (UAC) elevation icon (shield icon) to the PushButton control.
If this attribute's value is "yes" and the installation is not yet running with elevated privileges,
the pushbutton control is created using the User Account Control (UAC) elevation icon (shield icon).
If this attribute's value is "yes" and the installation is already running with elevated privileges,
the pushbutton control is created using the other icon attributes.
Otherwise, the pushbutton control is created using the other icon attributes.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: CopyFile

Description

Copy or move an existing file on the target machine, or copy a file that is being installed, to another destination.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    Primary key used to identify this particular entry.
FileId  string  No    This attribute cannot be specified if the element is nested under a File element.
SourceDirectory  string  No    This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified.
SourceProperty  string  No    This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified.
SourceName  WildCardLongFileNameType  No    This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified.
DestinationDirectory  string  No    Set this value to the destination directory where an existing file on the target machine should be moved or copied to.
DestinationProperty  string  No    Set this value to a property that will have a value that resolves to the full path of the destination directory.
DestinationName  LongFileNameType  No    In prior versions of the WiX toolset, this attribute specified the short file name.
DestinationLongName  LongFileNameType  No     
DestinationShortName  ShortFileNameType  No    The short file name of the file in 8.3 format.
Delete  YesNoType  No    This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified.

Content Model

Always empty.

Referenced By

Remarks

When this element is nested under a File element, the parent file will be installed, then copied to the specified destination if the parent component of the file is selected for installation or removal. When this element is nested under a Component element and no FileId attribute is specified, the file to copy or move must already be on the target machine.

When this element is nested under a Component element and the FileId attribute is specified, the specified file is installed, then copied to the specified destination if the parent component is selected for installation or removal (use this option to control the copy of a file in a different component by the parent component's installation state). If the specified destination directory is the same as the directory containing the original file and the name for the proposed source file is the same as the original, then no action takes place.

Definition

<xs:element name="CopyFile">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="RemoveFile" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="DuplicateFile" href="http://msdn.microsoft.com/library/aa368335.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="MoveFile" href="http://msdn.microsoft.com/library/aa370055.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>
Copy or move an existing file on the target machine, or copy a file that is being installed, to another destination. When
this element is nested under a File element, the parent file will be installed, then copied to the specified destination
if the parent component of the file is selected for installation or removal. When this element is nested under
a Component element and no FileId attribute is specified, the file to copy or move must already be on the target machine.
When this element is nested under a Component element and the FileId attribute is specified, the specified file is installed,
then copied to the specified destination if the parent component is selected for installation or removal (use
this option to control the copy of a file in a different component by the parent component's installation state). If the
specified destination directory is the same as the directory containing the original file and the name for the proposed source
file is the same as the original, then no action takes place.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Primary key used to identify this particular entry.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="FileId" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute cannot be specified if the element is nested under a File element. Set this attribute's value to the identifier
of a file from a different component to copy it based on the install state of the parent component.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SourceDirectory" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified. Set
this value to the source directory from which to copy or move an existing file on the target machine. This Directory must
exist in the installer database at creation time. This attribute cannot be specified in conjunction with SourceProperty.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SourceProperty" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified. Set
this value to a property that will have a value that resolves to the full path of the source directory (or full path
including file name if SourceName is not specified). The property does not have to exist in the installer database at
creation time; it could be created at installation time by a custom action, on the command line, etc. This attribute
cannot be specified in conjunction with SourceDirectory.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SourceName" type="WildCardLongFileNameType">
<xs:annotation>
<xs:documentation>
This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified. Set
this value to the localizable name of the file(s) to be copied or moved. All of the files that
match the wild card will be removed from the specified directory. The value is a filename that may also
contain the wild card characters "?" for any single character or "*" for zero or more occurrences of any character. If this
attribute is not specified (and this element is not nested under a File element or specify a FileId attribute) then the
SourceProperty attribute should be set to the name of a property that will resolve to the full path of the source filename.
If the value of this attribute contains a "*" wildcard and the DestinationName attribute is specified, all moved or copied
files retain the file names from their sources.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DestinationDirectory" type="xs:string">
<xs:annotation>
<xs:documentation>
Set this value to the destination directory where an existing file on the target machine should be moved or copied to. This
Directory must exist in the installer database at creation time. This attribute cannot be specified in conjunction with
DestinationProperty.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DestinationProperty" type="xs:string">
<xs:annotation>
<xs:documentation>
Set this value to a property that will have a value that resolves to the full path of the destination directory. The property
does not have to exist in the installer database at creation time; it could be created at installation time by a custom
action, on the command line, etc. This attribute cannot be specified in conjunction with DestinationDirectory.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DestinationName" type="LongFileNameType">
<xs:annotation>
<xs:documentation>
In prior versions of the WiX toolset, this attribute specified the short file name.
Now set this value to the localizable name to be given to the original file after it is moved or copied.
If this attribute is not specified, then the destination file is given the same name as the source file.
If a short file name is specified, the DestinationShortName attribute may not be specified.
If a long file name is specified, the DestinationLongName attribute may not be specified.
Also, if this value is a long file name, the DestinationShortName attribute may be omitted to
allow WiX to attempt to generate a unique short file name.
However, if this name collides with another file or you wish to manually specify
the short file name, then the DestinationShortName attribute may be specified.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DestinationLongName" type="LongFileNameType">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="DestinationName" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DestinationShortName" type="ShortFileNameType">
<xs:annotation>
<xs:documentation>
The short file name of the file in 8.3 format.
This attribute should only be set if there is a conflict between generated short file names
or you wish to manually specify the short file name.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Delete" type="YesNoType">
<xs:annotation>
<xs:documentation>
This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified. In other
cases, if the attribute is not specified, the default value is "no" and the file is copied, not moved. Set the value to "yes"
in order to move the file (thus deleting the source file) instead of copying it.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: CostFinalize

Description

Ends the internal installation costing process begun by the CostInitialize action.

Derived By

Type ActionSequenceType

Attributes

Name  Type  Required?  Default  Description 
Sequence  integer  No    A value used to indicate the position of this action in a sequence.
Suppress  YesNoType  No    If yes, this action will not occur.

Content Model

Contains text only.

Referenced By

Remarks

Any standard or custom actions that affect costing should be sequenced before the CostInitialize action. Call the FileCost action immediately following the CostInitialize action and then call the CostFinalize action to make all final cost calculations available to the installer through the Component table. The CostFinalize action must be executed before starting any user interface sequence which allows the user to view or modify Feature table selections or directories. The CostFinalize action queries the Condition table to determine which features are scheduled to be installed. Costing is done for each component in the Component table. The CostFinalize action also verifies that all the target directories are writable before allowing the installation to continue. The condition for this action may be specified in the element's inner text.

Definition

<xs:element name="CostFinalize" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="CostInitialize" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="FileCost" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef action="CostFinalize" href="http://msdn.microsoft.com/library/aa368048.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Ends the internal installation costing process begun by the CostInitialize action. Any standard or custom actions that affect costing should be sequenced before the CostInitialize action. Call the FileCost action immediately following the CostInitialize action and then call the CostFinalize action to make all final cost calculations available to the installer through the Component table. The CostFinalize action must be executed before starting any user interface sequence which allows the user to view or modify Feature table selections or directories. The CostFinalize action queries the Condition table to determine which features are scheduled to be installed. Costing is done for each component in the Component table. The CostFinalize action also verifies that all the target directories are writable before allowing the installation to continue. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>

Element: CostInitialize

Description

Initiates the internal installation costing process.

Derived By

Type ActionSequenceType

Attributes

Name  Type  Required?  Default  Description 
Sequence  integer  No    A value used to indicate the position of this action in a sequence.
Suppress  YesNoType  No    If yes, this action will not occur.

Content Model

Contains text only.

Referenced By

Remarks

Any standard or custom actions that affect costing should be sequenced before the CostInitialize action. Call the FileCost action immediately following the CostInitialize action. Then call the CostFinalize action following the CostInitialize action to make all final cost calculations available to the installer through the Component table. The condition for this action may be specified in the element's inner text.

Definition

<xs:element name="CostInitialize" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="FileCost" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="CostFinalize" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef action="CostInitialize" href="http://msdn.microsoft.com/library/aa368048.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Initiates the internal installation costing process. Any standard or custom actions that affect costing should be sequenced before the CostInitialize action. Call the FileCost action immediately following the CostInitialize action. Then call the CostFinalize action following the CostInitialize action to make all final cost calculations available to the installer through the Component table. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>

Element: CreateFolder

Description

Create folder as part of parent Component.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Directory  string  No    Identifier of Directory to create.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    0..*   
any    1..1  Allow any element from the ##other namespace.
Permission  anyType (restriction)  0..*  Sets ACLs on File, Registry, or CreateFolder.
Shortcut  anyType (restriction)  0..*  Shortcut, default target is parent File, CreateFolder, or Component's Directory

Referenced By

Definition

<xs:element name="CreateFolder">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="RemoveFolder" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="CreateFolder" href="http://msdn.microsoft.com/library/aa368053.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Create folder as part of parent Component.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Shortcut" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Non-advertised shortcut to this folder, Shortcut Target is preset to the folder</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="Permission" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>ACL permission</xs:documentation>
</xs:annotation>
</xs:element>
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
<xs:attribute name="Directory" type="xs:string">
<xs:annotation>
<xs:documentation>Identifier of Directory to create. Defaults to Directory of parent Component.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: CreateFolders

Description

Creates empty folders for components that are set to be installed.

Derived By

Type ActionSequenceType

Attributes

Name  Type  Required?  Default  Description 
Sequence  integer  No    A value used to indicate the position of this action in a sequence.
Suppress  YesNoType  No    If yes, this action will not occur.

Content Model

Contains text only.

Referenced By

Remarks

The condition for this action may be specified in the element's inner text.

Definition

<xs:element name="CreateFolders" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="CreateFolders" href="http://msdn.microsoft.com/library/aa368052.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Creates empty folders for components that are set to be installed. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>

Element: CreateShortcuts

Description

Manages the creation of shortcuts.

Derived By

Type ActionSequenceType

Attributes

Name  Type  Required?  Default  Description 
Sequence  integer  No    A value used to indicate the position of this action in a sequence.
Suppress  YesNoType  No    If yes, this action will not occur.

Content Model

Contains text only.

Referenced By

Remarks

The condition for this action may be specified in the element's inner text.

Definition

<xs:element name="CreateShortcuts" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="CreateShortcuts" href="http://msdn.microsoft.com/library/aa368054.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Manages the creation of shortcuts. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>

Element: Custom

Description

Use to sequence a custom action.

Derived By

Extending string

Attributes

Name  Type  Required?  Default  Description 
Action  string  Yes    The action to which the Custom element applies.
OnExit  NMTOKEN (restriction)  No    Mutually exclusive with Before, After, and Sequence attributes
Before  string  No    The name of the standard or custom action before which this action should be performed. Mutually exclusive with OnExit, After, and Sequence attributes
After  string  No    The name of the standard or custom action after which this action should be performed.
Overridable  YesNoType  No    If "yes", the sequencing of this action may be overridden by sequencing elsewhere.
Sequence  integer  No    The sequence number for this action.

Content Model

Contains text only.

Referenced By

Definition

<xs:element name="Custom">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="CustomAction" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Use to sequence a custom action.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:annotation>
<xs:documentation>Text node specifies the condition of the action.</xs:documentation>
</xs:annotation>
<xs:attribute name="Action" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The action to which the Custom element applies.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="OnExit">
<xs:annotation>
<xs:documentation>Mutually exclusive with Before, After, and Sequence attributes</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="success" />
<xs:enumeration value="cancel" />
<xs:enumeration value="error" />
<xs:enumeration value="suspend" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Before" type="xs:string">
<xs:annotation>
<xs:documentation>The name of the standard or custom action before which this action should be performed. Mutually exclusive with OnExit, After, and Sequence attributes</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="After" type="xs:string">
<xs:annotation>
<xs:documentation>The name of the standard or custom action after which this action should be performed. Mutually exclusive with Before, OnExit, and Sequence attributes</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Overridable" type="YesNoType">
<xs:annotation>
<xs:documentation>
If "yes", the sequencing of this action may be overridden by sequencing elsewhere.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Sequence" type="xs:integer">
<xs:annotation>
<xs:documentation>The sequence number for this action. Mutually exclusive with Before, After, and OnExit attributes</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>

Element: CustomAction

Description

Specifies a custom action to be added to the MSI CustomAction table.

Derived By

Extending string

Attributes

Name  Type  Required?  Default  Description 
Id  string  No    The identifier of the custom action.
BinaryKey  string  No    This attribute is a reference to a Binary element with matching Id attribute.
FileKey  string  No    This attribute specifies a reference to a File element with matching Id attribute that will execute the custom action code in the file after the file is installed.
Property  string  No    This attribute specifies a reference to a Property element with matching Id attribute that specifies the Property to be used or updated on execution of this custom action.
Directory  string  No    This attribute specifies a reference to a Directory element with matching Id attribute containing a directory path.

DllEntry  string  No    This attribute specifies the name of a function in a custom action to execute.

ExeCommand  string  No    This attribute specifies the command line parameters to supply to an externally run executable.
JScriptCall  string  No    This attribute specifies the name of the JScript function to execute in a script.
VBScriptCall  string  No    This attribute specifies the name of the VBScript Subroutine to execute in a script.
Script  NMTOKEN (restriction)  No    Creates a type 37 or 38 custom action.
SuppressModularization  YesNoType  No    Use to suppress modularization of this custom action name in merge modules.
Value  string  No    This attribute specifies a string value to use in the custom action.
Error  string  No    This attribute specifies an index in the MSI Error table to use as an error message for a type 19 custom action that displays the error message and aborts a product's installation.
Return  NMTOKEN (restriction)  No    Set this attribute to set the return behavior of the custom action.
Execute  NMTOKEN (restriction)  No    This attribute indicates the scheduling of the custom action.
Impersonate  YesNoType  No    This attribute specifies whether the Windows Installer, which executes as LocalSystem, should impersonate the user context of the installing user when executing this custom action.
PatchUninstall  YesNoType  No    This attribute specifies that the Windows Installer, execute the custom action only when a patch is being uninstalled.
Win64  YesNoType  No    Specifies that a script custom action targets a 64-bit platform.
TerminalServerAware  YesNoType  No    This attribute specifies controls whether the custom action will impersonate the installing user during per-machine installs on Terminal Server machines.

HideTarget  YesNoType  No    Ensures the installer does not log the CustomActionData for the deferred custom action.

Content Model

Contains text only.

Referenced By

Remarks

Various combinations of the attributes for this element correspond to different custom action types. For more information about custom actions see the Custom Action Types topic on MSDN.

Definition

<xs:element name="CustomAction">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="Custom" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="CustomActionRef" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="CustomAction" href="http://msdn.microsoft.com/library/aa368062.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>
Specifies a custom action to be added to the MSI CustomAction table. Various combinations of the attributes for this element
correspond to different custom action types. For more information about custom actions see the
<html:a href="http://msdn.microsoft.com/library/aa372048.aspx" target="_blank" xmlns:html="http://www.w3.org/1999/xhtml">
Custom Action Types</html:a> topic on MSDN.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:annotation>
<xs:documentation>
The text node is only valid if the Script attribute is specified. In that case, the text node contains the script to embed.
</xs:documentation>
</xs:annotation>
<xs:attribute name="Id" type="xs:string">
<xs:annotation>
<xs:documentation>
The identifier of the custom action.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<!-- CustomAction Source specification, sets source Attribute bits -->
<xs:attribute name="BinaryKey" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute is a reference to a Binary element with matching Id attribute. That binary stream contains
the custom action for use during install. The custom action will not be installed into a target directory. This attribute is
typically used with the DllEntry attribute to specify the custom action DLL to use for a type 1 custom action, with the ExeCommand
attribute to specify a type 17 custom action that runs an embedded executable, or with the VBScriptCall or JScriptCall attributes
to specify a type 5 or 6 custom action.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="FileKey" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute specifies a reference to a File element with matching Id attribute that
will execute the custom action code in the file after the file is installed. This
attribute is typically used with the ExeCommand attribute to specify a type 18 custom action
that runs an installed executable, with the DllEntry attribute to specify an installed custom
action DLL to use for a type 17 custom action, or with the VBScriptCall or JScriptCall
attributes to specify a type 21 or 22 custom action.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Property" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute specifies a reference to a Property element with matching Id attribute that specifies the Property
to be used or updated on execution of this custom action. This attribute is
typically used with the Value attribute to create a type 51 custom action that parses
the text in Value and places it into the specified Property. This attribute is also used with
the ExeCommand attribute to create a type 50 custom action that uses the value of the
given property to specify the path to the executable. Type 51 custom actions are often useful to
pass values to a deferred custom action.
See <html:a href="http://msdn.microsoft.com/library/aa370543.aspx" target="_blank" xmlns:html="http://www.w3.org/1999/xhtml">
http://msdn.microsoft.com/library/aa370543.aspx</html:a>
for more information.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Directory" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute specifies a reference to a Directory element with matching Id attribute containing a directory path.
This attribute is typically used with the ExeCommand attribute to specify the source executable for a type 34
custom action, or with the Value attribute to specify a formatted string to place in the specified Directory
table entry in a type 35 custom action.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<!-- CustomAction Target specification, sets target Attribute bits -->
<xs:attribute name="DllEntry" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute specifies the name of a function in a custom action to execute.
This attribute is used with the BinaryKey attribute to create a type 1 custom
action, or with the FileKey attribute to create a type 17 custom action.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ExeCommand" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute specifies the command line parameters to supply to an externally
run executable. This attribute is typically used with the BinaryKey attribute for a type 2 custom action,
the FileKey attribute for a type 18 custom action, the Property attribute for a type 50 custom action,
or the Directory attribute for a type 34 custom action that specify the executable to run.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="JScriptCall" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute specifies the name of the JScript function to execute in a script. The script must be
provided in a Binary element identified by the BinaryKey attribute described above. In other words, this
attribute must be specified in conjunction with the BinaryKey attribute.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="VBScriptCall" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute specifies the name of the VBScript Subroutine to execute in a script. The script must be
provided in a Binary element identified by the BinaryKey attribute described above. In other words, this
attribute must be specified in conjunction with the BinaryKey attribute.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Script">
<xs:annotation>
<xs:documentation>
Creates a type 37 or 38 custom action. The text of the element should contain the script to be embedded in the package.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="jscript" />
<xs:enumeration value="vbscript" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="SuppressModularization" type="YesNoType">
<xs:annotation>
<xs:documentation>
Use to suppress modularization of this custom action name in merge modules.
This should only be necessary for table-driven custom actions because the
table name which they interact with cannot be modularized, so there can only
be one instance of the table.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Value" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute specifies a string value to use in the custom action. This attribute
must be used with the Property attribute to set the property as part of a
type 51 custom action or with the Directory attribute to set a directory path in that
table in a type 35 custom action. The value can be a literal value or derived from a
Property element using the <html:a href="http://msdn.microsoft.com/library/aa368609.aspx" target="_blank" xmlns:html="http://www.w3.org/1999/xhtml">Formatted</html:a>
syntax.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Error" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute specifies an index in the MSI Error table to use as an error message for a
type 19 custom action that displays the error message and aborts a product's installation.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<!-- Other CustomAction type attributes -->
<xs:attribute name="Return">
<xs:annotation>
<xs:documentation>
Set this attribute to set the return behavior of the custom action.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="asyncNoWait">
<xs:annotation>
<xs:documentation>
Indicates that the custom action will run asyncronously and execution may continue after the installer terminates.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="asyncWait">
<xs:annotation>
<xs:documentation>
Indicates that the custom action will run asynchronously but the installer will wait for the return code at sequence end.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="check">
<xs:annotation>
<xs:documentation>
Indicates that the custom action will run synchronously and the return code will be checked for success. This is the default.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ignore">
<xs:annotation>
<xs:documentation>
Indicates that the custom action will run synchronously and the return code will not be checked.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Execute">
<xs:annotation>
<xs:documentation>
This attribute indicates the scheduling of the custom action.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="commit">
<xs:annotation>
<xs:documentation>
Indicates that the custom action will run after successful completion of the installation script (at the end of the installation).
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="deferred">
<xs:annotation>
<xs:documentation>
Indicates that the custom action runs in-script (possibly with elevated privileges).
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="firstSequence">
<xs:annotation>
<xs:documentation>
Indicates that the custom action will only run in the first sequence that runs it.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="immediate">
<xs:annotation>
<xs:documentation>
Indicates that the custom action will run during normal processing time with user privileges. This is the default.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="oncePerProcess">
<xs:annotation>
<xs:documentation>
Indicates that the custom action will only run in the first sequence that runs it in the same process.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="rollback">
<xs:annotation>
<xs:documentation>
Indicates that a custom action will run in the rollback sequence when a failure
occurs during installation, usually to undo changes made by a deferred custom action.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="secondSequence">
<xs:annotation>
<xs:documentation>
Indicates that a custom action should be run a second time if it was previously run in an earlier sequence.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Impersonate" type="YesNoType">
<xs:annotation>
<xs:documentation>
This attribute specifies whether the Windows Installer, which executes as LocalSystem,
should impersonate the user context of the installing user when executing this custom action.
Typically the value should be 'yes', except when the custom action needs elevated privileges
to apply changes to the machine.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PatchUninstall" type="YesNoType">
<xs:annotation>
<xs:documentation>
This attribute specifies that the Windows Installer, execute the custom action only when
a patch is being uninstalled. These custom actions should also be conditioned using the
MSIPATCHREMOVE property to ensure proper down level (less than Windows Installer 4.5)
behavior.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Win64" type="YesNoType">
<xs:annotation>
<xs:documentation>
Specifies that a script custom action targets a 64-bit platform. Valid only when used with
the Script, VBScriptCall, and JScriptCall attributes.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="TerminalServerAware" type="YesNoType">
<xs:annotation>
<xs:documentation>
This attribute specifies controls whether the custom action will impersonate the
installing user during per-machine installs on Terminal Server machines.
Deferred execution custom actions that do not specify this attribute, or explicitly set it 'no',
will run with no user impersonation on Terminal Server machines during
per-machine installations. This attribute is only applicable when installing on the
Windows Server 2003 family.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="HideTarget" type="YesNoType">
<xs:annotation>
<xs:documentation>Ensures the installer does not log the CustomActionData for the deferred custom action.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>

Element: CustomActionRef

Description

This will cause the entire contents of the Fragment containing the referenced CustomAction to be included in the installer database.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    The identifier of the CustomAction to reference.

Content Model

Always empty.

Referenced By

Definition

<xs:element name="CustomActionRef">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="CustomAction" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>
This will cause the entire contents of the Fragment containing the referenced CustomAction to be
included in the installer database.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The identifier of the CustomAction to reference.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>

Element: CustomProperty

Description

A custom property for the PatchMetadata table.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Company  string  Yes    The name of the company.
Property  string  Yes    The name of the metadata property.
Value  string  Yes    Value of the metadata property.

Content Model

Always empty.

Definition

<xs:element name="CustomProperty">
<xs:annotation>
<xs:documentation>A custom property for the PatchMetadata table.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Company" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The name of the company.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Property" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The name of the metadata property.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Value" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Value of the metadata property.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: CustomTable

Description

Defines a custom table for use from a custom action.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    Identifier for the custom table.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    1..1   
Column  anyType (restriction)  0..*  Column definition for a Custom Table
Row  anyType (restriction)  0..*  Row data for a Custom Table

Referenced By

Definition

<xs:element name="CustomTable">
<xs:annotation>
<xs:documentation>Defines a custom table for use from a custom action.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="Column" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Column definition for the custom table.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="Row" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Row definition for the custom table.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Identifier for the custom table.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: Data

Description

Used for a Custom Table. Specifies the data for the parent Row and specified Column.

Derived By

Extending string

Attributes

Name  Type  Required?  Default  Description 
Column  string  Yes    Specifies in which column to insert this data.

Content Model

Contains text only.

Referenced By

Definition

<xs:element name="Data">
<xs:annotation>
<xs:documentation>Used for a Custom Table. Specifies the data for the parent Row and specified Column.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:annotation>
<xs:documentation>A data value</xs:documentation>
</xs:annotation>
<xs:attribute name="Column" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Specifies in which column to insert this data.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>

Element: DeleteServices

Description

Stops a service and removes its registration from the system.

Derived By

Type ActionSequenceType

Attributes

Name  Type  Required?  Default  Description 
Sequence  integer  No    A value used to indicate the position of this action in a sequence.
Suppress  YesNoType  No    If yes, this action will not occur.

Content Model

Contains text only.

Referenced By

Remarks

The condition for this action may be specified in the element's inner text.

Definition

<xs:element name="DeleteServices" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="DeleteServices" href="http://msdn.microsoft.com/library/aa368270.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Stops a service and removes its registration from the system. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>

Element: Dependency

Description

Declares a dependency on another merge module.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
RequiredId  string  Yes    Identifier of the merge module required by the merge module.
RequiredLanguage  integer  Yes    Numeric language ID of the merge module in RequiredID.
RequiredVersion  string  No    Version of the merge module in RequiredID.

Content Model

Always empty.

Definition

<xs:element name="Dependency">
<xs:annotation>
<xs:documentation>Declares a dependency on another merge module.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="RequiredId" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Identifier of the merge module required by the merge module.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RequiredLanguage" type="xs:integer" use="required">
<xs:annotation>
<xs:documentation>Numeric language ID of the merge module in RequiredID.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RequiredVersion" type="xs:string">
<xs:annotation>
<xs:documentation>Version of the merge module in RequiredID.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: Dialog

Description

Defines a dialog box in the Dialog Table.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    Unique identifier for the dialog.
X  integer  No    Horizontal placement of the dialog box as a percentage of screen width.
Y  integer  No    Vertical placement of the dialog box as a percentage of screen height.
Width  integer  Yes    The width of the dialog box in dialog units.
Height  integer  Yes    The height of the dialog box in dialog units.
Title  string  No    The title of the dialog box.
Hidden  YesNoType  No    Used to hide the dialog.
Modeless  YesNoType  No    Used to set the dialog as modeless.
NoMinimize  YesNoType  No    Used to specify if the dialog can be minimized.
SystemModal  YesNoType  No    Used to set the dialog as system modal.
KeepModeless  YesNoType  No    Keep modeless dialogs alive when this dialog is created through DoAction.
TrackDiskSpace  YesNoType  No    Have the dialog periodically call the installer to check if available disk space has changed.
CustomPalette  YesNoType  No    Used to specify if pictures in the dialog box are rendered with a custom palette.
RightToLeft  YesNoType  No    Used to specify if the text in the dialog should be displayed in right to left reading order.
RightAligned  YesNoType  No    Align text on the right.
LeftScroll  YesNoType  No    Used to align the scroll bar on the left.
ErrorDialog  YesNoType  No    Specifies this dialog as an error dialog.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    1..1   
Control  anyType (restriction)  0..*  Contains the controls that appear on each dialog.

Referenced By

Definition

<xs:element name="Dialog">
<xs:annotation>
<xs:appinfo>
<xse:msiRef table="Control" href="http://msdn.microsoft.com/library/aa368044.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="ComboBox" href="http://msdn.microsoft.com/library/aa367872.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Dialog" href="http://msdn.microsoft.com/library/aa368286.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="ListBox" href="http://msdn.microsoft.com/library/aa369762.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="ListView" href="http://msdn.microsoft.com/library/aa369764.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="RadioButton" href="http://msdn.microsoft.com/library/aa370962.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>
Defines a dialog box in the Dialog Table.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="Control" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Control elements belonging to this dialog.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Unique identifier for the dialog.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="X" type="xs:integer">
<xs:annotation>
<xs:documentation>Horizontal placement of the dialog box as a percentage of screen width. The default value is 50.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Y" type="xs:integer">
<xs:annotation>
<xs:documentation>Vertical placement of the dialog box as a percentage of screen height. The default value is 50.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Width" use="required" type="xs:integer">
<xs:annotation>
<xs:documentation>The width of the dialog box in dialog units.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Height" use="required" type="xs:integer">
<xs:annotation>
<xs:documentation>The height of the dialog box in dialog units.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Title" type="xs:string">
<xs:annotation>
<xs:documentation>The title of the dialog box.</xs:documentation>
</xs:annotation>
</xs:attribute>
<!-- 'Attributes' column integer value generated from XML attributes below -->
<xs:attribute name="Hidden" type="YesNoType">
<xs:annotation>
<xs:documentation>Used to hide the dialog.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Modeless" type="YesNoType">
<xs:annotation>
<xs:documentation>Used to set the dialog as modeless.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="NoMinimize" type="YesNoType">
<xs:annotation>
<xs:documentation>Used to specify if the dialog can be minimized.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SystemModal" type="YesNoType">
<xs:annotation>
<xs:documentation>Used to set the dialog as system modal.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="KeepModeless" type="YesNoType">
<xs:annotation>
<xs:documentation>Keep modeless dialogs alive when this dialog is created through DoAction.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="TrackDiskSpace" type="YesNoType">
<xs:annotation>
<xs:documentation>Have the dialog periodically call the installer to check if available disk space has changed.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="CustomPalette" type="YesNoType">
<xs:annotation>
<xs:documentation>Used to specify if pictures in the dialog box are rendered with a custom palette.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RightToLeft" type="YesNoType">
<xs:annotation>
<xs:documentation>Used to specify if the text in the dialog should be displayed in right to left reading order.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RightAligned" type="YesNoType">
<xs:annotation>
<xs:documentation>Align text on the right.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="LeftScroll" type="YesNoType">
<xs:annotation>
<xs:documentation>Used to align the scroll bar on the left.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ErrorDialog" type="YesNoType">
<xs:annotation>
<xs:documentation>Specifies this dialog as an error dialog.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: DialogRef

Description

Reference to a Dialog.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    The identifier of the Dialog to reference.

Content Model

Always empty.

Referenced By

Remarks

This will cause the entire referenced section's contents
to be included in the installer database.

Definition

<xs:element name="DialogRef">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="Dialog" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>
Reference to a Dialog. This will cause the entire referenced section's contents
to be included in the installer database.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The identifier of the Dialog to reference.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: DigitalCertificate

Description

Adds a digital certificate.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    Identifier for a certificate file.
SourceFile  string  Yes    The path to the certificate file.

Content Model

Always empty.

Referenced By

Definition

<xs:element name="DigitalCertificate">
<xs:annotation>
<xs:documentation>
Adds a digital certificate.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="MsiDigitalCertificate" href="http://msdn.microsoft.com/library/aa370086.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Identifier for a certificate file.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SourceFile" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The path to the certificate file.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: DigitalSignature

Description

Adds a digital signature.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
SourceFile  string  No    The path to signature's optional hash file.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    1..1   
DigitalCertificate  anyType (restriction)  1..1  Adds a digital certificate.

Definition

<xs:element name="DigitalSignature">
<xs:annotation>
<xs:documentation>
Adds a digital signature.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="MsiDigitalSignature" href="http://msdn.microsoft.com/library/aa370087.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:element ref="DigitalCertificate" />
</xs:choice>
<xs:attribute name="SourceFile" type="xs:string">
<xs:annotation>
<xs:documentation>The path to signature's optional hash file.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: Directory

Description

Directory layout for the product.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    This value is the unique identifier of the directory entry.
ComponentGuidGenerationSeed  Guid  No    The Component Guid Generation Seed is a guid that must be used when a Component with the generate guid directive ("*") is not rooted in a standard Windows Installer directory (for example, ProgramFilesFolder or CommonFilesFolder, etc).
DiskId  integer  No    Sets the default disk identifier for the files contained in this directory.
FileSource  string  No    Used to set the file system source for this directory's child elements.
LongName  LongFileNameType  No     
LongSource  LongFileNameType  No     
Name  LongFileNameType  No    The name of the directory.
ShortName  ShortFileNameType  No    The short name of the directory in 8.3 format.
ShortSourceName  ShortFileNameType  No    The short name of the directory on the source media in 8.3 format.
SourceName  LongFileNameType  No    The name of the directory on the source media.
src  string  No     

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    0..*   
any    1..1  Allow any element from the ##other namespace.
Component  anyType (restriction)  1..1  Component for parent Directory
Directory  anyType (restriction)  1..1  Directory layout for the product.
Merge  anyType (restriction)  1..1  Merge directive to bring in a merge module that will be redirected to the parent directory.
SymbolPath  anyType (restriction)  1..1  A path to symbols.

Referenced By

Remarks

Also specifies the mappings between source and target directories.

Definition

<xs:element name="Directory">
<xs:annotation>
<xs:documentation>Directory layout for the product. Also specifies the mappings between source and target directories.</xs:documentation>
<xs:appinfo>
<xse:seeAlso ref="DirectoryRef" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Directory" href="http://msdn.microsoft.com/library/aa368295.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:howtoRef href="add_a_file.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Add a file to your installer</xse:howtoRef>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Component" />
<xs:element ref="Directory" />
<xs:element ref="Merge" />
<xs:element ref="SymbolPath" />
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>This value is the unique identifier of the directory entry.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ComponentGuidGenerationSeed" type="Guid">
<xs:annotation>
<xs:documentation>
The Component Guid Generation Seed is a guid that must be used when a Component with the generate guid directive ("*")
is not rooted in a standard Windows Installer directory (for example, ProgramFilesFolder or CommonFilesFolder, etc).
It is recommended that this attribute be avoided and that developers install their Components under standard
directories with unique names instead (for example, "ProgramFilesFolder\Company Name Product Name Version"). It is
important to note that once a directory is assigned a Component Guid Generation Seed the value must not change until
the directory name changes.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DiskId" type="xs:integer">
<xs:annotation>
<xs:documentation>
Sets the default disk identifier for the files contained in this directory.
This attribute must be set on a Component, Directory, or DirectoryRef element or all of its children File
elements, else the default disk identifier of 1 is assumed. The value of this attribute should correspond to the Id attribute of a
Media element authored elsewhere. By creating this connection between a component (or
particular files), you set the packaging options to the values specified in the Media
element (values such as compression level, cab embedding, etc...).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="FileSource" type="xs:string">
<xs:annotation>
<xs:documentation>Used to set the file system source for this directory's child elements.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="LongName" type="LongFileNameType">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="Name" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="LongSource" type="LongFileNameType">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="SourceName" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="LongFileNameType">
<xs:annotation>
<xs:documentation>
The name of the directory.

Do not specify this attribute (or the LongName attribute) if this directory represents
the same directory as the parent (see the Windows Installer SDK's
<html:a href="http://msdn2.microsoft.com/library/Aa368295.aspx" target="_blank" xmlns:html="http://www.w3.org/1999/xhtml">Directory table</html:a>
topic for more information about the "." operator).

In prior versions of the WiX toolset, this attribute specified the short directory name.
This attribute's value may now be either a short or long directory name.
If a short directory name is specified, the ShortName attribute may not be specified.
If a long directory name is specified, the LongName attribute may not be specified.
Also, if this value is a long directory name, the ShortName attribute may be omitted to
allow WiX to attempt to generate a unique short directory name.
However, if this name collides with another directory or you wish to manually specify
the short directory name, then the ShortName attribute may be specified.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ShortName" type="ShortFileNameType">
<xs:annotation>
<xs:documentation>
The short name of the directory in 8.3 format.
This attribute should only be set if there is a conflict between generated short directory names
or the user wants to manually specify the short directory name.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ShortSourceName" type="ShortFileNameType">
<xs:annotation>
<xs:documentation>
The short name of the directory on the source media in 8.3 format.
This attribute should only be set if there is a conflict between generated short directory names
or the user wants to manually specify the short source directory name.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SourceName" type="LongFileNameType">
<xs:annotation>
<xs:documentation>
The name of the directory on the source media.
If this attribute is note specified, the Windows Installer will default to the Name attribute.

In prior versions of the WiX toolset, this attribute specified the short source directory name.
This attribute's value may now be either a short or long directory name.
If a short directory name is specified, the ShortSourceName attribute may not be specified.
If a long directory name is specified, the LongSource attribute may not be specified.
Also, if this value is a long directory name, the ShortSourceName attribute may be omitted to
allow WiX to attempt to generate a unique short directory name.
However, if this name collides with another directory or you wish to manually specify
the short directory name, then the ShortSourceName attribute may be specified.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="src" type="xs:string">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="FileSource" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: DirectoryRef

Description

Create a reference to a Directory element in another Fragment.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    The identifier of the Directory element to reference.
DiskId  integer  No    Sets the default disk identifier for the files contained in this directory.
FileSource  string  No    Used to set the file system source for this directory ref's child elements.
src  string  No     

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    0..*   
any    1..1  Allow any element from the ##other namespace.
Component  anyType (restriction)  1..1  Component for parent Directory
Directory  anyType (restriction)  1..1  Directory layout for the product.
Merge  anyType (restriction)  1..1  Merge directive to bring in a merge module that will be redirected to the parent directory.

Referenced By

Definition

<xs:element name="DirectoryRef">
<xs:annotation>
<xs:documentation>Create a reference to a Directory element in another Fragment.</xs:documentation>
<xs:appinfo>
<xse:seeAlso ref="Directory" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:howtoRef href="add_a_file.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Add a file to your installer</xse:howtoRef>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Component" />
<xs:element ref="Directory" />
<xs:element ref="Merge" />
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The identifier of the Directory element to reference.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DiskId" type="xs:integer">
<xs:annotation>
<xs:documentation>
Sets the default disk identifier for the files contained in this directory.
This attribute must be set on a Component, Directory, or DirectoryRef element or all of its children File
elements, else the default disk identifier of 1 is assumed. The value of this attribute should correspond to the Id attribute of a
Media element authored elsewhere. By creating this connection between a component (or
particular files), you set the packaging options to the values specified in the Media
element (values such as compression level, cab embedding, etc...).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="FileSource" type="xs:string">
<xs:annotation>
<xs:documentation>Used to set the file system source for this directory ref's child elements.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="src" type="xs:string">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="FileSource" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>

Element: DirectorySearch

Description

Searches for directory and assigns to value of parent Property.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    Unique identifier for the directory search.
Path  string  No    Path on the user's system. Either absolute, or relative to containing directories.
Depth  integer  No    Depth below the path that the installer searches for the file or directory specified by the search.
AssignToProperty  YesNoType  No    Set the result of this search to the value of the outer Property.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    0..1   
DirectorySearch  anyType (restriction)  1..1  Searches for directory and assigns to value of parent Property.
DirectorySearchRef  anyType (restriction)  1..1  References an existing DirectorySearch element.
FileSearch  anyType (restriction)  1..1  Searches for file and assigns to fullpath value of parent Property
FileSearchRef  anyType (restriction)  1..1  References an existing FileSearch element.

Referenced By

Definition

<xs:element name="DirectorySearch">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="ComponentSearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="IniFileSearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="RegistrySearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="DrLocator" href="http://msdn.microsoft.com/library/aa368331.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Signature" href="http://msdn.microsoft.com/library/aa371853.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:howtoRef href="check_the_version_number.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Check the version number of a file during installation</xse:howtoRef>
</xs:appinfo>
<xs:documentation>Searches for directory and assigns to value of parent Property.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0">
<xs:element ref="DirectorySearch" />
<xs:element ref="DirectorySearchRef" />
<xs:element ref="FileSearch" />
<xs:element ref="FileSearchRef" />
</xs:choice>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Unique identifier for the directory search.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Path" type="xs:string">
<xs:annotation>
<xs:documentation>Path on the user's system. Either absolute, or relative to containing directories.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Depth" type="xs:integer">
<xs:annotation>
<xs:documentation>
Depth below the path that the installer searches for the file or directory specified by the search.
If this value is not specified, the depth is assumed to be 0.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AssignToProperty" type="YesNoType">
<xs:annotation>
<xs:documentation>Set the result of this search to the value of the outer Property.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: DirectorySearchRef

Description

References an existing DirectorySearch element.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    Id of the search being referred to.
Parent  string  No    This attribute is the signature of the parent directory of the file or directory in the Signature_ column.
Path  string  No    Path on the user's system. Either absolute, or relative to containing directories.
AssignToProperty  YesNoType  No    Set the result of this search to the value of the outer Property.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    0..1   
DirectorySearch  anyType (restriction)  1..1  Searches for directory and assigns to value of parent Property.
DirectorySearchRef  anyType (restriction)  1..1  References an existing DirectorySearch element.
FileSearch  anyType (restriction)  1..1  Searches for file and assigns to fullpath value of parent Property
FileSearchRef  anyType (restriction)  1..1  References an existing FileSearch element.

Referenced By

Definition

<xs:element name="DirectorySearchRef">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="ComponentSearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="IniFileSearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="RegistrySearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:remarks xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">
<html:p xmlns:html="http://www.w3.org/1999/xhtml">If you intend to use a DirectorySearchRef to reference a DirectorySearch but they have different parent elements, you must use a DirectorySearch instead of a DirectorySearchRef. This is because the DrLocator table in an installer package is keyed on the Id, Parent, and Path. When a DirectorySearch and a DirectorySearchRef element are under different parent elements, the Parent will automatically be different so a DirectorySearchRef will not have a DirectorySearch to reference.</html:p>
</xse:remarks>
</xs:appinfo>
<xs:documentation>References an existing DirectorySearch element.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0">
<xs:element ref="DirectorySearch" />
<xs:element ref="DirectorySearchRef" />
<xs:element ref="FileSearch" />
<xs:element ref="FileSearchRef" />
</xs:choice>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Id of the search being referred to.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Parent" type="xs:string">
<xs:annotation>
<xs:documentation>This attribute is the signature of the parent directory of the file or directory in the Signature_ column. If this field is null, and the Path column does not expand to a full path, then all the fixed drives of the user's system are searched by using the Path. This field is a key into one of the following tables: the RegLocator, the IniLocator, the CompLocator, or the DrLocator tables.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Path" type="xs:string">
<xs:annotation>
<xs:documentation>Path on the user's system. Either absolute, or relative to containing directories.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AssignToProperty" type="YesNoType">
<xs:annotation>
<xs:documentation>Set the result of this search to the value of the outer Property.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: DisableRollback

Description

Disables rollback for the remainder of the installation.

Derived By

Type ActionModuleSequenceType

Attributes

Name  Type  Required?  Default  Description 
After  string  No    The name of an action that this action should come after.
Before  string  No    The name of an action that this action should come before.
Overridable  YesNoType  No    If "yes", the sequencing of this action may be overridden by sequencing elsewhere.
Sequence  integer  No    A value used to indicate the position of this action in a sequence.
Suppress  YesNoType  No    If yes, this action will not occur.

Content Model

Contains text only.

Referenced By

Remarks

Special actions don't have a built-in sequence number and thus must appear relative to another action. The suggested way to do this is by using the Before or After attribute. InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize.

Definition

<xs:element name="DisableRollback" type="ActionModuleSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="DisableRollback" href="http://msdn.microsoft.com/library/aa368308.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Disables rollback for the remainder of the installation. Special actions don't have a built-in sequence number and thus must appear relative to another action. The suggested way to do this is by using the Before or After attribute. InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize.</xs:documentation>
</xs:annotation>
</xs:element>

Element: DuplicateFiles

Description

Duplicates files installed by the InstallFiles action.

Derived By

Type ActionSequenceType

Attributes

Name  Type  Required?  Default  Description 
Sequence  integer  No    A value used to indicate the position of this action in a sequence.
Suppress  YesNoType  No    If yes, this action will not occur.

Content Model

Contains text only.

Referenced By

Remarks

The condition for this action may be specified in the element's inner text.

Definition

<xs:element name="DuplicateFiles" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="DuplicateFiles" href="http://msdn.microsoft.com/library/aa368334.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Duplicates files installed by the InstallFiles action. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>

Element: EmbeddedChainer

Derived By

Extending string

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    Unique identifier for embedded chainer.
CommandLine  string  No    Value to append to the transaction handle and passed to the chainer executable.
BinarySource  string  No    Reference to the Binary element that contains the chainer executeable.
FileSource  string  No    Reference to the File element that is the chainer executeable.
PropertySource  string  No    Reference to a Property that resolves to the full path to the chainer executeable.

Content Model

Contains text only.

Referenced By

Definition

<xs:element name="EmbeddedChainer">
<xs:annotation>
<xs:appinfo>
<xse:msiRef table="MsiEmbeddedChainer " href="http://msdn.microsoft.com/library/bb736316.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="Binary" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="File" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="Property" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="EmbeddedChainerRef" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:annotation>
<xs:documentation>
Element value is the condition. CDATA may be used to when a condition contains many XML characters
that must be escaped. It is important to note that each EmbeddedChainer element must have a mutually exclusive condition
to ensure that only one embedded chainer will execute at a time. If the conditions are not mutually exclusive the chainer
that executes is undeterministic.
</xs:documentation>
</xs:annotation>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Unique identifier for embedded chainer.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="CommandLine" type="xs:string">
<xs:annotation>
<xs:documentation>Value to append to the transaction handle and passed to the chainer executable.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="BinarySource" type="xs:string">
<xs:annotation>
<xs:documentation>
Reference to the Binary element that contains the chainer executeable. Mutually exclusive with
the FileSource and PropertySource attributes.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="FileSource" type="xs:string">
<xs:annotation>
<xs:documentation>
Reference to the File element that is the chainer executeable. Mutually exclusive with
the BinarySource and PropertySource attributes.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PropertySource" type="xs:string">
<xs:annotation>
<xs:documentation>
Reference to a Property that resolves to the full path to the chainer executeable. Mutually exclusive with
the BinarySource and FileSource attributes.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>

Element: EmbeddedChainerRef

Description

Reference to an EmbeddedChainer element.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes     

Content Model

Always empty.

Referenced By

Remarks

This will force the entire referenced Fragment's contents to be included in the installer database.

Definition

<xs:element name="EmbeddedChainerRef">
<xs:annotation>
<xs:documentation>
Reference to an EmbeddedChainer element. This will force the entire referenced Fragment's contents
to be included in the installer database.
</xs:documentation>
<xs:appinfo>
<xse:seeAlso ref="EmbeddedChainer" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required" />
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>

Element: EmbeddedUI

Description

Element value is the condition.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    Unique identifier for embedded UI.
IgnoreFatalExit  YesNoType  No    Embedded UI will not recieve any INSTALLLOGMODE_FATALEXIT messages.
IgnoreError  YesNoType  No    Embedded UI will not recieve any INSTALLLOGMODE_ERROR messages.
IgnoreWarning  YesNoType  No    Embedded UI will not recieve any INSTALLLOGMODE_WARNING messages.
IgnoreUser  YesNoType  No    Embedded UI will not recieve any INSTALLLOGMODE_USER messages.
IgnoreInfo  YesNoType  No    Embedded UI will not recieve any INSTALLLOGMODE_INFO messages.
IgnoreFilesInUse  YesNoType  No    Embedded UI will not recieve any INSTALLLOGMODE_FILESINUSE messages.
IgnoreResolveSource  YesNoType  No    Embedded UI will not recieve any INSTALLLOGMODE_RESOLVESOURCE messages.
IgnoreOutOfDiskSpace  YesNoType  No    Embedded UI will not recieve any INSTALLLOGMODE_OUTOFDISKSPACE messages.
IgnoreActionStart  YesNoType  No    Embedded UI will not recieve any INSTALLLOGMODE_ACTIONSTART messages.
IgnoreActionData  YesNoType  No    Embedded UI will not recieve any INSTALLLOGMODE_ACTIONDATA messages.
IgnoreProgress  YesNoType  No    Embedded UI will not recieve any INSTALLLOGMODE_PROGRESS messages.
IgnoreCommonData  YesNoType  No    Embedded UI will not recieve any INSTALLLOGMODE_COMMONDATA messages.
IgnoreInitialize  YesNoType  No    Embedded UI will not recieve any INSTALLLOGMODE_INITIALIZE messages.
IgnoreTerminate  YesNoType  No    Embedded UI will not recieve any INSTALLLOGMODE_TERMINATE messages.
IgnoreShowDialog  YesNoType  No    Embedded UI will not recieve any INSTALLLOGMODE_SHOWDIALOG messages.
IgnoreRMFilesInUse  YesNoType  No    Embedded UI will not recieve any INSTALLLOGMODE_RMFILESINUSE messages.
Name  LongFileNameType  No    The name for the embedded UI DLL when it is extracted from the Product and executed. (Windows Installer does not support the typical short filename and long filename combination for embedded UI files as it does for other kinds of files.)
SourceFile  string  Yes    Path to the binary file that is the embedded UI.
SupportBasicUI  YesNoType  No    Set yes to allow the Windows Installer to display the embedded UI during basic UI level installation.

Content Model

Can contain a mix of text and the elements defined in the following table.

Component  Type  Occurs  Description 
    1..1   
EmbeddedUIResource  anyType (restriction)  0..*  Defines a resource for use by the embedded UI.

Referenced By

Remarks

Use CDATA if message contains delimiter characters.

Definition

<xs:element name="EmbeddedUI">
<xs:annotation>
<xs:appinfo>
<xse:msiRef table="MsiEmbeddedUI" href="http://msdn.microsoft.com/library/bb736317.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Element value is the condition. Use CDATA if message contains delimiter characters.</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:sequence>
<xs:element ref="EmbeddedUIResource" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Specifies extra files to be extracted for use by the embedded UI, such as language resources.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Unique identifier for embedded UI.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreFatalExit" type="YesNoType">
<xs:annotation>
<xs:documentation>Embedded UI will not recieve any INSTALLLOGMODE_FATALEXIT messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreError" type="YesNoType">
<xs:annotation>
<xs:documentation>Embedded UI will not recieve any INSTALLLOGMODE_ERROR messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreWarning" type="YesNoType">
<xs:annotation>
<xs:documentation>Embedded UI will not recieve any INSTALLLOGMODE_WARNING messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreUser" type="YesNoType">
<xs:annotation>
<xs:documentation>Embedded UI will not recieve any INSTALLLOGMODE_USER messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreInfo" type="YesNoType">
<xs:annotation>
<xs:documentation>Embedded UI will not recieve any INSTALLLOGMODE_INFO messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreFilesInUse" type="YesNoType">
<xs:annotation>
<xs:documentation>Embedded UI will not recieve any INSTALLLOGMODE_FILESINUSE messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreResolveSource" type="YesNoType">
<xs:annotation>
<xs:documentation>Embedded UI will not recieve any INSTALLLOGMODE_RESOLVESOURCE messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreOutOfDiskSpace" type="YesNoType">
<xs:annotation>
<xs:documentation>Embedded UI will not recieve any INSTALLLOGMODE_OUTOFDISKSPACE messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreActionStart" type="YesNoType">
<xs:annotation>
<xs:documentation>Embedded UI will not recieve any INSTALLLOGMODE_ACTIONSTART messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreActionData" type="YesNoType">
<xs:annotation>
<xs:documentation>Embedded UI will not recieve any INSTALLLOGMODE_ACTIONDATA messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreProgress" type="YesNoType">
<xs:annotation>
<xs:documentation>Embedded UI will not recieve any INSTALLLOGMODE_PROGRESS messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreCommonData" type="YesNoType">
<xs:annotation>
<xs:documentation>Embedded UI will not recieve any INSTALLLOGMODE_COMMONDATA messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreInitialize" type="YesNoType">
<xs:annotation>
<xs:documentation>Embedded UI will not recieve any INSTALLLOGMODE_INITIALIZE messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreTerminate" type="YesNoType">
<xs:annotation>
<xs:documentation>Embedded UI will not recieve any INSTALLLOGMODE_TERMINATE messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreShowDialog" type="YesNoType">
<xs:annotation>
<xs:documentation>Embedded UI will not recieve any INSTALLLOGMODE_SHOWDIALOG messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreRMFilesInUse" type="YesNoType">
<xs:annotation>
<xs:documentation>Embedded UI will not recieve any INSTALLLOGMODE_RMFILESINUSE messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="LongFileNameType">
<xs:annotation>
<xs:documentation>
The name for the embedded UI DLL when it is extracted from the Product and executed. (Windows Installer
does not support the typical short filename and long filename combination for embedded UI files as it
does for other kinds of files.) If this attribute is not specified the Id attribute will be used.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SourceFile" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>
Path to the binary file that is the embedded UI. This must be a DLL that exports the following
three entry points: InitializeEmbeddedUI, EmbeddedUIHandler and ShutdownEmbeddedUI.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SupportBasicUI" type="YesNoType">
<xs:annotation>
<xs:documentation>Set yes to allow the Windows Installer to display the embedded UI during basic UI level installation.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: EmbeddedUIResource

Description

Defines a resource for use by the embedded UI.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    Identifier for the embedded UI resource.
Name  LongFileNameType  Yes    The name for the resource when it is extracted from the Product for use by the embedded UI DLL. (Windows Installer does not support the typical short filename and long filename combination for embedded UI files as it does for other kinds of files.)
SourceFile  string  Yes    Path to the binary file that is the embedded UI resource.

Content Model

Always empty.

Referenced By

Definition

<xs:element name="EmbeddedUIResource">
<xs:annotation>
<xs:documentation>
Defines a resource for use by the embedded UI.
</xs:documentation>
<xs:appinfo>
<xse:seeAlso ref="EmbeddedUI" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="MsiEmbeddedUI" href="http://msdn.microsoft.com/library/bb736317.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Identifier for the embedded UI resource.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="LongFileNameType" use="required">
<xs:annotation>
<xs:documentation>
The name for the resource when it is extracted from the Product for use by the embedded UI DLL. (Windows
Installer does not support the typical short filename and long filename combination for embedded UI files
as it does for other kinds of files.) If this attribute is not specified the Id attribute will be used.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SourceFile" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Path to the binary file that is the embedded UI resource.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: EnsureTable

Description

Use this element to ensure that a table appears in the installer database, even if its empty.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    The name of the table.

Content Model

Always empty.

Referenced By

Definition

<xs:element name="EnsureTable">
<xs:annotation>
<xs:documentation>
Use this element to ensure that a table appears in the installer database, even if its empty.
</xs:documentation>
<xs:appinfo>
<xse:remarks xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">
This element is particularly useful for two problems that may occur while merging merge modules:
<html:ol xmlns:html="http://www.w3.org/1999/xhtml"><html:li>
The first likely problem is that in order to properly merge you need to have certain
tables present prior to merging. Using this element is one way to ensure those tables
are present prior to the merging.
</html:li><html:li>
The other common problem is that a merge module has incorrect validation information
about some tables. By ensuring these tables prior to merging, you can avoid this
problem because the correct validation information will go into the installer database
before the merge module has a chance to set it incorrectly.
</html:li></html:ol></xse:remarks>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>The name of the table.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: Environment

Description

Environment variables added or removed for the parent component.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    Unique identifier for environment entry.
Name  string  Yes    Name of the environment variable.
Value  string  No    The value to set into the environment variable.
Separator  string  No    Optional attribute to change the separator used between values.
Action  NMTOKEN (restriction)  No    Specfies whether the environmental variable should be created, set or removed when the parent component is installed.
Part  NMTOKEN (restriction)  No     
Permanent  YesNoType  No    Specifies that the environment variable should not be removed on uninstall.
System  YesNoType  No    Specifies that the environment variable should be added to the system environment space.

Content Model

Always empty.

Referenced By

Definition

<xs:element name="Environment">
<xs:annotation>
<xs:documentation>
Environment variables added or removed for the parent component.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="Environment" href="http://msdn.microsoft.com/library/aa368369.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Unique identifier for environment entry.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Name of the environment variable.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Value" type="xs:string">
<xs:annotation>
<xs:documentation>
The value to set into the environment variable.
If this attribute is not set, the environment variable is removed during installation if it exists on the machine.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Separator" type="xs:string">
<xs:annotation>
<xs:documentation>Optional attribute to change the separator used between values. By default a semicolon is used.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Action">
<xs:annotation>
<xs:documentation>Specfies whether the environmental variable should be created, set or removed when the parent component is installed.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="create">
<xs:annotation>
<xs:documentation>Creates the environment variable if it does not exist, then set it during installation. This has no effect on the value of the environment variable if it already exists.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="set">
<xs:annotation>
<xs:documentation>Creates the environment variable if it does not exist, and then set it during installation. If the environment variable exists, set it during the installation.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="remove">
<xs:annotation>
<xs:documentation>
Removes the environment variable during an installation.
The installer only removes an environment variable during an installation if the name and value
of the variable match the entries in the Name and Value attributes.
If you want to remove an environment variable, regardless of its value, do not set the Value attribute.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Part">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="all">
<xs:annotation>
<xs:documentation>
This value is the entire environmental variable. This is the default.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="first">
<xs:annotation>
<xs:documentation>
This value is prefixed.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="last">
<xs:annotation>
<xs:documentation>
This value is appended.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Permanent" type="YesNoType">
<xs:annotation>
<xs:documentation>Specifies that the environment variable should not be removed on uninstall.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="System" type="YesNoType">
<xs:annotation>
<xs:documentation>
Specifies that the environment variable should be added to the system environment space. The default
is 'no' which indicates the environment variable is added to the user environment space.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: Error

Derived By

Extending string

Attributes

Name  Type  Required?  Default  Description 
Id  integer  No    Number of the error for which a message is being provided.

Content Model

Contains text only.

Referenced By

Definition

<xs:element name="Error">
<xs:annotation>
<xs:appinfo>
<xse:msiRef table="Error" href="http://msdn.microsoft.com/library/aa368554.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:annotation>
<xs:documentation>Element value is Message, use CDATA if message contains delimiter characters</xs:documentation>
</xs:annotation>
<xs:attribute name="Id" type="xs:integer">
<xs:annotation>
<xs:documentation>Number of the error for which a message is being provided. See MSI SDK for error definitions.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>

Element: Exclusion

Description

Declares a merge module with which this merge module is incompatible.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
ExcludedId  string  Yes    Identifier of the merge module that is incompatible.
ExcludeExceptLanguage  integer  No    Numeric language ID of the merge module in ExcludedID.
ExcludeLanguage  integer  No    Numeric language ID of the merge module in ExcludedID.
ExcludedMinVersion  string  No    Minimum version excluded from a range.
ExcludedMaxVersion  string  No    Maximum version excluded from a range.

Content Model

Always empty.

Definition

<xs:element name="Exclusion">
<xs:annotation>
<xs:documentation>Declares a merge module with which this merge module is incompatible.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="ExcludedId" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Identifier of the merge module that is incompatible.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ExcludeExceptLanguage" type="xs:integer">
<xs:annotation>
<xs:documentation>Numeric language ID of the merge module in ExcludedID. All except this language will be excluded. Only one of ExcludeExceptLanguage and ExcludeLanguage may be specified.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ExcludeLanguage" type="xs:integer">
<xs:annotation>
<xs:documentation>Numeric language ID of the merge module in ExcludedID. The specified language will be excluded. Only one of ExcludeExceptLanguage and ExcludeLanguage may be specified.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ExcludedMinVersion" type="xs:string">
<xs:annotation>
<xs:documentation>Minimum version excluded from a range. If not set, all versions before max are excluded. If neither max nor min, no exclusion based on version.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ExcludedMaxVersion" type="xs:string">
<xs:annotation>
<xs:documentation>Maximum version excluded from a range. If not set, all versions after min are excluded. If neither max nor min, no exclusion based on version.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: ExecuteAction

Description

Initiates the execution sequence.

Derived By

Type ActionSequenceType

Attributes

Name  Type  Required?  Default  Description 
Sequence  integer  No    A value used to indicate the position of this action in a sequence.
Suppress  YesNoType  No    If yes, this action will not occur.

Content Model

Contains text only.

Referenced By

Remarks

The condition for this action may be specified in the element's inner text.

Definition

<xs:element name="ExecuteAction" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="ExecuteAction" href="http://msdn.microsoft.com/library/aa368565.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Initiates the execution sequence. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>

Element: Extension

Description

Extension for a Component

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    This is simply the file extension, like "doc" or "xml". Do not include the preceding period.
ContentType  string  No    The MIME type that is to be written.
Advertise  YesNoType  No    Whether this extension is to be advertised. The default is "no".

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    0..*   
MIME  anyType (restriction)  1..1  MIME content-type for an Extension
Verb  anyType (restriction)  1..1  Verb definition for an Extension.

Referenced By

Definition

<xs:element name="Extension">
<xs:annotation>
<xs:documentation>
Extension for a Component
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="MIME" href="http://msdn.microsoft.com/library/aa370035.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Verb" href="http://msdn.microsoft.com/library/aa372487.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Registry" href="http://msdn.microsoft.com/library/aa371168.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>MIME and Verbs can be associated with Extensions</xs:documentation>
</xs:annotation>
<xs:element ref="MIME" />
<xs:element ref="Verb" />
</xs:choice>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>This is simply the file extension, like "doc" or "xml". Do not include the preceding period.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ContentType" type="xs:string">
<xs:annotation>
<xs:documentation>The MIME type that is to be written.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Advertise" type="YesNoType">
<xs:annotation>
<xs:documentation>Whether this extension is to be advertised. The default is "no".</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>

Element: ExternalFile

Description

Contains information about specific files that are not part of a regular target image.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
File  string  Yes    Foreign key into the File table.
Source  string  No    Full path of the external file.
src  string  No     
Order  int  Yes    Specifies the order of the external files to use when creating the patch.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    1..1   
ProtectRange  anyType (restriction)  1..*  Specifies part of a file that cannot be overwritten during patching.
SymbolPath  anyType (restriction)  1..*  A path to symbols.
    0..*   
IgnoreRange  anyType (restriction)  1..1  Specifies part of a file that is to be ignored during patching.

Definition

<xs:element name="ExternalFile">
<xs:annotation>
<xs:documentation>Contains information about specific files that are not part of a regular target image.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="ProtectRange" maxOccurs="unbounded" />
<xs:element ref="SymbolPath" maxOccurs="unbounded" />
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="IgnoreRange" />
</xs:choice>
</xs:sequence>
<xs:attribute name="File" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Foreign key into the File table.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Source" type="xs:string">
<xs:annotation>
<xs:documentation>Full path of the external file.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="src" type="xs:string">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="Source" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Order" type="xs:int" use="required">
<xs:annotation>
<xs:documentation>Specifies the order of the external files to use when creating the patch.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: Family

Description

Group of one or more upgraded images of a product.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
DiskId  int  No    Entered into the DiskId field of the new Media table record.
DiskPrompt  string  No    Value to display in the "[1]" of the DiskPrompt Property.
MediaSrcProp  string  No    Entered into the Source field of the new Media table entry of the upgraded image.
Name  string  Yes    Identifier for the family.
SequenceStart  int  No    Sequence number for the starting file.
VolumeLabel  string  No    Entered into the VolumeLabel field of the new Media table record.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    1..1   
UpgradeImage  anyType (restriction)  1..*  Contains information about the upgraded images of the product.
    0..*   
ExternalFile  anyType (restriction)  1..1  Contains information about specific files that are not part of a regular target image.
ProtectFile  anyType (restriction)  1..1  Specifies a file to be protected.

Referenced By

Definition

<xs:element name="Family">
<xs:annotation>
<xs:documentation>Group of one or more upgraded images of a product.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="UpgradeImage" maxOccurs="unbounded" />
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="ExternalFile" />
<xs:element ref="ProtectFile" />
</xs:choice>
</xs:sequence>
<xs:attribute name="DiskId" type="xs:int">
<xs:annotation>
<xs:documentation>Entered into the DiskId field of the new Media table record.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DiskPrompt" type="xs:string">
<xs:annotation>
<xs:documentation>Value to display in the "[1]" of the DiskPrompt Property. Using this attribute will require you to define a DiskPrompt Property.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MediaSrcProp" type="xs:string">
<xs:annotation>
<xs:documentation>Entered into the Source field of the new Media table entry of the upgraded image.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Identifier for the family.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SequenceStart" type="xs:int">
<xs:annotation>
<xs:documentation>Sequence number for the starting file.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="VolumeLabel" type="xs:string">
<xs:annotation>
<xs:documentation>Entered into the VolumeLabel field of the new Media table record.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: Feature

Description

A feature for the Feature table.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    Unique identifier of the feature.
Absent  NMTOKEN (restriction)  No    This attribute determines if a user will have the option to set a feature to absent in the user interface.
AllowAdvertise  NMTOKEN (restriction)  No    This attribute determins the possible advertise states for this feature.
ConfigurableDirectory  string  No    Specify the Id of a Directory that can be configured by the user at installation time.
Description  string  No    Longer string of text describing the feature.
Display  string  No    Determines the initial display of this feature in the feature tree.

InstallDefault  NMTOKEN (restriction)  No    This attribute determines the default install/run location of a feature.
Level  integer  Yes    Sets the install level of this feature.
Title  string  No    Short string of text identifying the feature.
TypicalDefault  NMTOKEN (restriction)  No    This attribute determines the default advertise state of the feature.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    0..*   
any    1..1  Allow any element from the ##other namespace.
Component  anyType (restriction)  1..1  Component for parent Directory
ComponentGroupRef  anyType (restriction)  1..1  Create a reference to a ComponentGroup in another Fragment.
ComponentRef  anyType (restriction)  1..1  Create a reference to a Feature element in another Fragment.
Condition  string (extension)  1..1  Conditions for components, controls, features, and products.
Feature  anyType (restriction)  1..1  A feature for the Feature table.
FeatureGroupRef  anyType (restriction)  1..1  Create a reference to a FeatureGroup in another Fragment.
FeatureRef  anyType (restriction)  1..1  Create a reference to a Feature element in another Fragment.
MergeRef  anyType (restriction)  1..1  Merge reference to connect a Merge Module to parent Feature

Referenced By

Remarks

Features are the smallest installable unit. See msi.chm for more detailed information on the myriad installation options for a feature.

Definition

<xs:element name="Feature">
<xs:annotation>
<xs:documentation>
A feature for the Feature table. Features are the smallest installable unit. See msi.chm for more
detailed information on the myriad installation options for a feature.
</xs:documentation>
<xs:appinfo>
<xse:seeAlso ref="FeatureRef" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Feature" href="http://msdn.microsoft.com/library/aa368585.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:howtoRef href="add_a_file.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Add a file to your installer</xse:howtoRef>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Component" />
<xs:element ref="ComponentGroupRef" />
<xs:element ref="ComponentRef" />
<xs:element ref="Condition" />
<xs:element ref="Feature" />
<xs:element ref="FeatureGroupRef" />
<xs:element ref="FeatureRef" />
<xs:element ref="MergeRef" />
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Unique identifier of the feature.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Absent">
<xs:annotation>
<xs:documentation>
This attribute determines if a user will have the option to set a feature to absent in the user interface.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="allow">
<xs:annotation>
<xs:documentation>
Allows the user interface to display an option to change the feature state to Absent.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="disallow">
<xs:annotation>
<xs:documentation>
Prevents the user interface from displaying an option to change the feature state
to Absent by setting the msidbFeatureAttributesUIDisallowAbsent attribute. This will force the feature
to the installation state, whether or not the feature is visible in the UI.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="AllowAdvertise">
<xs:annotation>
<xs:documentation>
This attribute determins the possible advertise states for this feature.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="no">
<xs:annotation>
<xs:documentation>
Prevents this feature from being advertised by settting the msidbFeatureAttributesDisallowAdvertise attribute.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="system">
<xs:annotation>
<xs:documentation>
Prevents advertising for this feature if the operating system shell does not support Windows Installer
descriptors by setting the msidbFeatureAttributesNoUnsupportedAdvertise attribute.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="yes">
<xs:annotation>
<xs:documentation>
Allows the feature to be advertised.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ConfigurableDirectory" type="xs:string">
<xs:annotation>
<xs:documentation>
Specify the Id of a Directory that can be configured by the user at installation time. This identifier
must be a public property and therefore completely uppercase.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Description" type="xs:string">
<xs:annotation>
<xs:documentation>
Longer string of text describing the feature. This localizable string is displayed by the
Text Control of the Selection Dialog.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Display" type="xs:string">
<xs:annotation>
<xs:documentation>
Determines the initial display of this feature in the feature tree.
This attribute's value should be one of the following:
<html:dl xmlns:html="http://www.w3.org/1999/xhtml"><html:dt class="enumerationValue"><html:dfn>collapse</html:dfn></html:dt><html:dd>Initially shows the feature collapsed. This is the default value.</html:dd><html:dt class="enumerationValue"><html:dfn>expand</html:dfn></html:dt><html:dd>Initially shows the feature expanded.</html:dd><html:dt class="enumerationValue"><html:dfn>hidden</html:dfn></html:dt><html:dd>Prevents the feature from displaying in the user interface.</html:dd><html:dt class="enumerationValue"><html:dfn>&lt;an explicit integer value&gt;</html:dfn></html:dt><html:dd>
For advanced users only, it is possible to directly set the integer value
of the display value that will appear in the Feature row.
</html:dd></html:dl></xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="InstallDefault">
<xs:annotation>
<xs:documentation>
This attribute determines the default install/run location of a feature. This attribute cannot be specified
if the value of the FollowParent attribute is 'yes' since that would ask the installer to force this feature
to follow the parent installation state and simultaneously favor a particular installation state just for this feature.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="followParent">
<xs:annotation>
<xs:documentation>
Forces the feature to follow the same installation state as its parent feature.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="local">
<xs:annotation>
<xs:documentation>
Favors installing this feature locally by setting the msidbFeatureAttributesFavorLocal attribute.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="source">
<xs:annotation>
<xs:documentation>
Favors running this feature from source by setting the msidbFeatureAttributesFavorSource attribute.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Level" type="xs:integer" use="required">
<xs:annotation>
<xs:documentation>
Sets the install level of this feature. A value of 0 will disable the feature. Processing the
Condition Table can modify the level value (this is set via the Condition child element).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Title" type="xs:string">
<xs:annotation>
<xs:documentation>
Short string of text identifying the feature. This string is listed as an item by the
SelectionTree control of the Selection Dialog.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="TypicalDefault">
<xs:annotation>
<xs:documentation>
This attribute determines the default advertise state of the feature.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="advertise">
<xs:annotation>
<xs:documentation>
Sets the feature to be advertised by setting the msidbFeatureAttributesFavorAdvertise attribute.
This value cannot be set if the value of the AllowAdvertise attribute is 'no' since that would ask the installer to
disallow the advertised state for this feature while at the same time favoring it.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="install">
<xs:annotation>
<xs:documentation>
Sets the feature to the default non-advertised installation option.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>

Element: FeatureGroup

Description

Groups together multiple components, features, and merges to be used in other locations.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    Identifier for the FeatureGroup.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    0..*   
any    1..1  Allow any element from the ##other namespace.
Component  anyType (restriction)  1..1  Component for parent Directory
ComponentGroupRef  anyType (restriction)  1..1  Create a reference to a ComponentGroup in another Fragment.
ComponentRef  anyType (restriction)  1..1  Create a reference to a Feature element in another Fragment.
Feature  anyType (restriction)  1..1  A feature for the Feature table.
FeatureGroupRef  anyType (restriction)  1..1  Create a reference to a FeatureGroup in another Fragment.
FeatureRef  anyType (restriction)  1..1  Create a reference to a Feature element in another Fragment.
MergeRef  anyType (restriction)  1..1  Merge reference to connect a Merge Module to parent Feature

Referenced By

Definition

<xs:element name="FeatureGroup">
<xs:annotation>
<xs:documentation>
Groups together multiple components, features, and merges to be used in other locations.
</xs:documentation>
<xs:appinfo>
<xse:seeAlso ref="FeatureGroupRef" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Component" />
<xs:element ref="ComponentGroupRef" />
<xs:element ref="ComponentRef" />
<xs:element ref="Feature" />
<xs:element ref="FeatureGroupRef" />
<xs:element ref="FeatureRef" />
<xs:element ref="MergeRef" />
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Identifier for the FeatureGroup.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>

Element: FeatureGroupRef

Description

Create a reference to a FeatureGroup in another Fragment.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    The identifier of the FeatureGroup to reference.
IgnoreParent  YesNoType  No    Normally feature group references that end up nested under a parent element create a connection to that parent.
Primary  YesNoType  No    Set this attribute to 'yes' in order to make the parent feature of this group the primary feature for any components and merges contained in the group.

Content Model

Always empty.

Referenced By

Definition

<xs:element name="FeatureGroupRef">
<xs:annotation>
<xs:documentation>Create a reference to a FeatureGroup in another Fragment.</xs:documentation>
<xs:appinfo>
<xse:seeAlso ref="FeatureGroup" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The identifier of the FeatureGroup to reference.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreParent" type="YesNoType">
<xs:annotation>
<xs:documentation>
Normally feature group references that end up nested under a parent element create a
connection to that parent. This behavior is undesirable when trying to simply reference
to a FeatureGroup in a different Fragment. Specify 'yes' to have this feature group
reference not create a connection to its parent. The default is 'no'.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Primary" type="YesNoType">
<xs:annotation>
<xs:documentation>
Set this attribute to 'yes' in order to make the parent feature of this group
the primary feature for any components and merges contained in the group.
Features may belong to multiple features. By designating a feature as the
primary feature of a component or merge, you ensure that whenever a component is
selected for install-on-demand (IOD), the primary feature will be the one to install
it. This attribute should only be set if a component actually nests under multiple
features. If a component nests under only one feature, that feature is the primary
feature for the component. You cannot set more than one feature as the primary
feature of a given component.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>

Element: FeatureRef

Description

Create a reference to a Feature element in another Fragment.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    The identifier of the Feature element to reference.
IgnoreParent  YesNoType  No    Normally feature references that are nested under a parent element create a connection to that parent.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    0..*   
any    1..1  Allow any element from the ##other namespace.
Component  anyType (restriction)  1..1  Component for parent Directory
ComponentGroupRef  anyType (restriction)  1..1  Create a reference to a ComponentGroup in another Fragment.
ComponentRef  anyType (restriction)  1..1  Create a reference to a Feature element in another Fragment.
Feature  anyType (restriction)  1..1  A feature for the Feature table.
FeatureGroup  anyType (restriction)  1..1  Groups together multiple components, features, and merges to be used in other locations.
FeatureGroupRef  anyType (restriction)  1..1  Create a reference to a FeatureGroup in another Fragment.
FeatureRef  anyType (restriction)  1..1  Create a reference to a Feature element in another Fragment.
MergeRef  anyType (restriction)  1..1  Merge reference to connect a Merge Module to parent Feature

Referenced By

Definition

<xs:element name="FeatureRef">
<xs:annotation>
<xs:documentation>Create a reference to a Feature element in another Fragment.</xs:documentation>
<xs:appinfo>
<xse:seeAlso ref="Feature" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Component" />
<xs:element ref="ComponentGroupRef" />
<xs:element ref="ComponentRef" />
<xs:element ref="Feature" />
<xs:element ref="FeatureRef" />
<xs:element ref="FeatureGroup" />
<xs:element ref="FeatureGroupRef" />
<xs:element ref="MergeRef" />
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The identifier of the Feature element to reference.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreParent" type="YesNoType">
<xs:annotation>
<xs:documentation>
Normally feature references that are nested under a parent element create a connection to that
parent. This behavior is undesirable when trying to simply reference a Feature in a different
Fragment. Specify 'yes' to have this feature reference not create a connection to its parent.
The default is 'no'.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>

Element: File

Description

File specification for File table, must be child node of Component.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  No    The unique identifier for this File element.
CompanionFile  string  No    Set this attribute to make this file a companion child of another file.
Name  LongFileNameType  No    In prior versions of the WiX toolset, this attribute specified the short file name. This attribute's value may now be either a short or long file name.
LongName  LongFileNameType  No     
KeyPath  YesNoType  No    Set to yes in order to force this file to be the key path for the parent component.
ShortName  ShortFileNameType  No    The short file name of the file in 8.3 format.
ReadOnly  YesNoType  No    Set to yes in order to have the file's read-only attribute set when it is installed on the target machine.
Hidden  YesNoType  No    Set to yes in order to have the file's hidden attribute set when it is installed on the target machine.
System  YesNoType  No    Set to yes in order to have the file's system attribute set when it is installed on the target machine.
Vital  YesNoType  No    If a file is vital, then installation cannot proceed unless the file is successfully installed.
Checksum  YesNoType  No    This attribute should be set to "yes" for every executable file in the installation that has a valid checksum stored in the Portable Executable (PE) file header.
Compressed  YesNoDefaultType  No    Sets the file's source type compression.
BindPath  string  No    A list of paths, separated by semicolons, that represent the paths to be searched to find the imported DLLs.
SelfRegCost  integer  No    The cost of registering the file in bytes.
TrueType  YesNoType  No    Causes an entry to be generated for the file in the Font table with no FontTitle specified.
FontTitle  string  No    Causes an entry to be generated for the file in the Font table with the specified FontTitle.
DefaultLanguage  string  No    This is the default language of this file.
DefaultSize  integer  No    This is the default size of this file.
DefaultVersion  string  No    This is the default version of this file.
Assembly  NMTOKEN (restriction)  No    Specifies if this File is a Win32 Assembly or .NET Assembly that needs to be installed into the Global Assembly Cache.
AssemblyManifest  string  No    Specifies the file identifier of the manifest file that describes this assembly.
AssemblyApplication  string  No    Specifies the file identifier of the application file.
ProcessorArchitecture  NMTOKEN (restriction)  No    Specifies the architecture for this assembly.
DiskId  integer  No    Specifies the Media this File should be sourced on.
Source  string  No    Specifies the path to the File in the build process.
src  string  No     
PatchGroup  integer  No    This attribute must be set for patch-added files.
PatchIgnore  YesNoType  No    Prevents the updating of the file that is in fact changed in the upgraded image relative to the target images.
PatchAllowIgnoreOnError  YesNoType  No    Set to indicate that the patch is non-vital.
PatchWholeFile  YesNoType  No    Set if the entire file should be installed rather than creating a binary patch.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    0..*   
any    1..1  Allow any element from the ##other namespace.
AppId  anyType (restriction)  1..1  Application ID containing DCOM information for the associated application GUID.

AssemblyName  anyType (restriction)  1..1  The MsiAssemblyName table specifies the schema for the elements of a strong assembly cache name for a .NET Framework or Win32 assembly.

Class  anyType (restriction)  1..1  COM Class registration for parent Component.
CopyFile  anyType (restriction)  1..1  Copy or move an existing file on the target machine, or copy a file that is being installed, to another destination.
ODBCDriver  anyType (restriction)  1..1  ODBCDriver for a Component
ODBCTranslator  anyType (restriction)  1..1  ODBCTranslator for a Component
Permission  anyType (restriction)  1..1  Sets ACLs on File, Registry, or CreateFolder.
Shortcut  anyType (restriction)  1..1  Shortcut, default target is parent File, CreateFolder, or Component's Directory
SymbolPath  anyType (restriction)  1..1  A path to symbols.
TypeLib  anyType (restriction)  1..1  Register a type library (TypeLib).

Referenced By

Definition

<xs:element name="File">
<xs:annotation>
<xs:documentation>
File specification for File table, must be child node of Component.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="File" href="http://msdn.microsoft.com/library/aa368596.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:howtoRef href="add_a_file.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Add a file to your installer</xse:howtoRef>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="AssemblyName" />
<xs:element ref="Permission">
<xs:annotation>
<xs:documentation>Used to configure the ACLs for this file.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="CopyFile">
<xs:annotation>
<xs:documentation>Used to create a duplicate of this file elsewhere.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="Shortcut">
<xs:annotation>
<xs:documentation>Target of the shortcut will be set to this file.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ODBCDriver" />
<xs:element ref="ODBCTranslator" />
<xs:element ref="SymbolPath" />
<xs:element ref="Class" />
<xs:element ref="AppId" />
<xs:element ref="TypeLib" />
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
<xs:attribute name="Id" type="xs:string">
<xs:annotation>
<xs:documentation>
The unique identifier for this File element. If you omit Id, it defaults to the file name portion of the Source attribute, if specified. May be referenced as a Property by specifying [#value].
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="CompanionFile" type="xs:string">
<xs:annotation>
<xs:documentation>Set this attribute to make this file a companion child of another file. The installation
state of a companion file depends not on its own file versioning information, but on the versioning of its
companion parent. A file that is the key path for its component can not be a companion file (that means
this attribute cannot be set if KeyPath="yes" for this file). The Version attribute cannot be set along
with this attribute since companion files are not installed based on their own version.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="LongFileNameType">
<xs:annotation>
<xs:documentation>
In prior versions of the WiX toolset, this attribute specified the short file name.
This attribute's value may now be either a short or long file name.
If a short file name is specified, the ShortName attribute may not be specified.
If a long file name is specified, the LongName attribute may not be specified.
Also, if this value is a long file name, the ShortName attribute may be omitted to
allow WiX to attempt to generate a unique short file name.
However, if this name collides with another file or you wish to manually specify
the short file name, then the ShortName attribute may be specified.
Finally, if this attribute is omitted then its default value is the file name portion
of the Source attribute, if one is specified, or the value of the Id attribute, if
the Source attribute is omitted or doesn't contain a file name.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="LongName" type="LongFileNameType">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="Name" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="KeyPath" type="YesNoType">
<xs:annotation>
<xs:documentation>Set to yes in order to force this file to be the key path for the parent component.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ShortName" type="ShortFileNameType">
<xs:annotation>
<xs:documentation>
The short file name of the file in 8.3 format.
This attribute should only be set if there is a conflict between generated short file names
or the user wants to manually specify the short file name.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<!-- 'Attributes' column integer value generated from XML attributes below -->
<xs:attribute name="ReadOnly" type="YesNoType">
<xs:annotation>
<xs:documentation>Set to yes in order to have the file's read-only attribute set when it is installed on the target machine.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Hidden" type="YesNoType">
<xs:annotation>
<xs:documentation>Set to yes in order to have the file's hidden attribute set when it is installed on the target machine.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="System" type="YesNoType">
<xs:annotation>
<xs:documentation>Set to yes in order to have the file's system attribute set when it is installed on the target machine.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Vital" type="YesNoType">
<xs:annotation>
<xs:documentation>If a file is vital, then installation cannot proceed unless the file is successfully installed. The user will have no option to ignore an error installing this file. If an error occurs, they can merely retry to install the file or abort the installation. The default is "yes," unless the -sfdvital switch (candle.exe) or SuppressFileDefaultVital property (.wixproj) is used.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Checksum" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute should be set to "yes" for every executable file in the installation that has a valid checksum stored in the Portable Executable (PE) file header. Only those files that have this attribute set will be verified for valid checksum during a reinstall.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Compressed" type="YesNoDefaultType">
<xs:annotation>
<xs:documentation>Sets the file's source type compression. A setting of "yes" or "no" will override the setting in the Word Count Summary Property.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="BindPath" type="xs:string">
<xs:annotation>
<xs:documentation>A list of paths, separated by semicolons, that represent the paths to be searched to find the imported DLLs. The list is usually a list of properties, with each property enclosed inside square brackets. The value may be set to an empty string. Including this attribute will cause an entry to be generated for the file in the BindImage table.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SelfRegCost" type="xs:integer">
<xs:annotation>
<xs:documentation>The cost of registering the file in bytes. This must be a non-negative number. Including this attribute will cause an entry to be generated for the file in the SelfReg table.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="TrueType" type="YesNoType">
<xs:annotation>
<xs:documentation>Causes an entry to be generated for the file in the Font table with no FontTitle specified. This attribute is intended to be used to register the file as a TrueType font.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="FontTitle" type="xs:string">
<xs:annotation>
<xs:documentation>Causes an entry to be generated for the file in the Font table with the specified FontTitle. This attribute is intended to be used to register the file as a non-TrueType font.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DefaultLanguage" type="xs:string">
<xs:annotation>
<xs:documentation>This is the default language of this file. The linker will replace this value from the value in the file if the suppress files option is not used.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DefaultSize" type="xs:integer">
<xs:annotation>
<xs:documentation>This is the default size of this file. The linker will replace this value from the value in the file if the suppress files option is not used.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DefaultVersion" type="xs:string">
<xs:annotation>
<xs:documentation>This is the default version of this file. The linker will replace this value from the value in the file if the suppress files option is not used.</xs:documentation>
</xs:annotation>
</xs:attribute>
<!-- assembly information -->
<xs:attribute name="Assembly">
<xs:annotation>
<xs:documentation>
Specifies if this File is a Win32 Assembly or .NET Assembly that needs to be installed into the
Global Assembly Cache. If the value is '.net' or 'win32', this file must also be the key path of the Component.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value=".net">
<xs:annotation>
<xs:documentation>
The file is a .NET Framework assembly.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="no">
<xs:annotation>
<xs:documentation>
The file is not a .NET Framework or Win32 assembly. This is the default value.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="win32">
<xs:annotation>
<xs:documentation>
The file is a Win32 assembly.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="AssemblyManifest" type="xs:string">
<xs:annotation>
<xs:documentation>
Specifies the file identifier of the manifest file that describes this assembly.
The manifest file should be in the same component as the assembly it describes.
This attribute may only be specified if the Assembly attribute is set to '.net' or 'win32'.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AssemblyApplication" type="xs:string">
<xs:annotation>
<xs:documentation>
Specifies the file identifier of the application file. This assembly will be isolated
to the same directory as the application file.
If this attribute is absent, the assembly will be installed to the Global Assembly Cache.
This attribute may only be specified if the Assembly attribute is set to '.net' or 'win32'.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ProcessorArchitecture">
<xs:annotation>
<xs:documentation>Specifies the architecture for this assembly. This attribute should only be used on .NET Framework 2.0 assemblies.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="msil">
<xs:annotation>
<xs:documentation>
The file is a .NET Framework assembly that is processor-neutral.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="x86">
<xs:annotation>
<xs:documentation>
The file is a .NET Framework assembly for the x86 processor.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="x64">
<xs:annotation>
<xs:documentation>
The file is a .NET Framework assembly for the x64 processor.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ia64">
<xs:annotation>
<xs:documentation>
The file is a .NET Framework assembly for the ia64 processor.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="DiskId" type="xs:integer">
<xs:annotation>
<xs:documentation>Specifies the Media this File should be sourced on. This attribute overrides the default DiskId attribute from the parent Component element. If no DiskId attribute is specifed, the default is "1".</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Source" type="xs:string">
<xs:annotation>
<xs:documentation>Specifies the path to the File in the build process. This attribute must be set if no source information can be gathered from parent directories.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="src" type="xs:string">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="Source" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PatchGroup" type="xs:integer">
<xs:annotation>
<xs:documentation>
This attribute must be set for patch-added files. Each patch should be assigned a different patch group number. Patch groups
numbers must be greater 0 and should be assigned consecutively. For example, the first patch should use PatchGroup='1', the
second patch will have PatchGroup='2', etc...
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PatchIgnore" type="YesNoType">
<xs:annotation>
<xs:documentation>Prevents the updating of the file that is in fact changed in the upgraded image relative to the target images.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PatchAllowIgnoreOnError" type="YesNoType">
<xs:annotation>
<xs:documentation>Set to indicate that the patch is non-vital.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PatchWholeFile" type="YesNoType">
<xs:annotation>
<xs:documentation>Set if the entire file should be installed rather than creating a binary patch.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>

Element: FileCost

Description

Initiates dynamic costing of standard installation actions.

Derived By

Type ActionSequenceType

Attributes

Name  Type  Required?  Default  Description 
Sequence  integer  No    A value used to indicate the position of this action in a sequence.
Suppress  YesNoType  No    If yes, this action will not occur.

Content Model

Contains text only.

Referenced By

Remarks

Any standard or custom actions that affect costing should sequenced before the CostInitialize action. Call the FileCost action immediately following the CostInitialize action. Then call the CostFinalize action following the FileCost action to make all final cost calculations available to the installer through the Component table. The CostInitialize action must be executed before the FileCost action. The installer then determines the disk-space cost of every file in the File table, on a per-component basis, taking both volume clustering and the presence of existing files that may need to be overwritten into account. All actions that consume or release disk space are also considered. If an existing file is found, a file version check is performed to determine whether the new file actually needs to be installed or not. If the existing file is of an equal or greater version number, the existing file is not overwritten and no disk-space cost is incurred. In all cases, the installer uses the results of version number checking to set the installation state of each file. The FileCost action initializes cost calculation with the installer. Actual dynamic costing does not occur until the CostFinalize action is executed. The condition for this action may be specified in the element's inner text.

Definition

<xs:element name="FileCost" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="CostInitialize" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="CostFinalize" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef action="FileCost" href="http://msdn.microsoft.com/library/aa368589.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Initiates dynamic costing of standard installation actions. Any standard or custom actions that affect costing should sequenced before the CostInitialize action. Call the FileCost action immediately following the CostInitialize action. Then call the CostFinalize action following the FileCost action to make all final cost calculations available to the installer through the Component table. The CostInitialize action must be executed before the FileCost action. The installer then determines the disk-space cost of every file in the File table, on a per-component basis, taking both volume clustering and the presence of existing files that may need to be overwritten into account. All actions that consume or release disk space are also considered. If an existing file is found, a file version check is performed to determine whether the new file actually needs to be installed or not. If the existing file is of an equal or greater version number, the existing file is not overwritten and no disk-space cost is incurred. In all cases, the installer uses the results of version number checking to set the installation state of each file. The FileCost action initializes cost calculation with the installer. Actual dynamic costing does not occur until the CostFinalize action is executed. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>

Element: FileSearch

Description

Searches for file and assigns to fullpath value of parent Property

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  No    Unique identifier for the file search and external key into the Signature table.
Name  LongFileNameType  No    In prior versions of the WiX toolset, this attribute specified the short file name. This attribute's value may now be either a short or long file name.
LongName  LongFileNameType  No     
ShortName  ShortFileNameType  No    The short file name of the file in 8.3 format.
MinSize  int  No    The minimum size of the file.
MaxSize  int  No    The maximum size of the file.
MinVersion  string  No    The minimum version of the file.
MaxVersion  string  No    The maximum version of the file.
MinDate  dateTime  No    The minimum modification date and time of the file.
MaxDate  dateTime  No    The maximum modification date and time of the file.
Languages  string  No    The languages supported by the file.

Content Model

Always empty.

Referenced By

Definition

<xs:element name="FileSearch">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="ComponentSearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="DirectorySearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="DirectorySearchRef" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="FileSearchRef" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="IniFileSearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="RegistrySearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="DrLocator" href="http://msdn.microsoft.com/library/aa368331.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Signature" href="http://msdn.microsoft.com/library/aa371853.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:howtoRef href="check_the_version_number.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Check the version number of a file during installation</xse:howtoRef>
</xs:appinfo>
<xs:documentation>Searches for file and assigns to fullpath value of parent Property</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string">
<xs:annotation>
<xs:documentation>Unique identifier for the file search and external key into the Signature table. This attribute is required if FileSearch is nested under a DirectorySearch or DirectorySearchRef element.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="LongFileNameType">
<xs:annotation>
<xs:documentation>
In prior versions of the WiX toolset, this attribute specified the short file name.
This attribute's value may now be either a short or long file name.
If a short file name is specified, the ShortName attribute may not be specified.
If a long file name is specified, the LongName attribute may not be specified.
If you wish to manually specify the short file name, then the ShortName
attribute may be specified.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="LongName" type="LongFileNameType">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="Name" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ShortName" type="ShortFileNameType">
<xs:annotation>
<xs:documentation>
The short file name of the file in 8.3 format.
There is a Windows Installer bug which prevents the FileSearch functionality from working
if both a short and long file name are specified. Since the Name attribute allows either
a short or long name to be specified, it is the only attribute related to file names which
should be specified.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MinSize" type="xs:int">
<xs:annotation>
<xs:documentation>The minimum size of the file.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MaxSize" type="xs:int">
<xs:annotation>
<xs:documentation>The maximum size of the file.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MinVersion" type="xs:string">
<xs:annotation>
<xs:documentation>The minimum version of the file.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MaxVersion" type="xs:string">
<xs:annotation>
<xs:documentation>The maximum version of the file.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MinDate" type="xs:dateTime">
<xs:annotation>
<xs:documentation>The minimum modification date and time of the file. Formatted as YYYY-MM-DDTHH:mm:ss, where YYYY is the year, MM is month, DD is day, 'T' is literal, HH is hour, mm is minute and ss is second.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MaxDate" type="xs:dateTime">
<xs:annotation>
<xs:documentation>The maximum modification date and time of the file. Formatted as YYYY-MM-DDTHH:mm:ss, where YYYY is the year, MM is month, DD is day, 'T' is literal, HH is hour, mm is minute and ss is second.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Languages" type="xs:string">
<xs:annotation>
<xs:documentation>The languages supported by the file.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: FileSearchRef

Description

References an existing FileSearch element.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    Specify the Id to the FileSearch to reference.

Content Model

Always empty.

Referenced By

Definition

<xs:element name="FileSearchRef">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="FileSearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:remarks xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">
<html:p xmlns:html="http://www.w3.org/1999/xhtml">If you intend to use a FileSearchRef to reference a FileSearch but they have different parent elements, you must use a FileSearch instead of a FileSearchRef. This is because the DrLocator table in an installer package is keyed on the Id, Parent, and Path. A file is associated with its parent directory in the DrLocator table. When a FileSearch and a FileSearchRef element are under different parent elements, the Parent will automatically be different so a FileSearchRef will not have a FileSearch to reference.</html:p>
</xse:remarks>
</xs:appinfo>
<xs:documentation>References an existing FileSearch element.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Specify the Id to the FileSearch to reference.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: FileTypeMask

Description

FileType data for class Id registration.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Offset  integer  Yes    Offset into file. If positive, offset is from the beginning; if negative, offset is from the end.
Mask  HexType  Yes    Hex value that is AND'd against the bytes in the file at Offset.
Value  HexType  Yes    If the result of the AND'ing of Mask with the bytes in the file is Value, the file is a match for this File Type.

Content Model

Always empty.

Referenced By

Definition

<xs:element name="FileTypeMask">
<xs:annotation>
<xs:documentation>FileType data for class Id registration.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Offset" type="xs:integer" use="required">
<xs:annotation>
<xs:documentation>Offset into file. If positive, offset is from the beginning; if negative, offset is from the end.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Mask" type="HexType" use="required">
<xs:annotation>
<xs:documentation>Hex value that is AND'd against the bytes in the file at Offset.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Value" type="HexType" use="required">
<xs:annotation>
<xs:documentation>If the result of the AND'ing of Mask with the bytes in the file is Value, the file is a match for this File Type.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: FindRelatedProducts

Description

Runs through each record of the Upgrade table in sequence and compares the upgrade code, product version, and language in each row to products installed on the system.

Derived By

Type ActionModuleSequenceType

Attributes

Name  Type  Required?  Default  Description 
After  string  No    The name of an action that this action should come after.
Before  string  No    The name of an action that this action should come before.
Overridable  YesNoType  No    If "yes", the sequencing of this action may be overridden by sequencing elsewhere.
Sequence  integer  No    A value used to indicate the position of this action in a sequence.
Suppress  YesNoType  No    If yes, this action will not occur.

Content Model

Contains text only.

Referenced By

Remarks

When FindRelatedProducts detects a correspondence between the upgrade information and an installed product, it appends the product code to the property specified in the ActionProperty column of the UpgradeTable. The FindRelatedProducts action only runs the first time the product is installed. The FindRelatedProducts action does not run during maintenance mode or uninstallation. FindRelatedProducts should be authored into the InstallUISequence table and InstallExecuteSequence tables. The installer prevents FindRelated Products from running in InstallExecuteSequence if the action has already run in InstallUISequence. The FindRelatedProducts action must come before the MigrateFeatureStates action and the RemoveExistingProducts action. The condition for this action may be specified in the element's inner text.

Definition

<xs:element name="FindRelatedProducts" type="ActionModuleSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="Upgrade" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef action="FindRelatedProducts" href="http://msdn.microsoft.com/library/aa368600.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Runs through each record of the Upgrade table in sequence and compares the upgrade code, product version, and language in each row to products installed on the system. When FindRelatedProducts detects a correspondence between the upgrade information and an installed product, it appends the product code to the property specified in the ActionProperty column of the UpgradeTable. The FindRelatedProducts action only runs the first time the product is installed. The FindRelatedProducts action does not run during maintenance mode or uninstallation. FindRelatedProducts should be authored into the InstallUISequence table and InstallExecuteSequence tables. The installer prevents FindRelated Products from running in InstallExecuteSequence if the action has already run in InstallUISequence. The FindRelatedProducts action must come before the MigrateFeatureStates action and the RemoveExistingProducts action. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>

Element: ForceReboot

Description

Prompts the user for a restart of the system during the installation.

Derived By

Type ActionModuleSequenceType

Attributes

Name  Type  Required?  Default  Description 
After  string  No    The name of an action that this action should come after.
Before  string  No    The name of an action that this action should come before.
Overridable  YesNoType  No    If "yes", the sequencing of this action may be overridden by sequencing elsewhere.
Sequence  integer  No    A value used to indicate the position of this action in a sequence.
Suppress  YesNoType  No    If yes, this action will not occur.

Content Model

Contains text only.

Referenced By

Remarks

Special actions don't have a built-in sequence number and thus must appear relative to another action. The suggested way to do this is by using the Before or After attribute. InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize.

Definition

<xs:element name="ForceReboot" type="ActionModuleSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="ForceReboot" href="http://msdn.microsoft.com/library/aa368607.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Prompts the user for a restart of the system during the installation. Special actions don't have a built-in sequence number and thus must appear relative to another action. The suggested way to do this is by using the Before or After attribute. InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize.</xs:documentation>
</xs:annotation>
</xs:element>

Element: Fragment

Description

The Fragment element is the building block of creating an installer database in WiX.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  No    Optional identifier for a Fragment.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    0..*   
any    1..1  Allow any element from the ##other namespace.
AppId  anyType (restriction)  1..1  Application ID containing DCOM information for the associated application GUID.

Binary  anyType (restriction)  1..1  Binary data used for CustomAction elements and UI controls.
ComplianceCheck  anyType (restriction)  1..1  Adds a row to the CCPSearch table.
Component  anyType (restriction)  1..1  Component for parent Directory
ComponentGroup  anyType (restriction)  1..1  Groups together multiple components to be used in other locations.
Condition  string (extension)  1..1  Conditions for components, controls, features, and products.
CustomAction  string (extension)  1..1  Specifies a custom action to be added to the MSI CustomAction table.
CustomActionRef  anyType (restriction)  1..1  This will cause the entire contents of the Fragment containing the referenced CustomAction to be included in the installer database.
CustomTable  anyType (restriction)  1..1  Defines a custom table for use from a custom action.
Directory  anyType (restriction)  1..1  Directory layout for the product.
DirectoryRef  anyType (restriction)  1..1  Create a reference to a Directory element in another Fragment.
EmbeddedChainer  string (extension)  1..1   
EmbeddedChainerRef  anyType (restriction)  1..1  Reference to an EmbeddedChainer element.
EnsureTable  anyType (restriction)  1..1  Use this element to ensure that a table appears in the installer database, even if its empty.
Feature  anyType (restriction)  1..1  A feature for the Feature table.
FeatureGroup  anyType (restriction)  1..1  Groups together multiple components, features, and merges to be used in other locations.
FeatureRef  anyType (restriction)  1..1  Create a reference to a Feature element in another Fragment.
Icon  anyType (restriction)  1..1  Icon used for Shortcut, ProgId, or Class elements (but not UI controls)
IgnoreModularization  anyType (restriction)  1..1  This element has been deprecated.
Media  anyType (restriction)  1..1  Media element describes a disk that makes up the source media for the installation.
PatchCertificates  anyType (restriction)  1..1  Identifies the possible signer certificates used to digitally sign patches.
PatchFamily  anyType (restriction)  1..1  Collection of items that should be kept from the differences between two products.
Property  anyType (restriction)  1..1  Property value for a Product or Module.
PropertyRef  anyType (restriction)  1..1  Reference to a Property value.
    1..1   
InstallExecuteSequence  anyType (restriction)  0..1   
InstallUISequence  anyType (restriction)  0..1   
AdminExecuteSequence  anyType (restriction)  0..1   
AdminUISequence  anyType (restriction)  0..1   
AdvertiseExecuteSequence  anyType (restriction)  0..1   
SetDirectory  string (extension)  1..1  Sets a Directory to a particular value.
SetProperty  string (extension)  1..1  Sets a Property to a particular value.
SFPCatalog  anyType (restriction)  1..1  Adds a system file protection update catalog file
UI  anyType (restriction)  1..1  Enclosing element to compartmentalize UI specifications.
UIRef  anyType (restriction)  1..1  Reference to a UI element. This will force the entire referenced Fragment's contents to be included in the installer database.
Upgrade  anyType (restriction)  1..1  Upgrade info for a particular UpgradeCode
WixVariable  anyType (restriction)  1..1  This element exposes advanced WiX functionality.

Remarks

Once defined, the Fragment becomes an immutable, atomic unit which can either be completely included or excluded from a product. The contents of a Fragment element can be linked into a product by utilizing one of the many *Ref elements. When linking in a Fragment, it will be necessary to link in all of its individual units. For instance, if a given Fragment contains two Component elements, you must link both under features using ComponentRef for each linked Component. Otherwise, you will get a linker warning and have a floating Component that does not appear under any Feature.

Definition

<xs:element name="Fragment">
<xs:annotation>
<xs:documentation>
The Fragment element is the building block of creating an installer database in WiX. Once defined,
the Fragment becomes an immutable, atomic unit which can either be completely included or excluded
from a product. The contents of a Fragment element can be linked into a product by utilizing one
of the many *Ref elements. When linking in a Fragment, it will be necessary to link in all of its
individual units. For instance, if a given Fragment contains two Component elements, you must link
both under features using ComponentRef for each linked Component. Otherwise, you will get a linker
warning and have a floating Component that does not appear under any Feature.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="AppId" />
<xs:element ref="Binary" />
<xs:element ref="ComplianceCheck" />
<xs:element ref="Component" />
<xs:element ref="ComponentGroup" />
<xs:element ref="Condition" />
<xs:element ref="CustomAction" />
<xs:element ref="CustomActionRef" />
<xs:element ref="CustomTable" />
<xs:element ref="Directory" />
<xs:element ref="DirectoryRef" />
<xs:element ref="EmbeddedChainer" />
<xs:element ref="EmbeddedChainerRef" />
<xs:element ref="EnsureTable" />
<xs:element ref="Feature" />
<xs:element ref="FeatureGroup" />
<xs:element ref="FeatureRef" />
<xs:element ref="Icon" />
<xs:element ref="IgnoreModularization" />
<xs:element ref="Media" />
<xs:element ref="PatchCertificates" />
<xs:element ref="PatchFamily" />
<xs:element ref="Property" />
<xs:element ref="PropertyRef" />
<xs:element ref="SetDirectory" />
<xs:element ref="SetProperty" />
<xs:element ref="SFPCatalog" />
<xs:element ref="UI" />
<xs:element ref="UIRef" />
<xs:element ref="Upgrade" />
<xs:element ref="WixVariable" />
<xs:sequence>
<xs:element ref="InstallExecuteSequence" minOccurs="0" />
<xs:element ref="InstallUISequence" minOccurs="0" />
<xs:element ref="AdminExecuteSequence" minOccurs="0" />
<xs:element ref="AdminUISequence" minOccurs="0" />
<xs:element ref="AdvertiseExecuteSequence" minOccurs="0" />
</xs:sequence>
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
<xs:attribute name="Id" type="xs:string">
<xs:annotation>
<xs:documentation>
Optional identifier for a Fragment. Should only be set by advanced users to tag sections.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: Icon

Description

Icon used for Shortcut, ProgId, or Class elements (but not UI controls)

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    The Id cannot by longer than 55 characters.
SourceFile  string  No    Path to the icon file.
src  string  No     

Content Model

Always empty.

Referenced By

Definition

<xs:element name="Icon">
<xs:annotation>
<xs:documentation>
Icon used for Shortcut, ProgId, or Class elements (but not UI controls)
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="Icon" href="http://msdn.microsoft.com/library/aa369210.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:howtoRef href="configure_arp_appearance.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Set your installer's icon in Add/Remove Programs</xse:howtoRef>
<xse:howtoRef href="create_start_menu_shortcut.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Create a shortcut on the Start Menu</xse:howtoRef>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The Id cannot by longer than 55 characters. In order to prevent errors in cases where the Id is modularized, it should not be longer than 18 characters.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SourceFile" type="xs:string">
<xs:annotation>
<xs:documentation>Path to the icon file.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="src" type="xs:string">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="SourceFile" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: IconRef

Description

Used only for PatchFamilies to include only a icon table entry in a patch.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    The identifier of the Icon element to reference.

Content Model

Always empty.

Definition

<xs:element name="IconRef">
<xs:annotation>
<xs:documentation>Used only for PatchFamilies to include only a icon table entry in a patch.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The identifier of the Icon element to reference.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>

Element: IgnoreModularization

Description

This element has been deprecated.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Name  string  Yes    The name of the item to ignore modularization for.
Type  NMTOKEN (restriction)  No    The type of the item to ignore modularization for.

Content Model

Always empty.

Referenced By

Remarks

Use the Binary/@SuppressModularization, CustomAction/@SuppressModularization, or Property/@SuppressModularization attributes instead.

Definition

<xs:element name="IgnoreModularization">
<xs:annotation>
<xs:documentation>
This element has been deprecated.
Use the Binary/@SuppressModularization, CustomAction/@SuppressModularization, or Property/@SuppressModularization attributes instead.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Name" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>
The name of the item to ignore modularization for.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>
The type of the item to ignore modularization for.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Action" />
<xs:enumeration value="Property" />
<xs:enumeration value="Directory" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: IgnoreRange

Description

Specifies part of a file that is to be ignored during patching.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Offset  int  Yes    Offset of the start of the range.
Length  int  Yes    Length of the range.

Content Model

Always empty.

Definition

<xs:element name="IgnoreRange">
<xs:annotation>
<xs:documentation>Specifies part of a file that is to be ignored during patching.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Offset" type="xs:int" use="required">
<xs:annotation>
<xs:documentation>Offset of the start of the range.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Length" type="xs:int" use="required">
<xs:annotation>
<xs:documentation>Length of the range.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: IgnoreTable

Description

Specifies a table from the merge module that is not merged into an .msi file.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    The name of the table in the merge module that is not to be merged into the .msi file.

Content Model

Always empty.

Remarks

If the table already exists in an .msi file, it is not modified by the merge. The specified table can therefore contain data that is unneeded after the merge. To minimize the size of the .msm file, it is recommended that developers remove unused tables from modules intended for redistribution rather than creating IgnoreTable elements for those tables.

Definition

<xs:element name="IgnoreTable">
<xs:annotation>
<xs:documentation>
Specifies a table from the merge module that is not merged into an .msi file.
If the table already exists in an .msi file, it is not modified by the merge.
The specified table can therefore contain data that is unneeded after the merge.
To minimize the size of the .msm file, it is recommended that developers remove
unused tables from modules intended for redistribution rather than creating
IgnoreTable elements for those tables.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>
The name of the table in the merge module that is not to be merged into the .msi file.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: Include

Description

This is the top-level container element for every wxi file.

Derived By

Restricting anyType

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    0..*   
any    1..1  Allow any element from the ##any namespace.

Definition

<xs:element name="Include">
<xs:annotation>
<xs:documentation>
This is the top-level container element for every wxi file.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:any namespace="##any" processContents="lax" />
</xs:choice>
</xs:complexType>
</xs:element>

Element: IniFile

Description

Adds or removes .ini file entries.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    Identifier for ini file.
Action  NMTOKEN (restriction)  Yes    The type of modification to be made.
Directory  string  No    Name of a property, the value of which is the full path of the folder containing the .ini file.
Key  string  Yes    The localizable .ini file key within the section.
LongName  LongFileNameType  No     
Name  LongFileNameType  Yes    In prior versions of the WiX toolset, this attribute specified the short name. This attribute's value may now be either a short or long name.
Section  string  Yes    The localizable .ini file section.
ShortName  ShortFileNameType  No    The short name of the in 8.3 format.
Value  string  No    The localizable value to be written or deleted. This attribute must be set if the Action attribute's value is "addLine", "addTag", or "createLine".

Content Model

Always empty.

Referenced By

Definition

<xs:element name="IniFile">
<xs:annotation>
<xs:documentation>
Adds or removes .ini file entries.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="IniFile" href="http://msdn.microsoft.com/library/aa369282.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="RemoveIniFile" href="http://msdn.microsoft.com/library/aa371204.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Identifier for ini file.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Action" use="required">
<xs:annotation>
<xs:documentation>The type of modification to be made.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="addLine">
<xs:annotation>
<xs:documentation>Creates or updates an .ini entry.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="addTag">
<xs:annotation>
<xs:documentation>Creates a new entry or appends a new comma-separated value to an existing entry.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="createLine">
<xs:annotation>
<xs:documentation>Creates an .ini entry only if the entry does no already exist.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="removeLine">
<xs:annotation>
<xs:documentation>Removes an .ini entry.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="removeTag">
<xs:annotation>
<xs:documentation>Removes a tag from an .ini entry.</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Directory" type="xs:string">
<xs:annotation>
<xs:documentation>Name of a property, the value of which is the full path of the folder containing the .ini file. Can be name of a directory in the Directory table, a property set by the AppSearch table, or any other property representing a full path.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Key" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>The localizable .ini file key within the section.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="LongName" type="LongFileNameType">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="Name" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="LongFileNameType" use="required">
<xs:annotation>
<xs:documentation>
In prior versions of the WiX toolset, this attribute specified the short name.
This attribute's value may now be either a short or long name.
If a short name is specified, the ShortName attribute may not be specified.
If a long name is specified, the LongName attribute may not be specified.
Also, if this value is a long name, the ShortName attribute may be omitted to
allow WiX to attempt to generate a unique short name.
However, if this name collides with another file or you wish to manually specify
the short name, then the ShortName attribute may be specified.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Section" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>The localizable .ini file section.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ShortName" type="ShortFileNameType">
<xs:annotation>
<xs:documentation>
The short name of the in 8.3 format.
This attribute should only be set if there is a conflict between generated short names
or the user wants to manually specify the short name.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Value" type="xs:string">
<xs:annotation>
<xs:documentation>
The localizable value to be written or deleted. This attribute must be set if
the Action attribute's value is "addLine", "addTag", or "createLine".
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: IniFileSearch

Description

Searches for file, directory or registry key and assigns to value of parent Property

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    External key into the Signature table.
Field  integer  No    The field in the .ini line. If field is Null or 0, the entire line is read.
Key  string  Yes    The key value within the section.
LongName  LongFileNameType  No     
Name  LongFileNameType  Yes    In prior versions of the WiX toolset, this attribute specified the short name. This attribute's value may now be either a short or long name.
Section  string  Yes    The localizable .ini file section.
ShortName  ShortFileNameType  No    The short name of the file in 8.3 format.
Type  NMTOKEN (restriction)  No    Must be file if last child is FileSearch element and must be directory if last child is DirectorySearch element.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    0..1   
DirectorySearch  anyType (restriction)  1..1  Searches for directory and assigns to value of parent Property.
DirectorySearchRef  anyType (restriction)  1..1  References an existing DirectorySearch element.
FileSearch  anyType (restriction)  1..1  Searches for file and assigns to fullpath value of parent Property
FileSearchRef  anyType (restriction)  1..1  References an existing FileSearch element.

Definition

<xs:element name="IniFileSearch">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="ComponentSearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="RegistrySearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="IniLocator" href="http://msdn.microsoft.com/library/aa369283.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Signature" href="http://msdn.microsoft.com/library/aa371853.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Searches for file, directory or registry key and assigns to value of parent Property</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0">
<xs:element ref="DirectorySearch" />
<xs:element ref="DirectorySearchRef" />
<xs:element ref="FileSearch" />
<xs:element ref="FileSearchRef" />
</xs:choice>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>External key into the Signature table.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Field" type="xs:integer">
<xs:annotation>
<xs:documentation>The field in the .ini line. If field is Null or 0, the entire line is read.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Key" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>The key value within the section.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="LongName" type="LongFileNameType">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="Name" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="LongFileNameType" use="required">
<xs:annotation>
<xs:documentation>
In prior versions of the WiX toolset, this attribute specified the short name.
This attribute's value may now be either a short or long name.
If a short name is specified, the ShortName attribute may not be specified.
If a long name is specified, the LongName attribute may not be specified.
Also, if this value is a long name, the ShortName attribute may be omitted to
allow WiX to attempt to generate a unique short name.
However, if you wish to manually specify the short name, then the ShortName
attribute may be specified.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Section" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>The localizable .ini file section.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ShortName" type="ShortFileNameType">
<xs:annotation>
<xs:documentation>
The short name of the file in 8.3 format.
This attribute should only be set if the user wants to manually specify the short name.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Must be file if last child is FileSearch element and must be directory if last child is DirectorySearch element.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="directory">
<xs:annotation>
<xs:documentation>A directory location.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="file">
<xs:annotation>
<xs:documentation>A file location. This is the default value.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="raw">
<xs:annotation>
<xs:documentation>A raw .ini value.</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: InstallAdminPackage

Description

Copies the product database to the administrative installation point. The condition for this action may be specified in the element's inner text.

Derived By

Type ActionSequenceType

Attributes

Name  Type  Required?  Default  Description 
Sequence  integer  No    A value used to indicate the position of this action in a sequence.
Suppress  YesNoType  No    If yes, this action will not occur.

Content Model

Contains text only.

Referenced By

Definition

<xs:element name="InstallAdminPackage" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="InstallAdminPackage" href="http://msdn.microsoft.com/library/aa369287.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Copies the product database to the administrative installation point. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>

Element: InstallExecute

Description

Runs a script containing all operations spooled since either the start of the installation or the last InstallExecute action, or InstallExecuteAgain action.

Derived By

Type ActionModuleSequenceType

Attributes

Name  Type  Required?  Default  Description 
After  string  No    The name of an action that this action should come after.
Before  string  No    The name of an action that this action should come before.
Overridable  YesNoType  No    If "yes", the sequencing of this action may be overridden by sequencing elsewhere.
Sequence  integer  No    A value used to indicate the position of this action in a sequence.
Suppress  YesNoType  No    If yes, this action will not occur.

Content Model

Contains text only.

Referenced By

Remarks

Special actions don't have a built-in sequence number and thus must appear relative to another action. The suggested way to do this is by using the Before or After attribute. InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize.

Definition

<xs:element name="InstallExecute" type="ActionModuleSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="InstallExecute" href="http://msdn.microsoft.com/library/aa369502.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Runs a script containing all operations spooled since either the start of the installation or the last InstallExecute action, or InstallExecuteAgain action. Special actions don't have a built-in sequence number and thus must appear relative to another action. The suggested way to do this is by using the Before or After attribute. InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize.</xs:documentation>
</xs:annotation>
</xs:element>

Element: InstallExecuteAgain

Description

Runs a script containing all operations spooled since either the start of the installation or the last InstallExecute action, or InstallExecuteAgain action.

Derived By

Type ActionModuleSequenceType

Attributes

Name  Type  Required?  Default  Description 
After  string  No    The name of an action that this action should come after.
Before  string  No    The name of an action that this action should come before.
Overridable  YesNoType  No    If "yes", the sequencing of this action may be overridden by sequencing elsewhere.
Sequence  integer  No    A value used to indicate the position of this action in a sequence.
Suppress  YesNoType  No    If yes, this action will not occur.

Content Model

Contains text only.

Referenced By

Remarks

Should only be used after InstallExecute. Special actions don't have a built-in sequence number and thus must appear relative to another action. The suggested way to do this is by using the Before or After attribute. InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize.

Definition

<xs:element name="InstallExecuteAgain" type="ActionModuleSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="InstallExecuteAgain" href="http://msdn.microsoft.com/library/aa369497.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Runs a script containing all operations spooled since either the start of the installation or the last InstallExecute action, or InstallExecuteAgain action. Should only be used after InstallExecute. Special actions don't have a built-in sequence number and thus must appear relative to another action. The suggested way to do this is by using the Before or After attribute. InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize.</xs:documentation>
</xs:annotation>
</xs:element>

Element: InstallExecuteSequence

Derived By

Restricting anyType

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    0..*   
AllocateRegistrySpace  ActionSequenceType  0..1  Ensures the needed amount of space exists in the registry.
AppSearch  ActionModuleSequenceType  0..1  Uses file signatures to search for existing versions of products.
BindImage  ActionSequenceType  0..1  Binds each executable or DLL that must be bound to the DLLs imported by it.
CCPSearch  ActionModuleSequenceType  1..1  Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed.
CostFinalize  ActionSequenceType  1..1  Ends the internal installation costing process begun by the CostInitialize action.
CostInitialize  ActionSequenceType  1..1  Initiates the internal installation costing process.
CreateFolders  ActionSequenceType  0..1  Creates empty folders for components that are set to be installed.
CreateShortcuts  ActionSequenceType  0..1  Manages the creation of shortcuts.
Custom  string (extension)  0..*  Use to sequence a custom action.
DeleteServices  ActionSequenceType  1..1  Stops a service and removes its registration from the system.
DisableRollback  ActionModuleSequenceType  0..1  Disables rollback for the remainder of the installation.
DuplicateFiles  ActionSequenceType  1..1  Duplicates files installed by the InstallFiles action.
FileCost  ActionSequenceType  1..1  Initiates dynamic costing of standard installation actions.
FindRelatedProducts  ActionModuleSequenceType  0..1  Runs through each record of the Upgrade table in sequence and compares the upgrade code, product version, and language in each row to products installed on the system.
ForceReboot  ActionModuleSequenceType  0..1  Prompts the user for a restart of the system during the installation.
InstallExecute  ActionModuleSequenceType  0..1  Runs a script containing all operations spooled since either the start of the installation or the last InstallExecute action, or InstallExecuteAgain action.
InstallExecuteAgain  ActionModuleSequenceType  0..1  Runs a script containing all operations spooled since either the start of the installation or the last InstallExecute action, or InstallExecuteAgain action.
InstallFiles  ActionSequenceType  0..1  Copies files specified in the File table from the source directory to the destination directory.
InstallFinalize  ActionSequenceType  1..1  Marks the end of a sequence of actions that change the system.
InstallInitialize  ActionSequenceType  1..1  Marks the beginning of a sequence of actions that change the system.
InstallODBC  ActionSequenceType  1..1  Installs the drivers, translators, and data sources in the ODBCDriver table, ODBCTranslator table, and ODBCDataSource table.
InstallServices  ActionSequenceType  1..1  Registers a service for the system.
InstallValidate  ActionSequenceType  1..1  Verifies that all costed volumes have enough space for the installation.
IsolateComponents  ActionSequenceType  1..1  Installs a copy of a component (commonly a shared DLL) into a private location for use by a specific application (typically an .exe).
LaunchConditions  ActionModuleSequenceType  0..1  Queries the LaunchCondition table and evaluates each conditional statement recorded there.
MigrateFeatureStates  ActionSequenceType  1..1  Used for upgrading or installing over an existing application.
MoveFiles  ActionSequenceType  1..1  Locates existing files on the system and moves or copies those files to a new location.
MsiPublishAssemblies  ActionSequenceType  1..1  Manages the advertisement of CLR and Win32 assemblies.
MsiUnpublishAssemblies  ActionSequenceType  1..1  Manages the unadvertisement of CLR and Win32 assemblies that are being removed.
PatchFiles  ActionSequenceType  1..1  Queries the Patch table to determine which patches are to be applied.
ProcessComponents  ActionSequenceType  1..1  Registers and unregisters components, their key paths, and the component clients.
PublishComponents  ActionSequenceType  0..1  Manages the advertisement of the components from the PublishComponent table.
PublishFeatures  ActionSequenceType  0..1  Writes each feature's state into the system registry.
PublishProduct  ActionSequenceType  0..1  Manages the advertisement of the product information with the system.
RegisterClassInfo  ActionSequenceType  0..1  Manages the registration of COM class information with the system.
RegisterComPlus  ActionSequenceType  1..1  Registers COM+ applications.
RegisterExtensionInfo  ActionSequenceType  1..1  Manages the registration of extension related information with the system.
RegisterFonts  ActionSequenceType  1..1  Registers installed fonts with the system.
RegisterMIMEInfo  ActionSequenceType  1..1  Registers MIME-related registry information with the system.
RegisterProduct  ActionSequenceType  0..1  Registers the product information with the installer.
RegisterProgIdInfo  ActionSequenceType  0..1  Manages the registration of OLE ProgId information with the system.
RegisterTypeLibraries  ActionSequenceType  0..1  Registers type libraries with the system.
RegisterUser  ActionSequenceType  0..1  Registers the user information with the installer to identify the user of a product.
RemoveDuplicateFiles  ActionSequenceType  1..1  Deletes files installed by the DuplicateFiles action.
RemoveEnvironmentStrings  ActionSequenceType  1..1  Modifies the values of environment variables.
RemoveExistingProducts  ActionModuleSequenceType  1..1  Goes through the product codes listed in the ActionProperty column of the Upgrade table and removes the products in sequence.
RemoveFiles  ActionSequenceType  0..1  Removes files previously installed by the InstallFiles action.
RemoveFolders  ActionSequenceType  0..1  Removes any folders linked to components set to be removed or run from source.
RemoveIniValues  ActionSequenceType  1..1  Removes .ini file information specified for removal in the RemoveIniFile table if the component is set to be installed locally or run from source.
RemoveODBC  ActionSequenceType  1..1  Removes the data sources, translators, and drivers listed for removal during the installation.
RemoveRegistryValues  ActionSequenceType  0..1  Removes a registry value that has been authored into the registry table if the associated component was installed locally or as run from source, and is now set to be uninstalled.
RemoveShortcuts  ActionSequenceType  0..1  Manages the removal of an advertised shortcut whose feature is selected for uninstallation or a nonadvertised shortcut whose component is selected for uninstallation.
ResolveSource  ActionModuleSequenceType  0..1  Determines the location of the source and sets the SourceDir property if the source has not been resolved yet.
RMCCPSearch  ActionModuleSequenceType  1..1  Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed.
ScheduleReboot  ActionModuleSequenceType  0..1  Prompts the user to restart the system at the end of installation.
SelfRegModules  ActionSequenceType  0..1  Processes all modules listed in the SelfReg table and registers all installed modules with the system.
SelfUnregModules  ActionSequenceType  0..1  Unregisters all modules listed in the SelfReg table that are scheduled to be uninstalled.
SetODBCFolders  ActionSequenceType  1..1  Checks for existing ODBC drivers and sets the target directory for each new driver to the location of an existing driver.
StartServices  ActionSequenceType  1..1  Starts system services.
StopServices  ActionSequenceType  1..1  Stops system services.
UnpublishComponents  ActionSequenceType  0..1  Manages the unadvertisement of components listed in the PublishComponent table.
UnpublishFeatures  ActionSequenceType  0..1  Removes selection-state and feature-component mapping information from the registry.
UnregisterClassInfo  ActionSequenceType  0..1  Manages the removal of COM class information from the system registry.
UnregisterComPlus  ActionSequenceType  1..1  Removes COM+ applications from the registry.
UnregisterExtensionInfo  ActionSequenceType  1..1  Manages the removal of extension-related information from the system registry.
UnregisterFonts  ActionSequenceType  1..1  Removes registration information about installed fonts from the system.
UnregisterMIMEInfo  ActionSequenceType  1..1  Unregisters MIME-related registry information from the system.
UnregisterProgIdInfo  ActionSequenceType  0..1  Manages the unregistration of OLE ProgId information with the system.
UnregisterTypeLibraries  ActionSequenceType  0..1  Unregisters type libraries from the system.
ValidateProductID  ActionSequenceType  1..1  Sets the ProductID property to the full product identifier.
WriteEnvironmentStrings  ActionSequenceType  1..1  Modifies the values of environment variables.
WriteIniValues  ActionSequenceType  1..1  Writes the .ini file information that the application needs written to its .ini files.
WriteRegistryValues  ActionSequenceType  0..1  Sets up an application's registry information.

Definition

<xs:element name="InstallExecuteSequence">
<xs:annotation>
<xs:appinfo>
<xse:msiRef table="InstallExecuteSequence" href="http://msdn.microsoft.com/library/aa369500.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<!-- used only to supply default op for child action elements -->
<xs:element ref="Custom" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Use to sequence a custom action.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ScheduleReboot" minOccurs="0">
<xs:annotation>
<xs:documentation>Prompts the user to restart the system at the end of installation. Not fixed sequence.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ForceReboot" minOccurs="0">
<xs:annotation>
<xs:documentation>Prompts the user for a restart of the system during the installation. Not fixed sequence.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ResolveSource" minOccurs="0">
<xs:annotation>
<xs:documentation>Determines the location of the source and sets the SourceDir property if the source has not been resolved yet. Not fixed sequence.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="LaunchConditions" minOccurs="0">
<xs:annotation>
<xs:documentation>Queries the LaunchCondition table and evaluates each conditional statement recorded there.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="FindRelatedProducts" minOccurs="0">
<xs:annotation>
<xs:documentation>Runs through each record of the Upgrade table in sequence and compares the upgrade code, product version, and language in each row to products installed on the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="AppSearch" minOccurs="0">
<xs:annotation>
<xs:documentation>Uses file signatures to search for existing versions of products.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="CCPSearch">
<xs:annotation>
<xs:documentation>Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RMCCPSearch">
<xs:annotation>
<xs:documentation>Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ValidateProductID">
<xs:annotation>
<xs:documentation>Sets the ProductID property to the full product identifier.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="CostInitialize">
<xs:annotation>
<xs:documentation>Initiates the internal installation costing process.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="FileCost">
<xs:annotation>
<xs:documentation>Initiates dynamic costing of standard installation actions.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="IsolateComponents">
<xs:annotation>
<xs:documentation>Installs a copy of a component (commonly a shared DLL) into a private location for use by a specific application (typically an .exe).</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="CostFinalize">
<xs:annotation>
<xs:documentation>Ends the internal installation costing process begun by the CostInitialize action.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="SetODBCFolders">
<xs:annotation>
<xs:documentation>Checks for existing ODBC drivers and sets the target directory for each new driver to the location of an existing driver.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="MigrateFeatureStates">
<xs:annotation>
<xs:documentation>Used for upgrading or installing over an existing application.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallValidate">
<xs:annotation>
<xs:documentation>Verifies that all costed volumes have enough space for the installation.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallInitialize">
<xs:annotation>
<xs:documentation>Marks the beginning of a sequence of actions that change the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="AllocateRegistrySpace" minOccurs="0">
<xs:annotation>
<xs:documentation>Ensures the needed amount of space exists in the registry.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ProcessComponents">
<xs:annotation>
<xs:documentation>Registers and unregisters components, their key paths, and the component clients.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="UnpublishComponents" minOccurs="0">
<xs:annotation>
<xs:documentation>Manages the unadvertisement of components listed in the PublishComponent table.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="UnpublishFeatures" minOccurs="0">
<xs:annotation>
<xs:documentation>Removes selection-state and feature-component mapping information from the registry.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="StopServices">
<xs:annotation>
<xs:documentation>Stops system services.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="DeleteServices">
<xs:annotation>
<xs:documentation>Stops a service and removes its registration from the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="UnregisterComPlus">
<xs:annotation>
<xs:documentation>Removes COM+ applications from the registry.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="SelfUnregModules" minOccurs="0">
<xs:annotation>
<xs:documentation>Unregisters all modules listed in the SelfReg table that are scheduled to be uninstalled.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="UnregisterTypeLibraries" minOccurs="0">
<xs:annotation>
<xs:documentation>Unregisters type libraries from the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RemoveODBC">
<xs:annotation>
<xs:documentation>Removes the data sources, translators, and drivers listed for removal during the installation.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="UnregisterFonts">
<xs:annotation>
<xs:documentation>Removes registration information about installed fonts from the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RemoveRegistryValues" minOccurs="0">
<xs:annotation>
<xs:documentation>Removes a registry value that has been authored into the registry table if the associated component was installed locally or as run from source, and is now set to be uninstalled.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="UnregisterClassInfo" minOccurs="0">
<xs:annotation>
<xs:documentation>Manages the removal of COM class information from the system registry.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="UnregisterExtensionInfo">
<xs:annotation>
<xs:documentation>Manages the removal of extension-related information from the system registry.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="UnregisterProgIdInfo" minOccurs="0">
<xs:annotation>
<xs:documentation>Manages the unregistration of OLE ProgId information with the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="UnregisterMIMEInfo">
<xs:annotation>
<xs:documentation>Unregisters MIME-related registry information from the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RemoveIniValues">
<xs:annotation>
<xs:documentation>Removes .ini file information specified for removal in the RemoveIniFile table if the component is set to be installed locally or run from source.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RemoveShortcuts" minOccurs="0">
<xs:annotation>
<xs:documentation>Manages the removal of an advertised shortcut whose feature is selected for uninstallation or a nonadvertised shortcut whose component is selected for uninstallation.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RemoveEnvironmentStrings">
<xs:annotation>
<xs:documentation>Modifies the values of environment variables.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RemoveDuplicateFiles">
<xs:annotation>
<xs:documentation>Deletes files installed by the DuplicateFiles action.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RemoveFiles" minOccurs="0">
<xs:annotation>
<xs:documentation>Removes files previously installed by the InstallFiles action.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RemoveFolders" minOccurs="0">
<xs:annotation>
<xs:documentation>Removes any folders linked to components set to be removed or run from source.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="CreateFolders" minOccurs="0">
<xs:annotation>
<xs:documentation>Creates empty folders for components that are set to be installed.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="MoveFiles">
<xs:annotation>
<xs:documentation>Locates existing files on the system and moves or copies those files to a new location.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallFiles" minOccurs="0">
<xs:annotation>
<xs:documentation>Copies files specified in the File table from the source directory to the destination directory.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="DuplicateFiles">
<xs:annotation>
<xs:documentation>Duplicates files installed by the InstallFiles action.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PatchFiles">
<xs:annotation>
<xs:documentation>Queries the Patch table to determine which patches are to be applied.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="BindImage" minOccurs="0">
<xs:annotation>
<xs:documentation>Binds each executable or DLL that must be bound to the DLLs imported by it.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="CreateShortcuts" minOccurs="0">
<xs:annotation>
<xs:documentation>Manages the creation of shortcuts.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RegisterClassInfo" minOccurs="0">
<xs:annotation>
<xs:documentation>Manages the registration of COM class information with the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RegisterExtensionInfo">
<xs:annotation>
<xs:documentation>Manages the registration of extension related information with the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RegisterProgIdInfo" minOccurs="0">
<xs:annotation>
<xs:documentation>Manages the registration of OLE ProgId information with the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RegisterMIMEInfo">
<xs:annotation>
<xs:documentation>Registers MIME-related registry information with the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="WriteRegistryValues" minOccurs="0">
<xs:annotation>
<xs:documentation>Sets up an application's registry information.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="WriteIniValues">
<xs:annotation>
<xs:documentation>Writes the .ini file information that the application needs written to its .ini files.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="WriteEnvironmentStrings">
<xs:annotation>
<xs:documentation>Modifies the values of environment variables.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RegisterFonts">
<xs:annotation>
<xs:documentation>Registers installed fonts with the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallODBC">
<xs:annotation>
<xs:documentation>Installs the drivers, translators, and data sources in the ODBCDriver table, ODBCTranslator table, and ODBCDataSource table.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RegisterTypeLibraries" minOccurs="0">
<xs:annotation>
<xs:documentation>Registers type libraries with the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="SelfRegModules" minOccurs="0">
<xs:annotation>
<xs:documentation>Processes all modules listed in the SelfReg table and registers all installed modules with the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RegisterComPlus">
<xs:annotation>
<xs:documentation>Registers COM+ applications.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallServices">
<xs:annotation>
<xs:documentation>Registers a service for the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="StartServices">
<xs:annotation>
<xs:documentation>Starts system services.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RegisterUser" minOccurs="0">
<xs:annotation>
<xs:documentation>Registers the user information with the installer to identify the user of a product.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RegisterProduct" minOccurs="0">
<xs:annotation>
<xs:documentation>Registers the product information with the installer.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PublishComponents" minOccurs="0">
<xs:annotation>
<xs:documentation>Manages the advertisement of the components from the PublishComponent table.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PublishFeatures" minOccurs="0">
<xs:annotation>
<xs:documentation>Writes each feature's state into the system registry.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PublishProduct" minOccurs="0">
<xs:annotation>
<xs:documentation>Manages the advertisement of the product information with the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallFinalize">
<xs:annotation>
<xs:documentation>Marks the end of a sequence of actions that change the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RemoveExistingProducts">
<xs:annotation>
<xs:documentation>Goes through the product codes listed in the ActionProperty column of the Upgrade table and removes the products in sequence.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="DisableRollback" minOccurs="0">
<xs:annotation>
<xs:documentation>Disables rollback for the remainder of the installation.</xs:documentation>
</xs:annotation>
</xs:element>
<!-- InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize -->
<xs:element ref="InstallExecute" minOccurs="0">
<xs:annotation>
<xs:documentation>Runs a script containing all operations spooled since either the start of the installation or the last InstallExecute action, or InstallExecuteAgain action.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallExecuteAgain" minOccurs="0">
<xs:annotation>
<xs:documentation>Runs a script containing all operations spooled since either the start of the installation or the last InstallExecute action, or InstallExecuteAgain action.</xs:documentation>
</xs:annotation>
</xs:element>
<!-- Windows Installer 1.5 actions -->
<xs:element ref="MsiPublishAssemblies">
<xs:annotation>
<xs:documentation>Manages the advertisement of CLR and Win32 assemblies.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="MsiUnpublishAssemblies">
<xs:annotation>
<xs:documentation>Manages the unadvertisement of CLR and Win32 assemblies that are being removed.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>

Element: InstallFiles

Description

Copies files specified in the File table from the source directory to the destination directory.

Derived By

Type ActionSequenceType

Attributes

Name  Type  Required?  Default  Description 
Sequence  integer  No    A value used to indicate the position of this action in a sequence.
Suppress  YesNoType  No    If yes, this action will not occur.

Content Model

Contains text only.

Referenced By

Remarks

The condition for this action may be specified in the element's inner text.

Definition

<xs:element name="InstallFiles" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="InstallFiles" href="http://msdn.microsoft.com/library/aa369503.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Copies files specified in the File table from the source directory to the destination directory. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>

Element: InstallFinalize

Description

Marks the end of a sequence of actions that change the system.

Derived By

Type ActionSequenceType

Attributes

Name  Type  Required?  Default  Description 
Sequence  integer  No    A value used to indicate the position of this action in a sequence.
Suppress  YesNoType  No    If yes, this action will not occur.

Content Model

Contains text only.

Referenced By

Remarks

The condition for this action may be specified in the element's inner text.

Definition

<xs:element name="InstallFinalize" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="InstallInitialize" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef action="InstallFinalize" href="http://msdn.microsoft.com/library/aa369505.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Marks the end of a sequence of actions that change the system. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>

Element: InstallInitialize

Description

Marks the beginning of a sequence of actions that change the system.

Derived By

Type ActionSequenceType

Attributes

Name  Type  Required?  Default  Description 
Sequence  integer  No    A value used to indicate the position of this action in a sequence.
Suppress  YesNoType  No    If yes, this action will not occur.

Content Model

Contains text only.

Referenced By

Remarks

The condition for this action may be specified in the element's inner text.

Definition

<xs:element name="InstallInitialize" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="InstallFinalize" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef action="InstallInitialize" href="http://msdn.microsoft.com/library/aa369535.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Marks the beginning of a sequence of actions that change the system. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>

Element: InstallODBC

Description

Installs the drivers, translators, and data sources in the ODBCDriver table, ODBCTranslator table, and ODBCDataSource table.

Derived By

Type ActionSequenceType

Attributes

Name  Type  Required?  Default  Description 
Sequence  integer  No    A value used to indicate the position of this action in a sequence.
Suppress  YesNoType  No    If yes, this action will not occur.

Content Model

Contains text only.

Referenced By

Remarks

The condition for this action may be specified in the element's inner text.

Definition

<xs:element name="InstallODBC" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="InstallODBC" href="http://msdn.microsoft.com/library/aa369538.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Installs the drivers, translators, and data sources in the ODBCDriver table, ODBCTranslator table, and ODBCDataSource table. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>

Element: InstallServices

Description

Registers a service for the system.

Derived By

Type ActionSequenceType

Attributes

Name  Type  Required?  Default  Description 
Sequence  integer  No    A value used to indicate the position of this action in a sequence.
Suppress  YesNoType  No    If yes, this action will not occur.

Content Model

Contains text only.

Referenced By

Remarks

The condition for this action may be specified in the element's inner text.

Definition

<xs:element name="InstallServices" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="InstallServices" href="http://msdn.microsoft.com/library/aa369540.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Registers a service for the system. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>

Element: InstallUISequence

Derived By

Restricting anyType

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    0..*   
AppSearch  ActionModuleSequenceType  0..1  Uses file signatures to search for existing versions of products.
CCPSearch  ActionModuleSequenceType  0..1  Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed.
CostFinalize  ActionSequenceType  1..1  Ends the internal installation costing process begun by the CostInitialize action.
CostInitialize  ActionSequenceType  1..1  Initiates the internal installation costing process.
Custom  string (extension)  0..*  Use to sequence a custom action.
ExecuteAction  ActionSequenceType  0..1  Initiates the execution sequence.
FileCost  ActionSequenceType  1..1  Initiates dynamic costing of standard installation actions.
FindRelatedProducts  ActionModuleSequenceType  0..1  Runs through each record of the Upgrade table in sequence and compares the upgrade code, product version, and language in each row to products installed on the system.
IsolateComponents  ActionSequenceType  1..1  Installs a copy of a component (commonly a shared DLL) into a private location for use by a specific application (typically an .exe).
LaunchConditions  ActionModuleSequenceType  0..1  Queries the LaunchCondition table and evaluates each conditional statement recorded there.
MigrateFeatureStates  ActionSequenceType  1..1  Used for upgrading or installing over an existing application.
ResolveSource  ActionModuleSequenceType  0..1  Determines the location of the source and sets the SourceDir property if the source has not been resolved yet.
RMCCPSearch  ActionModuleSequenceType  0..1  Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed.
ScheduleReboot  ActionModuleSequenceType  0..1  Prompts the user to restart the system at the end of installation.
Show  string (extension)  0..*   
ValidateProductID  ActionSequenceType  1..1  Sets the ProductID property to the full product identifier.

Definition

<xs:element name="InstallUISequence">
<xs:annotation>
<xs:appinfo>
<xse:msiRef table="InstallUISequence" href="http://msdn.microsoft.com/library/aa369543.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Custom" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Use to sequence a custom action.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="Show" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Displays a Dialog.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ScheduleReboot" minOccurs="0">
<xs:annotation>
<xs:documentation>Prompts the user to restart the system at the end of installation. Not fixed sequence.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="LaunchConditions" minOccurs="0">
<xs:annotation>
<xs:documentation>Queries the LaunchCondition table and evaluates each conditional statement recorded there.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="FindRelatedProducts" minOccurs="0">
<xs:annotation>
<xs:documentation>Runs through each record of the Upgrade table in sequence and compares the upgrade code, product version, and language in each row to products installed on the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="AppSearch" minOccurs="0">
<xs:annotation>
<xs:documentation>Uses file signatures to search for existing versions of products.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="CCPSearch" minOccurs="0">
<xs:annotation>
<xs:documentation>Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RMCCPSearch" minOccurs="0">
<xs:annotation>
<xs:documentation>Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ValidateProductID">
<xs:annotation>
<xs:documentation>Sets the ProductID property to the full product identifier.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="CostInitialize">
<xs:annotation>
<xs:documentation>Initiates the internal installation costing process.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="FileCost">
<xs:annotation>
<xs:documentation>Initiates dynamic costing of standard installation actions.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="IsolateComponents">
<xs:annotation>
<xs:documentation>Installs a copy of a component (commonly a shared DLL) into a private location for use by a specific application (typically an .exe).</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ResolveSource" minOccurs="0">
<xs:annotation>
<xs:documentation>Determines the location of the source and sets the SourceDir property if the source has not been resolved yet.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="CostFinalize">
<xs:annotation>
<xs:documentation>Ends the internal installation costing process begun by the CostInitialize action.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="MigrateFeatureStates">
<xs:annotation>
<xs:documentation>Used for upgrading or installing over an existing application.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ExecuteAction" minOccurs="0">
<xs:annotation>
<xs:documentation>Initiates the execution sequence.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>

Element: InstallValidate

Description

Verifies that all costed volumes have enough space for the installation.

Derived By

Type ActionSequenceType

Attributes

Name  Type  Required?  Default  Description 
Sequence  integer  No    A value used to indicate the position of this action in a sequence.
Suppress  YesNoType  No    If yes, this action will not occur.

Content Model

Contains text only.

Referenced By

Remarks

The condition for this action may be specified in the element's inner text.

Definition

<xs:element name="InstallValidate" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="InstallValidate" href="http://msdn.microsoft.com/library/aa369546.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Verifies that all costed volumes have enough space for the installation. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>

Element: Instance

Description

Defines an instance transform for your product.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    The identity of the instance transform.
ProductCode  string  Yes    The ProductCode for this instance.
ProductName  string  No    The ProductName for this instance.

Content Model

Always empty.

Referenced By

Definition

<xs:element name="Instance">
<xs:annotation>
<xs:documentation>
Defines an instance transform for your product.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>
The identity of the instance transform. This value will define the name by which the instance
should be referred to on the command line. In addition, the value of the this attribute will
determine what the value of the property specified in Property attribute on InstanceTransforms
will change to for each instance.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ProductCode" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The ProductCode for this instance.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ProductName" type="xs:string">
<xs:annotation>
<xs:documentation>The ProductName for this instance.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: InstanceTransforms

Description

Use this element to contain definitions for instance transforms.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Property  string  Yes    The Id of the Property who's value should change for each instance.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    0..*   
Instance  anyType (restriction)  1..1  Defines an instance transform for your product.

Definition

<xs:element name="InstanceTransforms">
<xs:annotation>
<xs:documentation>
Use this element to contain definitions for instance transforms.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Instance" />
</xs:choice>
<xs:attribute name="Property" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The Id of the Property who's value should change for each instance.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: Interface

Description

COM Interface registration for parent Typelib.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  Guid  Yes    GUID identifier for COM Interface.
Name  string  Yes    Name for COM Interface.
ProxyStubClassId  Guid  No    GUID CLSID for proxy stub to COM Interface.
ProxyStubClassId32  Guid  No    GUID CLSID for 32-bit proxy stub to COM Interface.
NumMethods  integer  No    Number of methods implemented on COM Interface.
Versioned  YesNoType  No    Determines whether a Typelib version entry should be created with the other COM Interface registry keys.

Content Model

Always empty.

Referenced By

Definition

<xs:element name="Interface">
<xs:annotation>
<xs:documentation>COM Interface registration for parent Typelib.</xs:documentation>
<xs:appinfo>
<xse:msiRef table="Registry" href="http://msdn.microsoft.com/library/aa371168.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="Guid" use="required">
<xs:annotation>
<xs:documentation>GUID identifier for COM Interface.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Name for COM Interface.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ProxyStubClassId" type="Guid">
<xs:annotation>
<xs:documentation>GUID CLSID for proxy stub to COM Interface.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ProxyStubClassId32" type="Guid">
<xs:annotation>
<xs:documentation>GUID CLSID for 32-bit proxy stub to COM Interface.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="NumMethods" type="xs:integer">
<xs:annotation>
<xs:documentation>Number of methods implemented on COM Interface.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Versioned" type="YesNoType">
<xs:annotation>
<xs:documentation>Determines whether a Typelib version entry should be created with the other COM Interface registry keys. Default is 'yes'.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: IsolateComponent

Description

Shared Component to be privately replicated in folder of parent Component

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Shared  string  Yes    Shared Component for this application Component.

Content Model

Always empty.

Referenced By

Definition

<xs:element name="IsolateComponent">
<xs:annotation>
<xs:documentation>
Shared Component to be privately replicated in folder of parent Component
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="IsolateComponent" href="http://msdn.microsoft.com/library/aa369730.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Shared" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Shared Component for this application Component.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: IsolateComponents

Description

Installs a copy of a component (commonly a shared DLL) into a private location for use by a specific application (typically an .exe).

Derived By

Type ActionSequenceType

Attributes

Name  Type  Required?  Default  Description 
Sequence  integer  No    A value used to indicate the position of this action in a sequence.
Suppress  YesNoType  No    If yes, this action will not occur.

Content Model

Contains text only.

Referenced By

Remarks

This isolates the application from other copies of the component that may be installed to a shared location on the computer. The action refers to each record of the IsolatedComponent table and associates the files of the component listed in the Component_Shared field with the component listed in the Component_Application field. The installer installs the files of Component_Shared into the same directory as Component_Application. The installer generates a file in this directory, zero bytes in length, having the short filename name of the key file for Component_Application (typically this is the same file name as the .exe) appended with .local. The IsolatedComponent action does not affect the installation of Component_Application. Uninstalling Component_Application also removes the Component_Shared files and the .local file from the directory. The IsolateComponents action can be used only in the InstallUISequence table and the InstallExecuteSequence table. This action must come after the CostInitialize action and before the CostFinalize action. The condition for this action may be specified in the element's inner text.

Definition

<xs:element name="IsolateComponents" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="IsolateComponent" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef action="IsolateComponents" href="http://msdn.microsoft.com/library/aa369561.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Installs a copy of a component (commonly a shared DLL) into a private location for use by a specific application (typically an .exe). This isolates the application from other copies of the component that may be installed to a shared location on the computer. The action refers to each record of the IsolatedComponent table and associates the files of the component listed in the Component_Shared field with the component listed in the Component_Application field. The installer installs the files of Component_Shared into the same directory as Component_Application. The installer generates a file in this directory, zero bytes in length, having the short filename name of the key file for Component_Application (typically this is the same file name as the .exe) appended with .local. The IsolatedComponent action does not affect the installation of Component_Application. Uninstalling Component_Application also removes the Component_Shared files and the .local file from the directory. The IsolateComponents action can be used only in the InstallUISequence table and the InstallExecuteSequence table. This action must come after the CostInitialize action and before the CostFinalize action. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>

Element: LaunchConditions

Description

Queries the LaunchCondition table and evaluates each conditional statement recorded there.

Derived By

Type ActionModuleSequenceType

Attributes

Name  Type  Required?  Default  Description 
After  string  No    The name of an action that this action should come after.
Before  string  No    The name of an action that this action should come before.
Overridable  YesNoType  No    If "yes", the sequencing of this action may be overridden by sequencing elsewhere.
Sequence  integer  No    A value used to indicate the position of this action in a sequence.
Suppress  YesNoType  No    If yes, this action will not occur.

Content Model

Contains text only.

Referenced By

Remarks

If any of these conditional statements fail, an error message is displayed to the user and the installation is terminated. The LaunchConditions action is optional. This action is normally the first in the sequence, but the AppSearch Action may be sequenced before the LaunchConditions action. If there are launch conditions that do not apply to all installation modes, the appropriate installation mode property should be used in a conditional expression in the appropriate sequence table. The condition for this action may be specified in the element's inner text.

Definition

<xs:element name="LaunchConditions" type="ActionModuleSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="Condition" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef action="LaunchConditions" href="http://msdn.microsoft.com/library/aa369751.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Queries the LaunchCondition table and evaluates each conditional statement recorded there. If any of these conditional statements fail, an error message is displayed to the user and the installation is terminated. The LaunchConditions action is optional. This action is normally the first in the sequence, but the AppSearch Action may be sequenced before the LaunchConditions action. If there are launch conditions that do not apply to all installation modes, the appropriate installation mode property should be used in a conditional expression in the appropriate sequence table. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>

Element: ListBox

Description

Set of items for a particular ListBox control tied to an install Property

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Property  string  Yes    Property tied to this group

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    1..1   
ListItem  anyType (restriction)  0..*  The value (and optional text) associated with an item in a ComboBox, ListBox, or ListView.

Referenced By

Definition

<xs:element name="ListBox">
<xs:annotation>
<xs:documentation>
Set of items for a particular ListBox control tied to an install Property
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="Control" href="http://msdn.microsoft.com/library/aa368044.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Dialog" href="http://msdn.microsoft.com/library/aa368286.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="ListView" href="http://msdn.microsoft.com/library/aa369764.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="ListItem" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>entry for ListBox table</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="Property" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Property tied to this group</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: ListItem

Description

The value (and optional text) associated with an item in a ComboBox, ListBox, or ListView.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Value  string  Yes    The value assigned to the associated ComboBox, ListBox, or ListView property if this item is selected.
Text  string  No    The localizable, visible text to be assigned to the item.
Icon  string  No    The identifier of the Binary (not Icon) element containing the icon to associate with this item.

Content Model

Always empty.

Referenced By

Definition

<xs:element name="ListItem">
<xs:annotation>
<xs:documentation>
The value (and optional text) associated with an item in a ComboBox, ListBox, or ListView.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="ComboBox" href="http://msdn.microsoft.com/library/aa367872.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="ListBox" href="http://msdn.microsoft.com/library/aa369762.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="ListView" href="http://msdn.microsoft.com/library/aa369764.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Value" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>
The value assigned to the associated ComboBox, ListBox, or ListView property if this item is selected.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Text" type="xs:string">
<xs:annotation>
<xs:documentation>
The localizable, visible text to be assigned to the item.
If not specified, this will default to the value of the Value attribute.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Icon" type="xs:string">
<xs:annotation>
<xs:documentation>
The identifier of the Binary (not Icon) element containing the icon to associate with this item.
This value is only valid when nested under a ListView element.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: ListView

Description

Set of items for a particular ListView control tied to an install Property

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Property  string  Yes    Property tied to this group

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    1..1   
ListItem  anyType (restriction)  0..*  The value (and optional text) associated with an item in a ComboBox, ListBox, or ListView.

Referenced By

Definition

<xs:element name="ListView">
<xs:annotation>
<xs:documentation>
Set of items for a particular ListView control tied to an install Property
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="ListView" href="http://msdn.microsoft.com/library/aa369764.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Control" href="http://msdn.microsoft.com/library/aa368044.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Dialog" href="http://msdn.microsoft.com/library/aa368286.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="ListItem" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>entry for ListView table</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="Property" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Property tied to this group</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: Media

Description

Media element describes a disk that makes up the source media for the installation.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  integer  Yes    Disk identifier for Media table.
Cabinet  string  No    The name of the cabinet if some or all of the files stored on the media are in a cabinet file.
CompressionLevel  NMTOKEN (restriction)  No    Indicates the compression level for the Media's cabinet.
DiskPrompt  string  No    The disk name, which is usually the visible text printed on the disk.
EmbedCab  YesNoType  No    Instructs the binder to embed the cabinet in the product if 'yes'.
Layout  string  No    This attribute specifies the root directory for the uncompressed files that are a part of this Media element.
src  string  No     
VolumeLabel  string  No    The label attributed to the volume.
Source  string  No    Optional property that identifies the source of the embedded cabinet.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    1..1   
    0..*   
DigitalSignature  anyType (restriction)  0..1  Adds a digital signature.
PatchBaseline  anyType (restriction)  0..*  Identifies a set of product versions.
SymbolPath  anyType (restriction)  1..1  A path to symbols.

Referenced By

Definition

<xs:element name="Media">
<xs:annotation>
<xs:documentation>Media element describes a disk that makes up the source media for the installation.</xs:documentation>
<xs:appinfo>
<xse:msiRef table="Media" href="http://msdn.microsoft.com/library/aa369801.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="DigitalSignature" minOccurs="0" />
<xs:element ref="PatchBaseline" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="SymbolPath" />
</xs:choice>
</xs:sequence>
<xs:attribute name="Id" type="xs:integer" use="required">
<xs:annotation>
<xs:documentation>Disk identifier for Media table. This number must be equal to or greater than 1.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Cabinet" type="xs:string">
<xs:annotation>
<xs:documentation>The name of the cabinet if some or all of the files stored on the media are in a cabinet file. If no cabinets are used, this attribute must not be set.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="CompressionLevel">
<xs:annotation>
<xs:documentation>
Indicates the compression level for the Media's cabinet. This attribute can
only be used in conjunction with the Cabinet attribute. The default is 'mszip'.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="high" />
<xs:enumeration value="low" />
<xs:enumeration value="medium" />
<xs:enumeration value="mszip" />
<xs:enumeration value="none" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="DiskPrompt" type="xs:string">
<xs:annotation>
<xs:documentation>The disk name, which is usually the visible text printed on the disk. This localizable text is used to prompt the user when this disk needs to be inserted. This value will be used in the "[1]" of the DiskPrompt Property. Using this attribute will require you to define a DiskPrompt Property.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="EmbedCab" type="YesNoType">
<xs:annotation>
<xs:documentation>Instructs the binder to embed the cabinet in the product if 'yes'. This attribute can only be specified in conjunction with the Cabinet attribute.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Layout" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute specifies the root directory for the uncompressed files that
are a part of this Media element. By default, the src will be the output
directory for the final image. The default value ensures the binder generates
an installable image. If a relative path is specified in the src attribute,
the value will be appended to the image's output directory. If an absolute
path is provided, that path will be used without modification. The latter two
options are provided to ease the layout of an image onto multiple medias (CDs/DVDs).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="src" type="xs:string">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="Layout" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="VolumeLabel" type="xs:string">
<xs:annotation>
<xs:documentation>
The label attributed to the volume. This is the volume label returned
by the GetVolumeInformation function. If the SourceDir property refers
to a removable (floppy or CD-ROM) volume, then this volume label is
used to verify that the proper disk is in the drive before attempting
to install files. The entry in this column must match the volume label
of the physical media.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Source" type="xs:string">
<xs:annotation>
<xs:documentation>
Optional property that identifies the source of the embedded cabinet.
If a cabinet is specified for a patch, this property should be defined
and unique to each patch so that the embedded cabinet containing patched
and new files can be located in the patch package. If the cabinet is not
embedded - this is not typical - the cabinet can be found in the directory
referenced in this column. If empty, the external cabinet must be located
in the SourceDir directory.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: Merge

Description

Merge directive to bring in a merge module that will be redirected to the parent directory.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    The unique identifier for the Merge element in the source code.
DiskId  string  No    The value of this attribute should correspond to the Id attribute of a Media element authored elsewhere.
FileCompression  YesNoType  No    Specifies if the files in the merge module should be compressed.
Language  LocalizableInteger  Yes    Specifies the decimal LCID or localization token for the language to merge the Module in as.
SourceFile  string  No    Path to the source location of the merge module.
src  string  No     

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    0..*   
ConfigurationData  anyType (restriction)  1..1  Data to use as input to a configurable merge module.

Referenced By

Definition

<xs:element name="Merge">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="MergeRef" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:howtoRef href="install_vcredist.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Install the Visual C++ Redistributable with your installer</xse:howtoRef>
</xs:appinfo>
<xs:documentation>Merge directive to bring in a merge module that will be redirected to the parent directory.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="ConfigurationData">
<xs:annotation>
<xs:documentation>Data to use as input to a configurable merge module.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The unique identifier for the Merge element in the source code. Referenced by the MergeRef/@Id.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DiskId" type="xs:string">
<xs:annotation>
<xs:documentation>The value of this attribute should correspond to the Id attribute of a
Media element authored elsewhere. By creating this connection between the Merge Module and Media
element, you set the packaging options to the values specified in the Media
element (values such as compression level, cab embedding, etc...).</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="FileCompression" type="YesNoType">
<xs:annotation>
<xs:documentation>Specifies if the files in the merge module should be compressed.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Language" type="LocalizableInteger" use="required">
<xs:annotation>
<xs:documentation>Specifies the decimal LCID or localization token for the language to merge the Module in as.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SourceFile" type="xs:string">
<xs:annotation>
<xs:documentation>Path to the source location of the merge module.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="src" type="xs:string">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="SourceFile" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: MergeRef

Description

Merge reference to connect a Merge Module to parent Feature

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    The unique identifier for the Merge element to be referenced.
Primary  YesNoType  No    Specifies whether the feature containing this MergeRef is the primary feature for advertising the merge module's components.

Content Model

Always empty.

Referenced By

Definition

<xs:element name="MergeRef">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="Merge" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:howtoRef href="install_vcredist.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Install the Visual C++ Redistributable with your installer</xse:howtoRef>
</xs:appinfo>
<xs:documentation>Merge reference to connect a Merge Module to parent Feature</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The unique identifier for the Merge element to be referenced.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Primary" type="YesNoType">
<xs:annotation>
<xs:documentation>Specifies whether the feature containing this MergeRef is the primary feature for advertising the merge module's components.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>

Element: MigrateFeatureStates

Description

Used for upgrading or installing over an existing application.

Derived By

Type ActionSequenceType

Attributes

Name  Type  Required?  Default  Description 
Sequence  integer  No    A value used to indicate the position of this action in a sequence.
Suppress  YesNoType  No    If yes, this action will not occur.

Content Model

Contains text only.

Referenced By

Remarks

Reads feature states from existing application and sets these feature states for the pending installation. The condition for this action may be specified in the element's inner text.

Definition

<xs:element name="MigrateFeatureStates" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="MigrateFeatureStates" href="http://msdn.microsoft.com/library/aa370034.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Used for upgrading or installing over an existing application. Reads feature states from existing application and sets these feature states for the pending installation. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>

Element: MIME

Description

MIME content-type for an Extension

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Advertise  YesNoType  No    Whether this MIME is to be advertised.
ContentType  string  Yes    This is the identifier for the MIME content.
Class  Guid  No    Class ID for the COM server that is to be associated with the MIME content.
Default  YesNoType  No    If 'yes', become the content type for the parent Extension.

Content Model

Always empty.

Referenced By

Definition

<xs:element name="MIME">
<xs:annotation>
<xs:documentation>
MIME content-type for an Extension
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="MIME" href="http://msdn.microsoft.com/library/aa370035.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Advertise" type="YesNoType">
<xs:annotation>
<xs:documentation>Whether this MIME is to be advertised. The default is to match whatever the parent extension element uses. If the parent element is not advertised, then this element cannot be advertised either.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ContentType" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>This is the identifier for the MIME content. It is commonly written in the form of type/format.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Class" type="Guid">
<xs:annotation>
<xs:documentation>Class ID for the COM server that is to be associated with the MIME content.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Default" type="YesNoType">
<xs:annotation>
<xs:documentation>If 'yes', become the content type for the parent Extension. The default value is 'no'.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: Module

Description

The Module element is analogous to the main function in a C program.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    The name of the merge module (not the file name).
Codepage  string  No    The code page integer value or web name for the resulting MSM.
Guid  Guid  No    This attribute is deprecated. Use the Package/@Id instead.
Language  LocalizableInteger  Yes    The decimal language ID (LCID) of the merge module.
Version  string  Yes    The major and minor versions of the merge module.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    1..1   
Package  anyType (restriction)  1..1  Properties about the package to be placed in the Summary Information Stream.
    0..*   
any    1..1  Allow any element from the ##other namespace.
AppId  anyType (restriction)  1..1  Application ID containing DCOM information for the associated application GUID.

Binary  anyType (restriction)  1..1  Binary data used for CustomAction elements and UI controls.
Component  anyType (restriction)  1..1  Component for parent Directory
ComponentGroupRef  anyType (restriction)  1..1  Create a reference to a ComponentGroup in another Fragment.
ComponentRef  anyType (restriction)  1..1  Create a reference to a Feature element in another Fragment.
Configuration  anyType (restriction)  1..1  Defines the configurable attributes of merge module.
CustomAction  string (extension)  1..1  Specifies a custom action to be added to the MSI CustomAction table.
CustomActionRef  anyType (restriction)  1..1  This will cause the entire contents of the Fragment containing the referenced CustomAction to be included in the installer database.
CustomTable  anyType (restriction)  1..1  Defines a custom table for use from a custom action.
Dependency  anyType (restriction)  1..1  Declares a dependency on another merge module.
Directory  anyType (restriction)  1..1  Directory layout for the product.
DirectoryRef  anyType (restriction)  1..1  Create a reference to a Directory element in another Fragment.
EmbeddedChainer  string (extension)  1..1   
EmbeddedChainerRef  anyType (restriction)  1..1  Reference to an EmbeddedChainer element.
EnsureTable  anyType (restriction)  1..1  Use this element to ensure that a table appears in the installer database, even if its empty.
Exclusion  anyType (restriction)  1..1  Declares a merge module with which this merge module is incompatible.
Icon  anyType (restriction)  1..1  Icon used for Shortcut, ProgId, or Class elements (but not UI controls)
IgnoreModularization  anyType (restriction)  1..1  This element has been deprecated.
IgnoreTable  anyType (restriction)  1..1  Specifies a table from the merge module that is not merged into an .msi file.

Property  anyType (restriction)  1..1  Property value for a Product or Module.
PropertyRef  anyType (restriction)  1..1  Reference to a Property value.
    1..1   
InstallExecuteSequence  anyType (restriction)  0..1   
InstallUISequence  anyType (restriction)  0..1   
AdminExecuteSequence  anyType (restriction)  0..1   
AdminUISequence  anyType (restriction)  0..1   
AdvertiseExecuteSequence  anyType (restriction)  0..1   
SetDirectory  string (extension)  1..1  Sets a Directory to a particular value.
SetProperty  string (extension)  1..1  Sets a Property to a particular value.
SFPCatalog  anyType (restriction)  1..1  Adds a system file protection update catalog file
Substitution  anyType (restriction)  1..1  Specifies the configurable fields of a module database and provides a template for the configuration of each field.
UI  anyType (restriction)  1..1  Enclosing element to compartmentalize UI specifications.
UIRef  anyType (restriction)  1..1  Reference to a UI element. This will force the entire referenced Fragment's contents to be included in the installer database.
WixVariable  anyType (restriction)  1..1  This element exposes advanced WiX functionality.

Remarks

When linking, only one Module section can be given to the linker to produce a successful result. Using this element creates an msm file.

Definition

<xs:element name="Module">
<xs:annotation>
<xs:documentation>
The Module element is analogous to the main function in a C program. When linking, only
one Module section can be given to the linker to produce a successful result. Using this
element creates an msm file.
</xs:documentation>
<xs:appinfo>
<xse:remarks xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">
<html:p xmlns:html="http://www.w3.org/1999/xhtml">You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See <a href="/html/codepage.htm" xmlns="http://schemas.microsoft.com/wix/2006/wi">Code Pages</a> for more information.</html:p>
</xse:remarks>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="Package" />
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="AppId" />
<xs:element ref="Binary" />
<xs:element ref="Component" />
<xs:element ref="ComponentGroupRef" />
<xs:element ref="ComponentRef" />
<xs:element ref="Configuration" />
<xs:element ref="CustomAction" />
<xs:element ref="CustomActionRef" />
<xs:element ref="CustomTable" />
<xs:element ref="Dependency" />
<xs:element ref="Directory" />
<xs:element ref="DirectoryRef" />
<xs:element ref="EmbeddedChainer" />
<xs:element ref="EmbeddedChainerRef" />
<xs:element ref="EnsureTable" />
<xs:element ref="Exclusion" />
<xs:element ref="Icon" />
<xs:element ref="IgnoreModularization" />
<xs:element ref="IgnoreTable" />
<xs:element ref="Property" />
<xs:element ref="PropertyRef" />
<xs:element ref="SetDirectory" />
<xs:element ref="SetProperty" />
<xs:element ref="SFPCatalog" />
<xs:element ref="Substitution" />
<xs:element ref="UI" />
<xs:element ref="UIRef" />
<xs:element ref="WixVariable" />
<xs:sequence>
<xs:element ref="InstallExecuteSequence" minOccurs="0" />
<xs:element ref="InstallUISequence" minOccurs="0" />
<xs:element ref="AdminExecuteSequence" minOccurs="0" />
<xs:element ref="AdminUISequence" minOccurs="0" />
<xs:element ref="AdvertiseExecuteSequence" minOccurs="0" />
</xs:sequence>
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
</xs:sequence>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The name of the merge module (not the file name).</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Codepage" type="xs:string">
<xs:annotation>
<xs:documentation>The code page integer value or web name for the resulting MSM. See remarks for more information.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Guid" type="Guid">
<xs:annotation>
<xs:documentation>This attribute is deprecated. Use the Package/@Id instead.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Language" type="LocalizableInteger" use="required">
<xs:annotation>
<xs:documentation>The decimal language ID (LCID) of the merge module.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Version" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The major and minor versions of the merge module.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: MoveFiles

Description

Locates existing files on the system and moves or copies those files to a new location.

Derived By

Type ActionSequenceType

Attributes

Name  Type  Required?  Default  Description 
Sequence  integer  No    A value used to indicate the position of this action in a sequence.
Suppress  YesNoType  No    If yes, this action will not occur.

Content Model

Contains text only.

Referenced By

Remarks

The condition for this action may be specified in the element's inner text.

Definition

<xs:element name="MoveFiles" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef table="MoveFile" href="http://msdn.microsoft.com/library/aa370055.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef action="MoveFiles" href="http://msdn.microsoft.com/library/aa370054.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Locates existing files on the system and moves or copies those files to a new location. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>

Element: MsiPublishAssemblies

Description

Manages the advertisement of CLR and Win32 assemblies.

Derived By

Type ActionSequenceType

Attributes

Name  Type  Required?  Default  Description 
Sequence  integer  No    A value used to indicate the position of this action in a sequence.
Suppress  YesNoType  No    If yes, this action will not occur.

Content Model

Contains text only.

Referenced By

Remarks

The condition for this action may be specified in the element's inner text.

Definition

<xs:element name="MsiPublishAssemblies" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="MsiPublishAssemblies" href="http://msdn.microsoft.com/library/aa370359.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Manages the advertisement of CLR and Win32 assemblies. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>

Element: MsiUnpublishAssemblies

Description

Manages the unadvertisement of CLR and Win32 assemblies that are being removed.

Derived By

Type ActionSequenceType

Attributes

Name  Type  Required?  Default  Description 
Sequence  integer  No    A value used to indicate the position of this action in a sequence.
Suppress  YesNoType  No    If yes, this action will not occur.

Content Model

Contains text only.

Referenced By

Remarks

The condition for this action may be specified in the element's inner text.

Definition

<xs:element name="MsiUnpublishAssemblies" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="MsiUnpublishAssemblies" href="http://msdn.microsoft.com/library/aa370500.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Manages the unadvertisement of CLR and Win32 assemblies that are being removed. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>

Element: MultiStringValue

Description

Use several of these elements to specify each registry value in a multiString registry value.

Derived By

Type anyType

Content Model

Always empty.

Referenced By

Remarks

This element cannot be used if the Value attribute is specified unless the Type attribute is set to 'multiString'. The values should go in the text area of the MultiStringValue element.

Definition

<xs:element name="MultiStringValue">
<xs:annotation>
<xs:documentation>
Use several of these elements to specify each registry value in a multiString registry value. This element
cannot be used if the Value attribute is specified unless the Type attribute is set to 'multiString'. The
values should go in the text area of the MultiStringValue element.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="Registry" href="http://msdn.microsoft.com/library/aa371168.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:element>

Element: ODBCDataSource

Description

ODBCDataSource for a Component

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    Identifier of the data source.
Name  string  Yes    Name for the data source.
DriverName  string  No    Required if not found as child of ODBCDriver element
Registration  NMTOKEN (restriction)  Yes    Scope for which the data source should be registered.
KeyPath  YesNoType  No    Set 'yes' to force this file to be key path for parent Component

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    1..1   
Property  anyType (restriction)  0..*  Property value for a Product or Module.

Referenced By

Definition

<xs:element name="ODBCDataSource">
<xs:annotation>
<xs:documentation>
ODBCDataSource for a Component
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="ODBCDataSource" href="http://msdn.microsoft.com/library/aa370546.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="Property" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Translates into ODBCSourceAttributes</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Identifier of the data source.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Name for the data source.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DriverName" type="xs:string">
<xs:annotation>
<xs:documentation>Required if not found as child of ODBCDriver element</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Registration" use="required">
<xs:annotation>
<xs:documentation>Scope for which the data source should be registered.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="machine">
<xs:annotation>
<xs:documentation>
Data source is registered per machine.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="user">
<xs:annotation>
<xs:documentation>
Data source is registered per user.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="KeyPath" type="YesNoType">
<xs:annotation>
<xs:documentation>Set 'yes' to force this file to be key path for parent Component</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: ODBCDriver

Description

ODBCDriver for a Component

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    Identifier for the driver.
Name  string  Yes    Name for the driver.
File  string  No    Required if not found as child of File element
SetupFile  string  No    Required if not found as child of File element or different from File attribute above

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    1..1   
Property  anyType (restriction)  0..*  Property value for a Product or Module.
ODBCDataSource  anyType (restriction)  0..*  ODBCDataSource for a Component

Referenced By

Definition

<xs:element name="ODBCDriver">
<xs:annotation>
<xs:documentation>
ODBCDriver for a Component
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="ODBCDriver" href="http://msdn.microsoft.com/library/aa370547.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="Property" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Translates into ODBCSourceAttributes</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ODBCDataSource" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Identifier for the driver.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Name for the driver.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="File" type="xs:string">
<xs:annotation>
<xs:documentation>Required if not found as child of File element</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SetupFile" type="xs:string">
<xs:annotation>
<xs:documentation>Required if not found as child of File element or different from File attribute above</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: ODBCTranslator

Description

ODBCTranslator for a Component

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    Identifier for the translator.
Name  string  Yes    Name for the translator.
File  string  No    Required if not found as child of File element
SetupFile  string  No    Required if not found as child of File element or different from File attribute above

Content Model

Always empty.

Referenced By

Definition

<xs:element name="ODBCTranslator">
<xs:annotation>
<xs:documentation>
ODBCTranslator for a Component
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="ODBCTranslator" href="http://msdn.microsoft.com/library/aa370549.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Identifier for the translator.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Name for the translator.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="File" type="xs:string">
<xs:annotation>
<xs:documentation>Required if not found as child of File element</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SetupFile" type="xs:string">
<xs:annotation>
<xs:documentation>Required if not found as child of File element or different from File attribute above</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: OptimizeCustomActions

Description

Indicates whether custom actions can be skipped when applying the patch.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
SkipAssignment  YesNoType  No    Skip property (type 51) and directory (type 35) assignment custom actions.
SkipImmediate  YesNoType  No    Skip immediate custom actions that are not property or directory assignment custom actions.
SkipDeferred  YesNoType  No    Skip custom actions that run within the script.

Content Model

Always empty.

Definition

<xs:element name="OptimizeCustomActions">
<xs:annotation>
<xs:documentation>Indicates whether custom actions can be skipped when applying the patch.</xs:documentation>
<xs:appinfo>
<xse:msiRef table="MsiPatchMetadata" href="http://msdn.microsoft.com/library/aa370344.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="SkipAssignment" type="YesNoType">
<xs:annotation>
<xs:documentation>Skip property (type 51) and directory (type 35) assignment custom actions.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SkipImmediate" type="YesNoType">
<xs:annotation>
<xs:documentation>Skip immediate custom actions that are not property or directory assignment custom actions.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SkipDeferred" type="YesNoType">
<xs:annotation>
<xs:documentation>Skip custom actions that run within the script.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: Package

Description

Properties about the package to be placed in the Summary Information Stream.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  AutogenGuid  No    The package code GUID for a product or merge module.

AdminImage  YesNoType  No    Set to 'yes' if the source is an admin image.
Comments  string  No    Optional comments for browsing.
Compressed  YesNoType  No    Set to 'yes' to have compressed files in the source.
Description  string  No    The product full name or description.
InstallPrivileges  NMTOKEN (restriction)  No    Use this attribute to specify the priviliges required to install the package on Windows Vista and above.
InstallScope  NMTOKEN (restriction)  No    Use this attribute to specify the installation scope of this package: per-machine or per-user.
InstallerVersion  integer  No    The minimum version of the Windows Installer required to install this package.
Keywords  string  No    Optional keywords for browsing.
Languages  string  No    The list of language IDs (LCIDs) supported in the package.
Manufacturer  string  No    The vendor releasing the package.
Platforms  string  No     
Platform  NMTOKEN (restriction)  No    The platform supported by the package.
ReadOnly  YesNoDefaultType  No    The value of this attribute conveys whether the package should be opened as read-only.
ShortNames  YesNoType  No    Set to 'yes' to have short filenames in the source.
SummaryCodepage  string  No    The code page integer value or web name for summary info strings only.

Content Model

Always empty.

Referenced By

Remarks

These are visible from COM through the IStream interface, and these properties can be seen on the package in Explorer.

Definition

<xs:element name="Package">
<xs:annotation>
<xs:documentation>
Properties about the package to be placed in the Summary Information Stream. These are
visible from COM through the IStream interface, and these properties can be seen on the package in Explorer.
</xs:documentation>
<xs:appinfo>
<xse:remarks xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">
<html:p xmlns:html="http://www.w3.org/1999/xhtml">You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See <a href="/html/codepage.htm" xmlns="http://schemas.microsoft.com/wix/2006/wi">Code Pages</a> for more information.</html:p>
</xse:remarks>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="AutogenGuid">
<xs:annotation>
<xs:documentation>
The package code GUID for a product or merge module.
When compiling a product, this attribute should not be set in order to allow the package
code to be generated for each build.
When compiling a merge module, this attribute must be set to the modularization guid.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AdminImage" type="YesNoType">
<xs:annotation>
<xs:documentation>Set to 'yes' if the source is an admin image.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Comments" type="xs:string">
<xs:annotation>
<xs:documentation>Optional comments for browsing.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Compressed" type="YesNoType">
<xs:annotation>
<xs:documentation>
Set to 'yes' to have compressed files in the source.
This attribute cannot be set for merge modules.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Description" type="xs:string">
<xs:annotation>
<xs:documentation>The product full name or description.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="InstallPrivileges">
<xs:annotation>
<xs:documentation>Use this attribute to specify the priviliges required to install the package on Windows Vista and above.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="limited">
<xs:annotation>
<xs:documentation>
Set this value to declare that the package does not require elevated privileges to install.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="elevated">
<xs:annotation>
<xs:documentation>
Set this value to declare that the package requires elevated privileges to install.
This is the default value.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="InstallScope">
<xs:annotation>
<xs:documentation>Use this attribute to specify the installation scope of this package: per-machine or per-user.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="perMachine">
<xs:annotation>
<xs:documentation>
Set this value to declare that the package is a per-machine installation and requires elevated privileges to install.
Sets the ALLUSERS property to 1.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="perUser">
<xs:annotation>
<xs:documentation>
Set this value to declare that the package is a per-user installation and does not require elevated privileges to install.
Sets the package's InstallPrivileges attribute to "limited."
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="InstallerVersion" type="xs:integer">
<xs:annotation>
<xs:documentation>
The minimum version of the Windows Installer required to install this package. Take the major version of the required Windows Installer
and multiply by a 100 then add the minor version of the Windows Installer. For example, "200" would represent Windows Installer 2.0 and
"405" would represent Windows Installer 4.5.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Keywords" type="xs:string">
<xs:annotation>
<xs:documentation>Optional keywords for browsing.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Languages" type="xs:string">
<xs:annotation>
<xs:documentation>The list of language IDs (LCIDs) supported in the package.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Manufacturer" type="xs:string">
<xs:annotation>
<xs:documentation>The vendor releasing the package.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Platforms" type="xs:string">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="Platform" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Platform">
<xs:annotation>
<xs:documentation>The platform supported by the package.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="x86">
<xs:annotation>
<xs:documentation>
Set this value to declare that the package is an x86 package.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ia64">
<xs:annotation>
<xs:documentation>
Set this value to declare that the package is an ia64 package.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="x64">
<xs:annotation>
<xs:documentation>
Set this value to declare that the package is an x64 package.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="intel">
<xs:annotation>
<xs:documentation>
Deprecated. Use "x86" instead.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="intel64">
<xs:annotation>
<xs:documentation>
Deprecated. Use "ia64" instead.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ReadOnly" type="YesNoDefaultType">
<xs:annotation>
<xs:documentation>
The value of this attribute conveys whether the package should be opened as read-only.
A database editing tool should not modify a read-only enforced database and should
issue a warning at attempts to modify a read-only recommended database.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ShortNames" type="YesNoType">
<xs:annotation>
<xs:documentation>Set to 'yes' to have short filenames in the source.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SummaryCodepage" type="xs:string">
<xs:annotation>
<xs:documentation>The code page integer value or web name for summary info strings only. See remarks for more information.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: Patch

Description

The Patch element is analogous to the main function in a C program.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  AutogenGuid  No    Patch code for this patch.
Codepage  string  No    The code page integer value or web name for the resulting MSP.
AllowRemoval  YesNoType  No    Whether this is an uninstallable patch.
Classification  PatchClassificationType  Yes    Category of updates.
ClientPatchId  string  No    An easily referenced identity unique to a patch that can be used in product authoring.
ApiPatchingSymbolNoImagehlpFlag  YesNoType  No    Flag used when creating a binary file patch.
ApiPatchingSymbolNoFailuresFlag  YesNoType  No    Flag used when creating a binary file patch.
ApiPatchingSymbolUndecoratedTooFlag  YesNoType  No    Flag used when creating a binary file patch.
Description  string  Yes    Description of the patch.
DisplayName  string  Yes    A title for the patch that is suitable for public display.
Manufacturer  string  No    Vendor releasing the package
MinorUpdateTargetRTM  YesNoType  No    Indicates that the patch targets the RTM version of the product or the most recent major upgrade patch.
MoreInfoURL  string  No    A URL that provides information specific to this patch.
OptimizedInstallMode  YesNoType  No    If this attribute is set to 'yes' in all the patches to be applied in a transaction, the application of the patch is optimized if possible.
TargetProductName  string  No    Name of the application or target product suite.
OptimizePatchSizeForLargeFiles  YesNoType  No    When this attribute is set, patches for files greater than approximately 4 MB in size may be made smaller.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    1..1   
    0..*   
any    1..1  Allow any element from the ##other namespace.
Media  anyType (restriction)  1..*  Media element describes a disk that makes up the source media for the installation.
OptimizeCustomActions  anyType (restriction)  0..1  Indicates whether custom actions can be skipped when applying the patch.
PatchFamily  anyType (restriction)  1..*  Collection of items that should be kept from the differences between two products.
PatchFamilyRef  anyType (restriction)  0..*  This will cause the entire contents of the Fragment containing the referenced PatchFamily to be used in the process of creating a patch.
PatchProperty  anyType (restriction)  1..1  A property for this patch database.

Remarks

When linking, only one Patch section can be given to the linker to produce a successful result. Using this element creates an MSP file.

Definition

<xs:element name="Patch">
<xs:annotation>
<xs:documentation>
The Patch element is analogous to the main function in a C program. When linking, only one Patch section
can be given to the linker to produce a successful result. Using this element creates an MSP file.
</xs:documentation>
<xs:appinfo>
<xse:remarks xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">
<html:p xmlns:html="http://www.w3.org/1999/xhtml">You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See <a href="/html/codepage.htm" xmlns="http://schemas.microsoft.com/wix/2006/wi">Code Pages</a> for more information.</html:p>
<html:p xmlns:html="http://www.w3.org/1999/xhtml">The ClientPatchId attribute allows you to specify an easily referenced identity that you can use in product authoring. This identity prefixes properties added by WiX to a patch transform, such as <html:i>ClientPatchId</html:i>.PatchCode and <html:i>ClientPatchId</html:i>.AllowRemoval. If the patch code GUID is auto-generated you could not reference any properties using this auto-generated prefix.</html:p>
<html:p xmlns:html="http://www.w3.org/1999/xhtml">For example, if you were planning to ship a patch referred to as "QFE1" and needed to write your own registry values for Add/Remove Programs in product authoring such as the UninstallString for this patch, you could author a RegistryValue with the name UninstallString and the value <html:code><html:nobr>[SystemFolder]msiexec.exe</html:nobr> /package [ProductCode] /uninstall [QFE1.PatchCode]</html:code>. In your patch authoring you would then set ClientPatchId to "QFE1" and WiX will add the QFE1.PatchCode property to the patch transform when the patch is created. If the Id attribute specified the patch code to be generated automatically, you could not reference the <html:i>prefix</html:i>.PatchCode property as shown above.</html:p>
</xse:remarks>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Media" minOccurs="1" maxOccurs="unbounded" />
<xs:element ref="OptimizeCustomActions" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>Indicates whether custom actions can be skipped when applying the patch.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PatchFamily" minOccurs="1" maxOccurs="unbounded" />
<xs:element ref="PatchFamilyRef" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="PatchProperty" />
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
</xs:sequence>
<xs:attribute name="Id" type="AutogenGuid">
<xs:annotation>
<xs:documentation>Patch code for this patch.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Codepage" type="xs:string">
<xs:annotation>
<xs:documentation>The code page integer value or web name for the resulting MSP. See remarks for more information.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AllowRemoval" type="YesNoType">
<xs:annotation>
<xs:documentation>Whether this is an uninstallable patch.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Classification" type="PatchClassificationType" use="required">
<xs:annotation>
<xs:documentation>Category of updates.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ClientPatchId" type="xs:string">
<xs:annotation>
<xs:documentation>An easily referenced identity unique to a patch that can be used in product authoring. See remarks for more information.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ApiPatchingSymbolNoImagehlpFlag" type="YesNoType">
<xs:annotation>
<xs:documentation>Flag used when creating a binary file patch. Default is "no". Don't use imagehlp.dll.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ApiPatchingSymbolNoFailuresFlag" type="YesNoType">
<xs:annotation>
<xs:documentation>Flag used when creating a binary file patch. Default is "no". Don't fail patch due to imagehlp failures.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ApiPatchingSymbolUndecoratedTooFlag" type="YesNoType">
<xs:annotation>
<xs:documentation>Flag used when creating a binary file patch. Default is "no". After matching decorated symbols, try to match remaining by undecorated names.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Description" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Description of the patch.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DisplayName" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>A title for the patch that is suitable for public display. In Add/Remove Programs from XP SP2 on.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Manufacturer" type="xs:string">
<xs:annotation>
<xs:documentation>Vendor releasing the package</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MinorUpdateTargetRTM" type="YesNoType">
<xs:annotation>
<xs:documentation>
Indicates that the patch targets the RTM version of the product or the most recent major
upgrade patch. Author this optional property in minor update patches that contain sequencing
information to indicate that the patch removes all patches up to the RTM version of the
product, or up to the most recent major upgrade patch. This property is available beginning
with Windows Installer 3.1.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MoreInfoURL" type="xs:string">
<xs:annotation>
<xs:documentation>A URL that provides information specific to this patch. In Add/Remove Programs from XP SP2 on.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="OptimizedInstallMode" type="YesNoType">
<xs:annotation>
<xs:documentation>
If this attribute is set to 'yes' in all the patches to be applied in a transaction, the
application of the patch is optimized if possible. Available beginning with Windows Installer 3.1.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="TargetProductName" type="xs:string">
<xs:annotation>
<xs:documentation>Name of the application or target product suite.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="OptimizePatchSizeForLargeFiles" type="YesNoType">
<xs:annotation>
<xs:documentation>When this attribute is set, patches for files greater than approximately 4 MB in size may be made smaller.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: PatchBaseline

Description

Identifies a set of product versions.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    Identifier for a set of product versions.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    0..1   
Validate  anyType (restriction)  0..1  Sets information on the patch transform that determines to which product the transform applies and what errors should be ignored when applying the patch transform.

Definition

<xs:element name="PatchBaseline">
<xs:annotation>
<xs:documentation>Identifies a set of product versions.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0">
<xs:element ref="Validate" minOccurs="0" />
</xs:choice>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Identifier for a set of product versions.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: PatchCertificates

Description

Identifies the possible signer certificates used to digitally sign patches.

Derived By

Restricting anyType

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    1..*   
DigitalCertificate  anyType (restriction)  1..1  Adds a digital certificate.

Referenced By

Definition

<xs:element name="PatchCertificates">
<xs:annotation>
<xs:documentation>
Identifies the possible signer certificates used to digitally sign patches.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="MsiPatchCertificate" href="http://msdn.microsoft.com/library/aa370342.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element ref="DigitalCertificate" />
</xs:choice>
</xs:complexType>
</xs:element>

Element: PatchCreation

Description

The PatchCreation element is analogous to the main function in a C program.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  Guid  Yes    PatchCreation identifier; this is the primary key for identifying patches.
AllowMajorVersionMismatches  YesNoType  No    Use this to set whether the major versions between the upgrade and target images match.
AllowProductCodeMismatches  YesNoType  No    Use this to set whether the product code between the upgrade and target images match.
CleanWorkingFolder  YesNoType  No    Use this to set whether Patchwiz should clean the temp folder when finished.
Codepage  string  No    The code page integer value or web name for the resulting PCP.
OutputPath  string  No    The full path, including file name, of the patch package file that is to be generated.
SourceList  string  No    Used to locate the .msp file for the patch if the cached copy is unavailable.
SymbolFlags  int  No    An 8-digit hex integer representing the combination of patch symbol usage flags to use when creating a binary file patch.
WholeFilesOnly  YesNoType  No    Use this to set whether changing files should be included in their entirety.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    1..1   
PatchInformation  anyType (restriction)  1..1  Properties about the patch to be placed in the Summary Information Stream.
PatchMetadata  anyType (restriction)  0..1  Properties about the patch to be placed in the PatchMetadata table.
Family  anyType (restriction)  1..*  Group of one or more upgraded images of a product.
    0..*   
PatchProperty  anyType (restriction)  1..1  A property for this patch database.
PatchSequence  anyType (restriction)  1..1  Sequence information for this patch database.
ReplacePatch  anyType (restriction)  1..1  A patch that is deprecated by this patch.
TargetProductCode  anyType (restriction)  1..1  A product code for a product that may receive this patch (or '*' for all products).

Referenced By

Remarks

When linking, only one PatchCreation section can be given to the linker to produce a successful result. Using this element creates a pcp file.

Definition

<xs:element name="PatchCreation">
<xs:annotation>
<xs:documentation>
The PatchCreation element is analogous to the main function in a C program. When linking, only one PatchCreation section
can be given to the linker to produce a successful result. Using this element creates a pcp file.
</xs:documentation>
<xs:appinfo>
<xse:remarks xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">
<html:p xmlns:html="http://www.w3.org/1999/xhtml">You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See <a href="/html/codepage.htm" xmlns="http://schemas.microsoft.com/wix/2006/wi">Code Pages</a> for more information.</html:p>
</xse:remarks>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="PatchInformation" />
<xs:element ref="PatchMetadata" minOccurs="0" />
<xs:element ref="Family" maxOccurs="unbounded" />
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="PatchProperty" />
<xs:element ref="PatchSequence" />
<xs:element ref="ReplacePatch" />
<xs:element ref="TargetProductCode" />
</xs:choice>
</xs:sequence>
<xs:attribute name="Id" type="Guid" use="required">
<xs:annotation>
<xs:documentation>PatchCreation identifier; this is the primary key for identifying patches.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AllowMajorVersionMismatches" type="YesNoType">
<xs:annotation>
<xs:documentation>Use this to set whether the major versions between the upgrade and target images match. See <a href="http://msdn2.microsoft.com/library/aa370890.aspx" target="_blank" xmlns="http://schemas.microsoft.com/wix/2006/wi">AllowProductVersionMajorMismatches</a> for more information.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AllowProductCodeMismatches" type="YesNoType">
<xs:annotation>
<xs:documentation>Use this to set whether the product code between the upgrade and target images match. See <a href="http://msdn2.microsoft.com/library/aa370890.aspx" target="_blank" xmlns="http://schemas.microsoft.com/wix/2006/wi">AllowProductCodeMismatches</a> for more information.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="CleanWorkingFolder" type="YesNoType">
<xs:annotation>
<xs:documentation>Use this to set whether Patchwiz should clean the temp folder when finished. See <a href="http://msdn2.microsoft.com/library/aa370890.aspx" target="_blank" xmlns="http://schemas.microsoft.com/wix/2006/wi">DontRemoveTempFolderWhenFinished</a> for more information. </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Codepage" type="xs:string">
<xs:annotation>
<xs:documentation>The code page integer value or web name for the resulting PCP. See remarks for more information.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="OutputPath" type="xs:string">
<xs:annotation>
<xs:documentation>The full path, including file name, of the patch package file that is to be generated. See <a href="http://msdn2.microsoft.com/library/aa370890.aspx" target="_blank" xmlns="http://schemas.microsoft.com/wix/2006/wi">PatchOutputPath</a> for more information.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SourceList" type="xs:string">
<xs:annotation>
<xs:documentation>Used to locate the .msp file for the patch if the cached copy is unavailable. See <a href="http://msdn2.microsoft.com/library/aa370890.aspx" target="_blank" xmlns="http://schemas.microsoft.com/wix/2006/wi">PatchSourceList</a> for more information.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SymbolFlags" type="xs:int">
<xs:annotation>
<xs:documentation>An 8-digit hex integer representing the combination of patch symbol usage flags to use when creating a binary file patch. See <a href="http://msdn2.microsoft.com/library/aa370890.aspx" target="_blank" xmlns="http://schemas.microsoft.com/wix/2006/wi">ApiPatchingSymbolFlags</a> for more information.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="WholeFilesOnly" type="YesNoType">
<xs:annotation>
<xs:documentation>Use this to set whether changing files should be included in their entirety. See <a href="http://msdn2.microsoft.com/library/aa370890.aspx" target="_blank" xmlns="http://schemas.microsoft.com/wix/2006/wi">IncludeWholeFilesOnly</a> for more information.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: PatchFamily

Description

Collection of items that should be kept from the differences between two products.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    Identifier which indicates a sequence family to which this patch belongs.
ProductCode  Guid  No    Specifies the ProductCode of the product that this family applies to.
Version  string  Yes    Used to populate the sequence column of the MsiPatchSequence table in the final MSP file.
Supersede  YesNoType  No    Set this value to 'yes' to indicate that this patch will supersede all previous patches in this patch family.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    1..1   
    0..*   
any    1..1  Allow any element from the ##other namespace.
BinaryRef  anyType (restriction)  0..*  Used only for PatchFamilies to include only a binary table entry in a patch.
ComponentRef  anyType (restriction)  0..*  Create a reference to a Feature element in another Fragment.
CustomActionRef  anyType (restriction)  0..*  This will cause the entire contents of the Fragment containing the referenced CustomAction to be included in the installer database.
DirectoryRef  anyType (restriction)  0..*  Create a reference to a Directory element in another Fragment.
FeatureRef  anyType (restriction)  0..*  Create a reference to a Feature element in another Fragment.
IconRef  anyType (restriction)  0..*  Used only for PatchFamilies to include only a icon table entry in a patch.
PropertyRef  anyType (restriction)  0..*  Reference to a Property value.
UIRef  anyType (restriction)  0..*  Reference to a UI element. This will force the entire referenced Fragment's contents to be included in the installer database.

Referenced By

Definition

<xs:element name="PatchFamily">
<xs:annotation>
<xs:documentation>Collection of items that should be kept from the differences between two products.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="BinaryRef" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="ComponentRef" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="CustomActionRef" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="FeatureRef" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="IconRef" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="PropertyRef" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="DirectoryRef" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="UIRef" minOccurs="0" maxOccurs="unbounded" />
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
</xs:sequence>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Identifier which indicates a sequence family to which this patch belongs.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ProductCode" type="Guid">
<xs:annotation>
<xs:documentation>
Specifies the ProductCode of the product that this family applies to.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Version" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Used to populate the sequence column of the MsiPatchSequence table in the final MSP file. Specified in x.x.x.x format. See documentation for Sequence column of MsiPatchSequence table in MSI SDK.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Supersede" type="YesNoType">
<xs:annotation>
<xs:documentation>
Set this value to 'yes' to indicate that this patch will supersede all previous patches in this patch family.
The default value is 'no'.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: PatchFamilyRef

Description

This will cause the entire contents of the Fragment containing the referenced PatchFamily to be used in the process of creating a patch.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    The identifier of the CustomAction to reference.

Content Model

Always empty.

Definition

<xs:element name="PatchFamilyRef">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="PatchFamily" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>
This will cause the entire contents of the Fragment containing the referenced PatchFamily to be
used in the process of creating a patch.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The identifier of the CustomAction to reference.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>

Element: PatchFiles

Description

Queries the Patch table to determine which patches are to be applied.

Derived By

Type ActionSequenceType

Attributes

Name  Type  Required?  Default  Description 
Sequence  integer  No    A value used to indicate the position of this action in a sequence.
Suppress  YesNoType  No    If yes, this action will not occur.

Content Model

Contains text only.

Referenced By

Remarks

The condition for this action may be specified in the element's inner text.

Definition

<xs:element name="PatchFiles" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="PatchFiles" href="http://msdn.microsoft.com/library/aa370577.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Queries the Patch table to determine which patches are to be applied. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>

Element: PatchInformation

Description

Properties about the patch to be placed in the Summary Information Stream.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Description  string  No    Product full name or description
Platforms  string  No    List of platforms supported in package
Languages  string  No    List of language IDs supported in package
Manufacturer  string  No    Vendor releasing the package
Keywords  string  No    Optional keywords for browsing
Comments  string  No    Optional comments for browsing
ReadOnly  YesNoDefaultType  No    The value of this attribute conveys whether the package should be opened as read-only.
SummaryCodepage  string  No    The code page integer value or web name for summary info strings only.
ShortNames  YesNoType  No    Short filenames on source
Compressed  YesNoType  No    Compressed files on source
AdminImage  YesNoType  No    Source is an admin image

Content Model

Always empty.

Referenced By

Remarks

These are visible from COM through the IStream interface, and these properties can be seen on the package in Explorer.

Definition

<xs:element name="PatchInformation">
<xs:annotation>
<xs:documentation>Properties about the patch to be placed in the Summary Information Stream. These are visible from COM through the IStream interface, and these properties can be seen on the package in Explorer.</xs:documentation>
<xs:appinfo>
<xse:remarks xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">
<html:p xmlns:html="http://www.w3.org/1999/xhtml">You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See <a href="/html/codepage.htm" xmlns="http://schemas.microsoft.com/wix/2006/wi">Code Pages</a> for more information.</html:p>
</xse:remarks>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Description" type="xs:string">
<xs:annotation>
<xs:documentation>Product full name or description</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Platforms" type="xs:string">
<xs:annotation>
<xs:documentation>List of platforms supported in package</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Languages" type="xs:string">
<xs:annotation>
<xs:documentation>List of language IDs supported in package</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Manufacturer" type="xs:string">
<xs:annotation>
<xs:documentation>Vendor releasing the package</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Keywords" type="xs:string">
<xs:annotation>
<xs:documentation>Optional keywords for browsing</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Comments" type="xs:string">
<xs:annotation>
<xs:documentation>Optional comments for browsing</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ReadOnly" type="YesNoDefaultType">
<xs:annotation>
<xs:documentation>
The value of this attribute conveys whether the package should be opened as read-only.
A database editing tool should not modify a read-only enforced database and should
issue a warning at attempts to modify a read-only recommended database.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SummaryCodepage" type="xs:string">
<xs:annotation>
<xs:documentation>The code page integer value or web name for summary info strings only. See remarks for more information.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ShortNames" type="YesNoType">
<xs:annotation>
<xs:documentation>Short filenames on source</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Compressed" type="YesNoType">
<xs:annotation>
<xs:documentation>Compressed files on source</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AdminImage" type="YesNoType">
<xs:annotation>
<xs:documentation>Source is an admin image</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: PatchMetadata

Description

Properties about the patch to be placed in the PatchMetadata table.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
AllowRemoval  YesNoType  Yes    Whether this is an uninstallable patch.
Classification  PatchClassificationType  Yes    Category of update.
CreationTimeUTC  string  No    Creation time of the .msp file in the form mm-dd-yy HH:MM (month-day-year hour:minute).
Description  string  Yes    Description of the patch.
DisplayName  string  Yes    A title for the patch that is suitable for public display.
ManufacturerName  string  Yes    Name of the manufacturer.
MinorUpdateTargetRTM  string  No    Indicates that the patch targets the RTM version of the product or the most recent major upgrade patch.
MoreInfoURL  string  No    A URL that provides information specific to this patch.
OptimizedInstallMode  YesNoType  No    If this attribute is set to 'yes' in all the patches to be applied in a transaction, the application of the patch is optimized if possible.
TargetProductName  string  Yes    Name of the application or target product suite.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    1..1   
    0..*   
CustomProperty  anyType (restriction)  0..1  A custom property for the PatchMetadata table.
OptimizeCustomActions  anyType (restriction)  0..1  Indicates whether custom actions can be skipped when applying the patch.

Referenced By

Definition

<xs:element name="PatchMetadata">
<xs:annotation>
<xs:documentation>Properties about the patch to be placed in the PatchMetadata table.</xs:documentation>
<xs:appinfo>
<xse:msiRef table="MsiPatchMetadata" href="http://msdn.microsoft.com/library/aa370344.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="CustomProperty" minOccurs="0">
<xs:annotation>
<xs:documentation>A custom property that extends the standard set.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="OptimizeCustomActions" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>Indicates whether custom actions can be skipped when applying the patch.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:sequence>
<xs:attribute name="AllowRemoval" type="YesNoType" use="required">
<xs:annotation>
<xs:documentation>Whether this is an uninstallable patch.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Classification" type="PatchClassificationType" use="required">
<xs:annotation>
<xs:documentation>Category of update.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="CreationTimeUTC" type="xs:string">
<xs:annotation>
<xs:documentation>Creation time of the .msp file in the form mm-dd-yy HH:MM (month-day-year hour:minute).</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Description" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Description of the patch.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DisplayName" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>A title for the patch that is suitable for public display. In Add/Remove Programs from XP SP2 on.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ManufacturerName" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Name of the manufacturer.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MinorUpdateTargetRTM" type="xs:string">
<xs:annotation>
<xs:documentation>
Indicates that the patch targets the RTM version of the product or the most recent major
upgrade patch. Author this optional property in minor update patches that contain sequencing
information to indicate that the patch removes all patches up to the RTM version of the
product, or up to the most recent major upgrade patch. This property is available beginning
with Windows Installer 3.1.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MoreInfoURL" type="xs:string">
<xs:annotation>
<xs:documentation>A URL that provides information specific to this patch. In Add/Remove Programs from XP SP2 on.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="OptimizedInstallMode" type="YesNoType">
<xs:annotation>
<xs:documentation>
If this attribute is set to 'yes' in all the patches to be applied in a transaction, the
application of the patch is optimized if possible. Available beginning with Windows Installer 3.1.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="TargetProductName" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Name of the application or target product suite.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: PatchProperty

Description

A property for this patch database.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Company  string  No    Name of the company for a custom metadata property.
Name  string  Yes    Name of the patch property.
Value  string  Yes    Value of the patch property.

Content Model

Always empty.

Definition

<xs:element name="PatchProperty">
<xs:annotation>
<xs:documentation>A property for this patch database.</xs:documentation>
<xs:appinfo>
<xse:msiRef table="MsiPatchMetadata" href="http://msdn.microsoft.com/library/aa370344.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:remarks xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">
<html:p xmlns:html="http://www.w3.org/1999/xhtml">When authored under the Patch element, the PatchProperty defines entries in the MsiPatchMetadata table.</html:p>
</xse:remarks>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Company" type="xs:string">
<xs:annotation>
<xs:documentation>Name of the company for a custom metadata property.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Name of the patch property.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Value" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Value of the patch property.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: PatchSequence

Description

Sequence information for this patch database.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
PatchFamily  string  Yes    Identifier which indicates a sequence family to which this patch belongs.
ProductCode  Guid  No    Specifies the ProductCode of the product that this family applies to.
Sequence  string  No    Used to populate the sequence column of the MsiPatchSequence table in the final MSP file.
Supersede  YesNoType  No    Set this value to 'yes' to indicate that this patch will supersede all previous patches in this patch family.
Target  string  No     
TargetImage  string  No    Specifies the TargetImage that this family applies to.

Content Model

Always empty.

Remarks

Sequence information is generated automatically in most cases, and rarely needs to be set explicitly.

Definition

<xs:element name="PatchSequence">
<xs:annotation>
<xs:documentation>Sequence information for this patch database. Sequence information is generated automatically in most cases, and rarely needs to be set explicitly.</xs:documentation>
<xs:appinfo>
<xse:msiRef table="MsiPatchSequence" href="http://msdn.microsoft.com/library/aa370350.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="PatchFamily" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Identifier which indicates a sequence family to which this patch belongs.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ProductCode" type="Guid">
<xs:annotation>
<xs:documentation>
Specifies the ProductCode of the product that this family applies to.
This attribute cannot the specified if the TargetImage attribute is specified.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Sequence" type="xs:string">
<xs:annotation>
<xs:documentation>Used to populate the sequence column of the MsiPatchSequence table in the final MSP file. Specified in x.x.x.x format. See documentation for Sequence column of MsiPatchSequence table in MSI SDK.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Supersede" type="YesNoType">
<xs:annotation>
<xs:documentation>
Set this value to 'yes' to indicate that this patch will supersede all previous patches in this patch family.
The default value is 'no'.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Target" type="xs:string">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="TargetImage" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="TargetImage" type="xs:string">
<xs:annotation>
<xs:documentation>
Specifies the TargetImage that this family applies to.
This attribute cannot the specified if the ProductCode attribute is specified.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: Permission

Description

Sets ACLs on File, Registry, or CreateFolder.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Domain  string  No     
User  string  Yes     
Read  YesNoType  No     
Delete  YesNoType  No     
ReadPermission  YesNoType  No     
ChangePermission  YesNoType  No     
TakeOwnership  YesNoType  No     
ReadAttributes  YesNoType  No     
WriteAttributes  YesNoType  No     
ReadExtendedAttributes  YesNoType  No     
WriteExtendedAttributes  YesNoType  No     
Synchronize  YesNoType  No     
CreateFile  YesNoType  No    For a directory, the right to create a file in the directory.
CreateChild  YesNoType  No    For a directory, the right to create a subdirectory.
DeleteChild  YesNoType  No    For a directory, the right to delete a directory and all the files it contains, including read-only files.
Traverse  YesNoType  No    For a directory, the right to traverse the directory.
Append  YesNoType  No     
Execute  YesNoType  No     
Write  YesNoType  No     
CreateSubkeys  YesNoType  No     
EnumerateSubkeys  YesNoType  No     
Notify  YesNoType  No     
CreateLink  YesNoType  No     
GenericAll  YesNoType  No     
GenericExecute  YesNoType  No     
GenericWrite  YesNoType  No     
GenericRead  YesNoType  No    specifying this will fail to grant read access

Content Model

Always empty.

Referenced By

Remarks

When under a Registry element, this cannot be used if the Action attribute's value is remove or removeKeyOnInstall. This element has no Id attribute. The table and key are taken from the parent element.

Definition

<xs:element name="Permission">
<xs:annotation>
<xs:documentation>
Sets ACLs on File, Registry, or CreateFolder. When under a Registry element, this cannot be used
if the Action attribute's value is remove or removeKeyOnInstall. This element has no Id attribute.
The table and key are taken from the parent element.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="LockPermissions" href="http://msdn.microsoft.com/library/aa369774.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Domain" type="xs:string">
</xs:attribute>
<xs:attribute name="User" use="required" type="xs:string">
</xs:attribute>
<!-- Common ACLs -->
<xs:attribute name="Read" type="YesNoType">
</xs:attribute>
<xs:attribute name="Delete" type="YesNoType">
</xs:attribute>
<xs:attribute name="ReadPermission" type="YesNoType">
</xs:attribute>
<xs:attribute name="ChangePermission" type="YesNoType">
</xs:attribute>
<xs:attribute name="TakeOwnership" type="YesNoType">
</xs:attribute>
<!-- Folder and File ACLs -->
<xs:attribute name="ReadAttributes" type="YesNoType">
</xs:attribute>
<xs:attribute name="WriteAttributes" type="YesNoType">
</xs:attribute>
<xs:attribute name="ReadExtendedAttributes" type="YesNoType">
</xs:attribute>
<xs:attribute name="WriteExtendedAttributes" type="YesNoType">
</xs:attribute>
<xs:attribute name="Synchronize" type="YesNoType">
</xs:attribute>
<!-- Folder only ACLs -->
<xs:attribute name="CreateFile" type="YesNoType">
<xs:annotation>
<xs:documentation>For a directory, the right to create a file in the directory. Only valid under a 'CreateFolder' parent.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="CreateChild" type="YesNoType">
<xs:annotation>
<xs:documentation>For a directory, the right to create a subdirectory. Only valid under a 'CreateFolder' parent.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DeleteChild" type="YesNoType">
<xs:annotation>
<xs:documentation>For a directory, the right to delete a directory and all the files it contains, including read-only files. Only valid under a 'CreateFolder' parent.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Traverse" type="YesNoType">
<xs:annotation>
<xs:documentation>For a directory, the right to traverse the directory. By default, users are assigned the BYPASS_TRAVERSE_CHECKING privilege, which ignores the FILE_TRAVERSE access right. Only valid under a 'CreateFolder' parent.</xs:documentation>
</xs:annotation>
</xs:attribute>
<!-- File only ACLs -->
<xs:attribute name="Append" type="YesNoType">
</xs:attribute>
<xs:attribute name="Execute" type="YesNoType">
</xs:attribute>
<!-- File and Registry ACLs -->
<xs:attribute name="Write" type="YesNoType">
</xs:attribute>
<!-- Registry only ACLs -->
<xs:attribute name="CreateSubkeys" type="YesNoType">
</xs:attribute>
<xs:attribute name="EnumerateSubkeys" type="YesNoType">
</xs:attribute>
<xs:attribute name="Notify" type="YesNoType">
</xs:attribute>
<xs:attribute name="CreateLink" type="YesNoType">
</xs:attribute>
<!-- Generic ACLs, mapped by system to appropriate permissions -->
<xs:attribute name="GenericAll" type="YesNoType">
</xs:attribute>
<xs:attribute name="GenericExecute" type="YesNoType">
</xs:attribute>
<xs:attribute name="GenericWrite" type="YesNoType">
</xs:attribute>
<xs:attribute name="GenericRead" type="YesNoType">
<xs:annotation>
<xs:documentation>specifying this will fail to grant read access</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: ProcessComponents

Description

Registers and unregisters components, their key paths, and the component clients.

Derived By

Type ActionSequenceType

Attributes

Name  Type  Required?  Default  Description 
Sequence  integer  No    A value used to indicate the position of this action in a sequence.
Suppress  YesNoType  No    If yes, this action will not occur.

Content Model

Contains text only.

Referenced By

Remarks

The condition for this action may be specified in the element's inner text.

Definition

<xs:element name="ProcessComponents" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="ProcessComponents" href="http://msdn.microsoft.com/library/aa370853.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Registers and unregisters components, their key paths, and the component clients. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>

Element: Product

Description

The Product element is analogous to the main function in a C program.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  AutogenGuid  Yes    The product code GUID for the product.
Codepage  string  No    The code page integer value or web name for the resulting MSI. See remarks for more information.
Language  LocalizableInteger  Yes    The decimal language ID (LCID) for the product.
Manufacturer  string  Yes    The manufacturer of the product.
Name  string  Yes    The descriptive name of the product.
UpgradeCode  Guid  No    The upgrade code GUID for the product.
Version  string  Yes    The product's version string.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    1..1   
Package  anyType (restriction)  1..1  Properties about the package to be placed in the Summary Information Stream.
    0..*   
any    1..1  Allow any element from the ##other namespace.
AppId  anyType (restriction)  1..1  Application ID containing DCOM information for the associated application GUID.

Binary  anyType (restriction)  1..1  Binary data used for CustomAction elements and UI controls.
ComplianceCheck  anyType (restriction)  1..1  Adds a row to the CCPSearch table.
Component  anyType (restriction)  1..1  Component for parent Directory
ComponentGroup  anyType (restriction)  1..1  Groups together multiple components to be used in other locations.
Condition  string (extension)  1..1  Conditions for components, controls, features, and products.
CustomAction  string (extension)  1..1  Specifies a custom action to be added to the MSI CustomAction table.
CustomActionRef  anyType (restriction)  1..1  This will cause the entire contents of the Fragment containing the referenced CustomAction to be included in the installer database.
CustomTable  anyType (restriction)  1..1  Defines a custom table for use from a custom action.
Directory  anyType (restriction)  1..1  Directory layout for the product.
DirectoryRef  anyType (restriction)  1..1  Create a reference to a Directory element in another Fragment.
EmbeddedChainer  string (extension)  1..1   
EmbeddedChainerRef  anyType (restriction)  1..1  Reference to an EmbeddedChainer element.
EnsureTable  anyType (restriction)  1..1  Use this element to ensure that a table appears in the installer database, even if its empty.
Feature  anyType (restriction)  1..1  A feature for the Feature table.
FeatureGroupRef  anyType (restriction)  1..1  Create a reference to a FeatureGroup in another Fragment.
FeatureRef  anyType (restriction)  1..1  Create a reference to a Feature element in another Fragment.
Icon  anyType (restriction)  1..1  Icon used for Shortcut, ProgId, or Class elements (but not UI controls)
InstanceTransforms  anyType (restriction)  1..1  Use this element to contain definitions for instance transforms.
Media  anyType (restriction)  1..1  Media element describes a disk that makes up the source media for the installation.
PatchCertificates  anyType (restriction)  1..1  Identifies the possible signer certificates used to digitally sign patches.
Property  anyType (restriction)  1..1  Property value for a Product or Module.
PropertyRef  anyType (restriction)  1..1  Reference to a Property value.
    1..1   
InstallExecuteSequence  anyType (restriction)  0..1   
InstallUISequence  anyType (restriction)  0..1   
AdminExecuteSequence  anyType (restriction)  0..1   
AdminUISequence  anyType (restriction)  0..1   
AdvertiseExecuteSequence  anyType (restriction)  0..1   
SetDirectory  string (extension)  1..1  Sets a Directory to a particular value.
SetProperty  string (extension)  1..1  Sets a Property to a particular value.
SFPCatalog  anyType (restriction)  1..1  Adds a system file protection update catalog file
SymbolPath  anyType (restriction)  1..1  A path to symbols.
UI  anyType (restriction)  1..1  Enclosing element to compartmentalize UI specifications.
UIRef  anyType (restriction)  1..1  Reference to a UI element. This will force the entire referenced Fragment's contents to be included in the installer database.
Upgrade  anyType (restriction)  1..1  Upgrade info for a particular UpgradeCode
WixVariable  anyType (restriction)  1..1  This element exposes advanced WiX functionality.

Remarks

When linking, only one Product section can be given to the linker to produce a successful result. Using this element creates an msi file.

Definition

<xs:element name="Product">
<xs:annotation>
<xs:documentation>
The Product element is analogous to the main function in a C program. When linking, only one Product section
can be given to the linker to produce a successful result. Using this element creates an msi file.
</xs:documentation>
<xs:appinfo>
<xse:remarks xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">
<html:p xmlns:html="http://www.w3.org/1999/xhtml">You can specify any valid Windows code by integer like 1252, or by web name like Windows-1252. See <a href="/html/codepage.htm" xmlns="http://schemas.microsoft.com/wix/2006/wi">Code Pages</a> for more information.</html:p>
</xse:remarks>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="Package" />
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="AppId" />
<xs:element ref="Binary" />
<xs:element ref="ComplianceCheck" />
<xs:element ref="Component" />
<xs:element ref="ComponentGroup" />
<xs:element ref="Condition" />
<xs:element ref="CustomAction" />
<xs:element ref="CustomActionRef" />
<xs:element ref="CustomTable" />
<xs:element ref="Directory" />
<xs:element ref="DirectoryRef" />
<xs:element ref="EmbeddedChainer" />
<xs:element ref="EmbeddedChainerRef" />
<xs:element ref="EnsureTable" />
<xs:element ref="Feature" />
<xs:element ref="FeatureRef" />
<xs:element ref="FeatureGroupRef" />
<xs:element ref="Icon" />
<xs:element ref="InstanceTransforms" />
<xs:element ref="Media" />
<xs:element ref="PatchCertificates" />
<xs:element ref="Property" />
<xs:element ref="PropertyRef" />
<xs:element ref="SetDirectory" />
<xs:element ref="SetProperty" />
<xs:element ref="SFPCatalog" />
<xs:element ref="SymbolPath" />
<xs:element ref="UI" />
<xs:element ref="UIRef" />
<xs:element ref="Upgrade" />
<xs:element ref="WixVariable" />
<xs:sequence>
<xs:element ref="InstallExecuteSequence" minOccurs="0" />
<xs:element ref="InstallUISequence" minOccurs="0" />
<xs:element ref="AdminExecuteSequence" minOccurs="0" />
<xs:element ref="AdminUISequence" minOccurs="0" />
<xs:element ref="AdvertiseExecuteSequence" minOccurs="0" />
</xs:sequence>
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
</xs:sequence>
<xs:attribute name="Id" type="AutogenGuid" use="required">
<xs:annotation>
<xs:documentation>The product code GUID for the product.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Codepage" type="xs:string">
<xs:annotation>
<xs:documentation>The code page integer value or web name for the resulting MSI. See remarks for more information.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Language" type="LocalizableInteger" use="required">
<xs:annotation>
<xs:documentation>The decimal language ID (LCID) for the product.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Manufacturer" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The manufacturer of the product.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The descriptive name of the product.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="UpgradeCode" type="Guid">
<xs:annotation>
<xs:documentation>The upgrade code GUID for the product.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Version" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The product's version string.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>

Element: ProgId

Description

ProgId registration for parent Component.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes     
Description  string  No     
Icon  string  No    For an advertised ProgId, the Id of an Icon element.
IconIndex  integer  No     
Advertise  YesNoType  No     
NoOpen  string  No    Specifies that the associated ProgId should not be opened by users.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    1..1   
ProgId  anyType (restriction)  0..1  ProgId registration for parent Component.
Extension  anyType (restriction)  0..*  Extension for a Component

Referenced By

Remarks

If ProgId has an associated Class, it must be a child of that element.

Definition

<xs:element name="ProgId">
<xs:annotation>
<xs:documentation>
ProgId registration for parent Component. If ProgId has an associated Class, it must be a child of that element.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="ProgId" href="http://msdn.microsoft.com/library/aa370879.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Class" href="http://msdn.microsoft.com/library/aa367861.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Registry" href="http://msdn.microsoft.com/library/aa371168.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Icon" href="http://msdn.microsoft.com/library/aa369210.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="ProgId" minOccurs="0">
<xs:annotation>
<xs:documentation>Version-independent ProgId must be child element of actual ProgId. Nesting further ProgId elements within the Version-independent ProgId is disallowed.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Extensions that refer to this ProgId</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="xs:string" use="required" />
<xs:attribute name="Description" type="xs:string" />
<xs:attribute name="Icon" type="xs:string">
<xs:annotation>
<xs:documentation>For an advertised ProgId, the Id of an Icon element. For a non-advertised ProgId, this is the Id of a file containing an icon resource.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IconIndex" type="xs:integer" />
<xs:attribute name="Advertise" type="YesNoType" />
<xs:attribute name="NoOpen" type="xs:string">
<xs:annotation>
<xs:documentation>Specifies that the associated ProgId should not be opened by users. The value is presented as a warning to users. An empty string is also valid for this attribute.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: ProgressText

Derived By

Extending string

Attributes

Name  Type  Required?  Default  Description 
Action  string  Yes     
Template  string  No    used to format ActionData messages from action processing

Content Model

Contains text only.

Referenced By

Definition

<xs:element name="ProgressText">
<xs:annotation>
<xs:appinfo>
<xse:msiRef table="ActionText" href="http://msdn.microsoft.com/library/aa367516.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:annotation>
<xs:documentation>Element value is progress message text for action</xs:documentation>
</xs:annotation>
<xs:attribute name="Action" type="xs:string" use="required" />
<xs:attribute name="Template" type="xs:string">
<xs:annotation>
<xs:documentation>used to format ActionData messages from action processing</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>

Element: Property

Description

Property value for a Product or Module.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    Unique identifier for Property.
Value  string  No    Sets a default value for the property. The value will be overwritten if the Property is used for a search.
ComplianceCheck  YesNoType  No    Adds a row to the CCPSearch table. This attribute is only valid when this Property contains a search element.
Admin  YesNoType  No    Denotes that the Property is saved during
Secure  YesNoType  No    Denotes that the Property can be passed to the server side when doing a managed installation with elevated privileges.
Hidden  YesNoType  No    Denotes that the Property is not logged during installation.
SuppressModularization  YesNoType  No    Use to suppress modularization of this property identifier in merge modules.

Content Model

Can contain a mix of text and the elements defined in the following table.

Component  Type  Occurs  Description 
    0..*   
any    1..1  Allow any element from the ##other namespace.
    1..1   
ComplianceDrive  anyType (restriction)  0..1  Sets the parent of a nested DirectorySearch element to CCP_DRIVE.
ComponentSearch  anyType (restriction)  0..*  Searches for file or directory and assigns to value of parent Property.
RegistrySearch  anyType (restriction)  0..*  Searches for file, directory or registry key and assigns to value of parent Property
RegistrySearchRef  anyType (restriction)  0..*  References an existing RegistrySearch element.
IniFileSearch  anyType (restriction)  0..*  Searches for file, directory or registry key and assigns to value of parent Property
DirectorySearch  anyType (restriction)  0..*  Searches for directory and assigns to value of parent Property.
DirectorySearchRef  anyType (restriction)  0..*  References an existing DirectorySearch element.

Referenced By

Definition

<xs:element name="Property">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="PropertyRef" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Property" href="http://msdn.microsoft.com/library/aa370908.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:howtoRef href="check_the_version_number.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Check the version number of a file during installation</xse:howtoRef>
</xs:appinfo>
<xs:documentation>Property value for a Product or Module.</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:sequence>
<xs:element ref="ComplianceDrive" minOccurs="0">
<xs:annotation>
<xs:documentation>Starts searches from the CCP_DRIVE.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ComponentSearch" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="RegistrySearch" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="RegistrySearchRef" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="IniFileSearch" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="DirectorySearch" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="DirectorySearchRef" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Unique identifier for Property.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Value" type="xs:string">
<xs:annotation>
<xs:documentation>Sets a default value for the property. The value will be overwritten if the Property is used for a search.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ComplianceCheck" type="YesNoType">
<xs:annotation>
<xs:documentation>Adds a row to the CCPSearch table. This attribute is only valid when this Property contains a search element.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Admin" type="YesNoType">
<xs:annotation>
<xs:documentation>Denotes that the Property is saved during <html:a href="http://msdn.microsoft.com/library/aa367541.aspx" target="_blank" xmlns:html="http://www.w3.org/1999/xhtml">admininistrative installation</html:a>. See the <html:a href="http://msdn.microsoft.com/library/aa367542.aspx" target="_blank" xmlns:html="http://www.w3.org/1999/xhtml">AdminProperties Property</html:a> for more information.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Secure" type="YesNoType">
<xs:annotation>
<xs:documentation>Denotes that the Property can be passed to the server side when doing a managed installation with elevated privileges. See the <html:a href="http://msdn.microsoft.com/library/aa371571.aspx" target="_blank" xmlns:html="http://www.w3.org/1999/xhtml">SecureCustomProperties Property</html:a> for more information.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Hidden" type="YesNoType">
<xs:annotation>
<xs:documentation>Denotes that the Property is not logged during installation. See the <html:a href="http://msdn.microsoft.com/library/aa370308.aspx" target="_blank" xmlns:html="http://www.w3.org/1999/xhtml">MsiHiddenProperties Property</html:a> for more information.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SuppressModularization" type="YesNoType">
<xs:annotation>
<xs:documentation>
Use to suppress modularization of this property identifier in merge modules.
Using this functionality is strongly discouraged; it should only be
necessary as a workaround of last resort in rare scenarios.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>

Element: PropertyRef

Description

Reference to a Property value.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    Identifier of Property to reference.

Content Model

Always empty.

Referenced By

Definition

<xs:element name="PropertyRef">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="Property" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:howtoRef href="check_for_dotnet.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Check for .NET Framework versions</xse:howtoRef>
</xs:appinfo>
<xs:documentation>Reference to a Property value.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Identifier of Property to reference.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>

Element: ProtectFile

Description

Specifies a file to be protected.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
File  string  Yes    Foreign key into the File table.

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Description 
    1..*   
ProtectRange  anyType (restriction)  1..1  Specifies part of a file that cannot be overwritten during patching.

Definition

<xs:element name="ProtectFile">
<xs:annotation>
<xs:documentation>Specifies a file to be protected.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element ref="ProtectRange" />
</xs:choice>
<xs:attribute name="File" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Foreign key into the File table.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: ProtectRange

Description

Specifies part of a file that cannot be overwritten during patching.

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Offset  int  Yes    Offset of the start of the range.
Length  int  Yes    Length of the range.

Content Model

Always empty.

Referenced By

Definition

<xs:element name="ProtectRange">
<xs:annotation>
<xs:documentation>Specifies part of a file that cannot be overwritten during patching.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Offset" type="xs:int" use="required">
<xs:annotation>
<xs:documentation>Offset of the start of the range.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Length" type="xs:int" use="required">
<xs:annotation>
<xs:documentation>Length of the range.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

Element: Publish

Derived By

Extending string

Attributes

Name  Type  Required?  Default  Description 
Control  string  No    The parent Control for this Publish element, should only be specified when this element is a child of the UI element.
Dialog  string  No    The parent Dialog for this Publish element, should only be specified when this element is a child of the UI element.
Event  string  No    Set this attribute's value to one of the standard control events to trigger that event.
Order  string  No    This attribute should only need to be set if this element is nested under a UI element in order to control the order in which this publish event will be started.

Property  string  No    Set this attribute's value to a property name to set that property.
Value  string  No    If the Property attribute is specified, set the value of this attribute to the new value for the property.

Content Model

Contains text only.

Referenced By

Definition

<xs:element name="Publish">
<xs:annotation>
<xs:appinfo>
<xse:msiRef table="ControlEvent" href="http://msdn.microsoft.com/library/aa368037.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:annotation>
<xs:documentation>The element value is the optional Condition expression.</xs:documentation>
</xs:annotation>
<xs:attribute name="Control" type="xs:string">
<xs:annotation>
<xs:documentation>
The parent Control for this Publish element, should only be specified when this element is a child of the UI element.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Dialog" type="xs:string">
<xs:annotation>
<xs:documentation>
The parent Dialog for this Publish element, should only be specified when this element is a child of the UI element.
This attribute will create a reference to the specified Dialog, so an additional DialogRef is not necessary.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Event" type="xs:string">
<xs:annotation>
<xs:documentation>
Set this attribute's value to one of the standard control events to trigger that event.
Either this attribute or the Property attribute must be set, but not both at the same time.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Order" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute should only need to be set if this element is nested under a UI element in order to
control the order in which this publish event will be started.
If this element is nested under a Control element, the default value will be one greater than any
previous Publish element's order (the first element's default value is 1).
If this element is nested under a UI element, the default value is always 1 (it does not get a
default value based on any previous Publish elements).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Property" type="xs:string">
<xs:annotation>
<xs:documentation>
Set this attribute's value to a property name to set that property.
Either this attribute or the Event attribute must be set, but not both at the same time.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Value" type="xs:string">
<xs:annotation>
<xs:documentation>
If the Property attribute is specified, set the value of this attribute to the new value for the property.
To set a property to null, do not set this attribute (the ControlEvent Argument column will be set to '{}').
Otherwise, this attribute's value should be the argument for the event specified in the Event attribute.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>

Element: PublishComponents

Description

Manages the advertisement of the components from the PublishComponent table.

Derived By

Type ActionSequenceType

Attributes

Name  Type  Required?  Default  Description 
Sequence  integer  No    A value used to indicate the position of this action in a sequence.
Suppress  YesNoType  No    If yes, this action will not occur.

Content Model

Contains text only.

Referenced By

Remarks

The condition for this action may be specified in the element's inner text.

Definition

<xs:element name="PublishComponents" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="PublishComponents" href="http://msdn.microsoft.com/library/aa370918.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Manages the advertisement of the components from the PublishComponent table. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>

Element: PublishFeatures

Description

Writes each feature's state into the system registry.

Derived By

Type ActionSequenceType

Attributes

Name  Type  Required?  Default  Description 
Sequence  integer  No    A value used to indicate the position of this action in a sequence.
Suppress  YesNoType  No    If yes, this action will not occur.

Content Model

Contains text only.

Referenced By

Remarks

The condition for this action may be specified in the element's inner text.

Definition

<xs:element name="PublishFeatures" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="PublishFeatures" href="http://msdn.microsoft.com/library/aa370923.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Writes each feature's state into the system registry. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>

Element: PublishProduct

Description

Manages the advertisement of the product information with the system.

Derived By

Type ActionSequenceType

Attributes

Name  Type  Required?  Def