Schema for describing Windows Installer database files (.msi/.msm/.pcp).
Copyright (c) Microsoft Corporation. All rights reserved.
The use and distribution terms for this software are covered by the Common Public License 1.0 (http://opensource.org/licenses/cpl.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.
| 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. |
Restricting anyType
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| CostFinalize | ActionSequenceType | Ends the internal installation costing process begun by the CostInitialize action. |
| CostInitialize | ActionSequenceType | Initiates the internal installation costing process. |
| Custom | string (extension) | Use to sequence a custom action. |
| FileCost | ActionSequenceType | Initiates dynamic costing of standard installation actions. |
| InstallAdminPackage | ActionSequenceType | 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 | Copies files specified in the File table from the source directory to the destination directory. |
| InstallFinalize | ActionSequenceType | Marks the end of a sequence of actions that change the system. |
| InstallInitialize | ActionSequenceType | Marks the beginning of a sequence of actions that change the system. |
| InstallValidate | ActionSequenceType | Verifies that all costed volumes have enough space for the installation. |
| LaunchConditions | ActionModuleSequenceType | Queries the LaunchCondition table and evaluates each conditional statement recorded there. |
| ResolveSource | ActionModuleSequenceType | Determines the location of the source and sets the SourceDir property if the source has not been resolved yet. |
Restricting anyType
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| CostFinalize | ActionSequenceType | Ends the internal installation costing process begun by the CostInitialize action. |
| CostInitialize | ActionSequenceType | Initiates the internal installation costing process. |
| Custom | string (extension) | Use to sequence a custom action. |
| ExecuteAction | ActionSequenceType | Initiates the execution sequence. |
| FileCost | ActionSequenceType | Initiates dynamic costing of standard installation actions. |
| InstallAdminPackage | ActionSequenceType | 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 | Copies files specified in the File table from the source directory to the destination directory. |
| InstallFinalize | ActionSequenceType | Marks the end of a sequence of actions that change the system. |
| InstallInitialize | ActionSequenceType | Marks the beginning of a sequence of actions that change the system. |
| InstallValidate | ActionSequenceType | Verifies that all costed volumes have enough space for the installation. |
| LaunchConditions | ActionModuleSequenceType | Queries the LaunchCondition table and evaluates each conditional statement recorded there. |
| Show | string (extension) |
Restricting anyType
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| CostFinalize | ActionSequenceType | Ends the internal installation costing process begun by the CostInitialize action. |
| CostInitialize | ActionSequenceType | Initiates the internal installation costing process. |
| CreateShortcuts | ActionSequenceType | Manages the creation of shortcuts. |
| Custom | string (extension) | Use to sequence a custom action. |
| InstallFinalize | ActionSequenceType | Marks the end of a sequence of actions that change the system. |
| InstallInitialize | ActionSequenceType | Marks the beginning of a sequence of actions that change the system. |
| InstallValidate | ActionSequenceType | Verifies that all costed volumes have enough space for the installation. |
| MsiPublishAssemblies | ActionSequenceType | Manages the advertisement of CLR and Win32 assemblies. |
| PublishComponents | ActionSequenceType | Manages the advertisement of the components from the PublishComponent table. |
| PublishFeatures | ActionSequenceType | Writes each feature's state into the system registry. |
| PublishProduct | ActionSequenceType | Manages the advertisement of the product information with the system. |
| RegisterClassInfo | ActionSequenceType | Manages the registration of COM class information with the system. |
| RegisterExtensionInfo | ActionSequenceType | Manages the registration of extension related information with the system. |
| RegisterMIMEInfo | ActionSequenceType | Registers MIME-related registry information with the system. |
| RegisterProgIdInfo | ActionSequenceType | Manages the registration of OLE ProgId information with the system. |
Ensures the needed amount of space exists in the registry.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Optional way for defining AppData, generally used for complex CDATA.
Type string
Application ID containing DCOM information for the associated application GUID.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| ActivateAtStorage | YesNoType | Set this value to 'yes' to configure the client to activate on the same system as persistent storage. |
| Advertise | YesNoType | 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 | Set this value to the description of the AppId. |
| DllSurrogate | string | 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 | Set this value to the AppID GUID that corresponds to the named executable. |
| LocalService | string | Set this value to the name of a service to allow the object to be installed as a Win32 service. |
| RemoteServerName | string | 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 | 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 | Set this value to the parameters to be passed to a LocalService on invocation. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| Class | anyType (restriction) | COM Class registration for parent Component. |
If this element is nested under a Fragment, Module, or Product element, it must be advertised.
Uses file signatures to search for existing versions of products.
| Name | Type | Description |
|---|---|---|
| After | string | The name of an action that this action should come after. |
| Before | string | The name of an action that this action should come before. |
| Overridable | YesNoType | If "yes", the sequencing of this action may be overridden by sequencing elsewhere. |
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
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.
The MsiAssemblyName table specifies the schema for the elements of a strong assembly cache name for a .NET Framework or Win32 assembly.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Name of the attribute associated with the value specified in the Value column. |
| Value | string | Value associated with the name specified in the Name column. |
Always empty.
Consider using the Assembly attribute on File element to have the toolset populate these entries automatically.
Billboard to display during install of a Feature
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Unique identifier for the Billboard. |
| Feature | string | Feature whose state determines if the Billboard is shown. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| Control | anyType (restriction) | Contains the controls that appear on each dialog. |
Billboard action during which child Billboards are displayed
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Action name that determines when the Billboard should be shown. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| Billboard | anyType (restriction) | Billboard to display during install of a Feature |
Binary data used for CustomAction elements and UI controls.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | The Id cannot by longer than 55 characters. |
| SourceFile | string | Path to the binary file. |
| src | string | |
| SuppressModularization | YesNoType | Use to suppress modularization of this Binary identifier in merge modules. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| any | Allow any element from the ##other namespace. |
Used only for PatchFamilies to include only a binary table entry in a patch.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | The identifier of the Binary element to reference. |
Always empty.
Binds each executable or DLL that must be bound to the DLLs imported by it.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Qualified published component for parent Component
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | Guid | A string GUID that represents the category of components being grouped together. |
| Qualifier | string | A text string that qualifies the value in the Id attribute. |
| AppData | string | An optional localizable text describing the category. |
| Feature | string | Feature that controls the advertisement of the category. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| AppData | string | Optional way for defining AppData, generally used for complex CDATA. |
Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed.
| Name | Type | Description |
|---|---|---|
| After | string | The name of an action that this action should come after. |
| Before | string | The name of an action that this action should come before. |
| Overridable | YesNoType | If "yes", the sequencing of this action may be overridden by sequencing elsewhere. |
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
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.
COM Class registration for parent Component.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | Guid | The Class identifier (CLSID) of a COM server. |
| Context | anySimpleType (list) | The server context(s) for this server. |
| Description | string | Localized description associated with the Class ID and Program ID. |
| AppId | Guid | This attribute is only allowed when a Class is advertised. |
| Icon | string | The file providing the icon associated with this CLSID. |
| IconIndex | integer | Icon index into the icon file. |
| Handler | string | The default inproc handler. |
| Argument | string | This column is optional only when the Context column is set to "LocalServer" or "LocalServer32" server context. |
| RelativePath | YesNoType | When the value is "yes", the bare file name can be used for COM servers. |
| Advertise | YesNoType | 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) | Threading model for the CLSID. |
| Version | string | Version for the CLSID. |
| Insertable | YesNoType | Specifies the CLISD may be insertable. |
| Programmable | YesNoType | Specifies the CLSID may be programmable. |
| Server | string | May only be specified if the value of the Advertise attribute is "no". |
| ShortPath | YesNoType | Specifies whether or not to use the short path for the COM server. |
| SafeForScripting | YesNoType | May only be specified if the value of the Advertise attribute is "no". |
| SafeForInitializing | YesNoType | May only be specified if the value of the Advertise attribute is "no". |
| Control | YesNoType | Set this attribute's value to 'yes' to identify an object as an ActiveX Control. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| FileTypeMask | anyType (restriction) | FileType data for class Id registration. |
| Interface | anyType (restriction) | COM Interface registration for parent Typelib. |
| ProgId | anyType (restriction) | ProgId registration for parent Component. |
Column definition for a Custom Table
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Identifier for the column. |
| PrimaryKey | YesNoType | Whether this column is a primary key. |
| Type | NMTOKEN (restriction) | The type of this column. |
| Width | integer | Width of this column. |
| Nullable | YesNoType | Whether this column can be left null. |
| Localizable | YesNoType | Whether this column can be localized. |
| MinValue | integer | Minimum value for a numeric value, date or version in this column. |
| MaxValue | integer | Maximum value for a numeric value, date or version in this column. |
| KeyTable | string | Table in which this column is an external key. |
| KeyColumn | integer | Column in the table in KeyTable attribute. |
| Category | NMTOKEN (restriction) | Category of this column. |
| Set | string | Semicolon delimited list of permissible values. |
| Description | string | Description of this column. |
| Modularize | NMTOKEN (restriction) | How this column should be modularized, if at all. |
Always empty.
Set of items for a particular ComboBox control tied to an install Property
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Property | string | Property tied to this group |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| ListItem | anyType (restriction) | The value (and optional text) associated with an item in a ComboBox, ListBox, or ListView. |
Adds a row to the CCPSearch table.
Restricting anyType
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| any | Allow any element from the ##other namespace. |
|
| ComplianceDrive | anyType (restriction) | Sets the parent of a nested DirectorySearch element to CCP_DRIVE. |
| ComponentSearch | anyType (restriction) | Searches for file or directory and assigns to value of parent Property. |
| RegistrySearch | anyType (restriction) | Searches for file, directory or registry key and assigns to value of parent Property |
| IniFileSearch | anyType (restriction) | Searches for file, directory or registry key and assigns to value of parent Property |
| DirectorySearch | anyType (restriction) | Searches for directory and assigns to value of parent Property. |
Sets the parent of a nested DirectorySearch element to CCP_DRIVE.
Restricting anyType
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| DirectorySearch | anyType (restriction) | Searches for directory and assigns to value of parent Property. |
| DirectorySearchRef | anyType (restriction) | References an existing DirectorySearch element. |
Component for parent Directory
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Component identifier; this is the primary key for identifying components. |
| ComPlusFlags | integer | Set this attribute to create a ComPlus entry. |
| DisableRegistryReflection | YesNoType | Set this attribute to 'yes' in order to disable registry reflection on all existing and new registry keys affected by this component. |
| Directory | string | Sets the Directory of the Component. |
| DiskId | integer | This attribute must be set either on a Component element or all of its children File elements. |
| Feature | string | Identifies a feature to which this component belongs, as a shorthand for a child ComponentRef element of the Feature element. |
| Guid | ComponentGuid | This value should be a guid that uniquely identifies this component's contents, language, platform, and version. |
| KeyPath | YesNoType | If this attribute's value is set to 'yes', then the Directory of this Component is used as the KeyPath. |
| Location | NMTOKEN (restriction) | |
| NeverOverwrite | YesNoType | 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 | If this attribute is set to 'yes', the installer does not remove the component during an uninstall. |
| Shared | YesNoType | If this attribute's value is set to 'yes', enables advanced patching semantics for Components that are shared across multiple Products. |
| SharedDllRefCount | YesNoType | 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 | If this attribute is set to 'yes', the installer reevaluates the value of the statement in the Condition upon a reinstall. |
| UninstallWhenSuperseded | YesNoType | 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 | Set this attribute to 'yes' to mark this as a 64-bit component. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| any | Allow any element from the ##other namespace. |
|
| AppId | anyType (restriction) | Application ID containing DCOM information for the associated application GUID. |
| Category | anyType (restriction) | Qualified published component for parent Component |
| Class | anyType (restriction) | COM Class registration for parent Component. |
| Condition | string (extension) | Conditions for components, controls, features, and products. |
| CopyFile | anyType (restriction) | Copy or move an existing file on the target machine, or copy a file that is being installed, to another destination. |
| CreateFolder | anyType (restriction) | Create folder as part of parent Component. |
| Environment | anyType (restriction) | Environment variables added or removed for the parent component. |
| Extension | anyType (restriction) | Extension for a Component |
| File | anyType (restriction) | File specification for File table, must be child node of Component. |
| IniFile | anyType (restriction) | Adds or removes .ini file entries. |
| Interface | anyType (restriction) | COM Interface registration for parent Typelib. |
| IsolateComponent | anyType (restriction) | Shared Component to be privately replicated in folder of parent Component |
| ODBCDataSource | anyType (restriction) | ODBCDataSource for a Component |
| ODBCDriver | anyType (restriction) | ODBCDriver for a Component |
| ODBCTranslator | anyType (restriction) | ODBCTranslator for a Component |
| ProgId | anyType (restriction) | ProgId registration for parent Component. |
| Registry | anyType (restriction) | |
| RegistryKey | anyType (restriction) | Used for organization of child RegistryValue elements or to create a registry key (and optionally remove it during uninstallation). |
| RegistryValue | anyType (restriction) | Used to create a registry value. For multi-string values, this can be used to prepend or append values. |
| RemoveFile | anyType (restriction) | Remove a file(s) if the parent component is selected for installation or removal. |
| RemoveFolder | anyType (restriction) | Remove an empty folder if the parent component is selected for installation or removal. |
| RemoveRegistryKey | anyType (restriction) | Used for removing registry keys and all child keys either during install or uninstall. |
| RemoveRegistryValue | anyType (restriction) | Used to remove a registry value during installation. |
| ReserveCost | anyType (restriction) | Disk cost to reserve in a folder for running locally and/or from source. |
| ServiceControl | anyType (restriction) | Starts, stops, and removes services for parent Component. |
| ServiceInstall | anyType (restriction) | Adds and removes services for parent Component. |
| Shortcut | anyType (restriction) | Shortcut, default target is parent File, CreateFolder, or Component's Directory |
| SymbolPath | anyType (restriction) | A path to symbols. |
| TypeLib | anyType (restriction) | Register a type library (TypeLib). |
Groups together multiple components to be used in other locations.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Identifier for the ComponentGroup. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| any | Allow any element from the ##other namespace. |
|
| Component | anyType (restriction) | Component for parent Directory |
| ComponentGroupRef | anyType (restriction) | Create a reference to a ComponentGroup in another Fragment. |
| ComponentRef | anyType (restriction) | Create a reference to a Feature element in another Fragment. |
Create a reference to a ComponentGroup in another Fragment.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | The identifier of the ComponentGroup to reference. |
| Primary | YesNoType | Set this attribute to 'yes' in order to make the parent feature of this component the primary feature for this component. |
Always empty.
Create a reference to a Feature element in another Fragment.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | The identifier of the Component element to reference. |
| Primary | YesNoType | Set this attribute to 'yes' in order to make the parent feature of this component the primary feature for this component. |
Always empty.
Searches for file or directory and assigns to value of parent Property.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | |
| Guid | Guid | The component ID of the component whose key path is to be used for the search. |
| Type | NMTOKEN (restriction) | Must be file if last child is FileSearch element and must be directory if last child is DirectorySearch element. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| DirectorySearch | anyType (restriction) | Searches for directory and assigns to value of parent Property. |
| DirectorySearchRef | anyType (restriction) | References an existing DirectorySearch element. |
| FileSearch | anyType (restriction) | Searches for file and assigns to fullpath value of parent Property |
| FileSearchRef | anyType (restriction) | References an existing FileSearch element. |
Conditions for components, controls, features, and products.
Extending string
| Name | Type | Description |
|---|---|---|
| Action | NMTOKEN (restriction) | 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 | Used only under Feature elements and is required. |
| Message | string | Used only under Fragment or Product elements and is required. |
Contains text only.
The condition is specified in the inner text of the element.
Defines the configurable attributes of merge module.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Name | string | Defines the name of the configurable item. |
| Format | string (restriction) | Specifies the format of the data being changed. |
| Type | string | Specifies the type of the data being changed. |
| ContextData | string | Specifies a semantic context for the requested data. |
| DefaultValue | string | Specifies a default value for the item in this record if the merge tool declines to provide a value. |
| KeyNoOrphan | YesNoType | Does not merge rule according to rules in MSI SDK. |
| NonNullable | YesNoType | If yes, null is not a valid entry. |
| DisplayName | string | Display name for authoring. |
| Description | string | Description for authoring. |
| HelpLocation | string | Location of chm file for authoring. |
| HelpKeyword | string | Keyword into chm file for authoring. |
Always empty.
Data to use as input to a configurable merge module.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Name | string | Key into the ModuleConfiguration table. |
| Value | string | Value to be passed to configurable merge module. |
Always empty.
Contains the controls that appear on each dialog.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Combined with the Dialog Id to make up the primary key of the Control table. |
| Type | string | The type of the control. |
| X | LocalizableInteger | Horizontal coordinate of the upper-left corner of the rectangular boundary of the control. |
| Y | LocalizableInteger | Vertical coordinate of the upper-left corner of the rectangular boundary of the control. |
| Width | LocalizableInteger | Width of the rectangular boundary of the control. |
| Height | LocalizableInteger | Height of the rectangular boundary of the control. |
| Property | string | The name of a defined property to be linked to this control. |
| Text | string | A localizable string used to set the initial text contained in a control. |
| Help | string | This attribute is reserved for future use. |
| ToolTip | string | The string used for the Tooltip. |
| CheckBoxValue | string | This attribute is only valid for CheckBox Controls. |
| TabSkip | YesNoType | Set this attribute to "yes" to cause this Control to be skipped in the tab sequence. |
| Default | YesNoType | Set this attribute to "yes" to cause this Control to be invoked by the return key. |
| Cancel | YesNoType | Set this attribute to "yes" to cause this Control to be invoked by the escape key. |
| Hidden | YesNoType | Set this attribute to "yes" to cause the Control to be hidden. |
| Disabled | YesNoType | Set this attribute to "yes" to cause the Control to be disabled. |
| Sunken | YesNoType | Set this attribute to "yes" to cause the Control to be sunken. |
| Indirect | YesNoType | Specifies whether the value displayed or changed by this control is referenced indirectly. |
| Integer | YesNoType | 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 | Set this attribute to "yes" to cause the Control to display from right to left. |
| RightAligned | YesNoType | Set this attribute to "yes" to cause the Control to be right aligned. |
| LeftScroll | YesNoType | Set this attribute to "yes" to cause the scroll bar to display on the left side of the Control. |
| Transparent | YesNoType | This attribute is only valid for Text Controls. |
| NoPrefix | YesNoType | This attribute is only valid for Text Controls. |
| NoWrap | YesNoType | This attribute is only valid for Text Controls. |
| FormatSize | YesNoType | This attribute is only valid for Text Controls. |
| UserLanguage | YesNoType | This attribute is only valid for Text Controls. |
| Multiline | YesNoType | This attribute is only valid for Edit Controls. |
| Password | YesNoType | This attribute is only valid for Edit Controls. |
| ProgressBlocks | YesNoType | This attribute is only valid for ProgressBar Controls. |
| Removable | YesNoType | This attribute is only valid for Volume and Directory Controls. |
| Fixed | YesNoType | This attribute is only valid for Volume and Directory Controls. |
| Remote | YesNoType | This attribute is only valid for Volume and Directory Controls. |
| CDROM | YesNoType | This attribute is only valid for Volume and Directory Controls. |
| RAMDisk | YesNoType | This attribute is only valid for Volume and Directory Controls. |
| Floppy | YesNoType | This attribute is only valid for Volume and Directory Controls. |
| ShowRollbackCost | YesNoType | This attribute is only valid for VolumeCostList Controls. |
| Sorted | YesNoType | This attribute is only valid for Listbox, ListView, and ComboBox Controls. |
| ComboList | YesNoType | This attribute is only valid for ComboBox Controls. |
| Image | YesNoType | This attribute is only valid for RadioButton, PushButton, and Icon Controls. |
| IconSize | NMTOKEN (restriction) | This attribute is only valid for RadioButton, PushButton, and Icon Controls. |
| FixedSize | YesNoType | This attribute is only valid for RadioButton, PushButton, and Icon Controls. |
| Icon | YesNoType | This attribute is only valid for RadioButton and PushButton Controls. |
| Bitmap | YesNoType | This attribute is only valid for RadioButton and PushButton Controls. |
| PushLike | YesNoType | This attribute is only valid for RadioButton and Checkbox Controls. |
| HasBorder | YesNoType | This attribute is only valid for RadioButton Controls. |
| ElevationShield | YesNoType | This attribute is only valid for PushButton controls. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| Text | string (extension) | An alternative to using the Text attribute when the value contains special XML characters like <, >, or &. |
| ComboBox | anyType (restriction) | Set of items for a particular ComboBox control tied to an install Property |
| ListBox | anyType (restriction) | Set of items for a particular ListBox control tied to an install Property |
| ListView | anyType (restriction) | Set of items for a particular ListView control tied to an install Property |
| RadioButtonGroup | anyType (restriction) | Set of radio buttons tied to the specified Property |
| Property | anyType (restriction) | Property value for a Product or Module. |
| Binary | anyType (restriction) | Binary data used for CustomAction elements and UI controls. |
| Condition | string (extension) | Conditions for components, controls, features, and products. |
| Publish | string (extension) | |
| Subscribe | anyType (restriction) | Sets attributes for events in the EventMapping table |
Copy or move an existing file on the target machine, or copy a file that is being installed, to another destination.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Primary key used to identify this particular entry. |
| FileId | string | This attribute cannot be specified if the element is nested under a File element. |
| SourceDirectory | string | This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified. |
| SourceProperty | string | This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified. |
| SourceName | WildCardLongFileNameType | This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified. |
| DestinationDirectory | string | Set this value to the destination directory where an existing file on the target machine should be moved or copied to. |
| DestinationProperty | string | Set this value to a property that will have a value that resolves to the full path of the destination directory. |
| DestinationName | LongFileNameType | In prior versions of the WiX toolset, this attribute specified the short file name. |
| DestinationLongName | LongFileNameType | |
| DestinationShortName | ShortFileNameType | The short file name of the file in 8.3 format. |
| Delete | YesNoType | This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified. |
Always empty.
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.
Ends the internal installation costing process begun by the CostInitialize action.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
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.
Initiates the internal installation costing process.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
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.
Create folder as part of parent Component.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Directory | string | Identifier of Directory to create. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| any | Allow any element from the ##other namespace. |
|
| Permission | anyType (restriction) | Sets ACLs on File, Registry, or CreateFolder. |
| Shortcut | anyType (restriction) | Shortcut, default target is parent File, CreateFolder, or Component's Directory |
Creates empty folders for components that are set to be installed.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Manages the creation of shortcuts.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Use to sequence a custom action.
Extending string
| Name | Type | Description |
|---|---|---|
| Action | string | The action to which the Custom element applies. |
| OnExit | NMTOKEN (restriction) | Mutually exclusive with Before, After, and Sequence attributes |
| Before | string | 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 | The name of the standard or custom action after which this action should be performed. |
| Overridable | YesNoType | If "yes", the sequencing of this action may be overridden by sequencing elsewhere. |
| Sequence | integer | The sequence number for this action. |
Contains text only.
Specifies a custom action to be added to the MSI CustomAction table.
Extending string
| Name | Type | Description |
|---|---|---|
| Id | string | The identifier of the custom action. |
| BinaryKey | string | This attribute is a reference to a Binary element with matching Id attribute. |
| FileKey | string | 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 | 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 | This attribute specifies a reference to a Directory element with matching Id attribute containing a directory path. |
| DllEntry | string | This attribute specifies the name of a function in a custom action to execute. |
| ExeCommand | string | This attribute specifies the command line parameters to supply to an externally run executable. |
| JScriptCall | string | This attribute specifies the name of the JScript function to execute in a script. |
| VBScriptCall | string | This attribute specifies the name of the VBScript Subroutine to execute in a script. |
| Script | NMTOKEN (restriction) | Creates a type 37 or 38 custom action. |
| SuppressModularization | YesNoType | Use to suppress modularization of this custom action name in merge modules. |
| Value | string | This attribute specifies a string value to use in the custom action. |
| Error | string | 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) | Set this attribute to set the return behavior of the custom action. |
| Execute | NMTOKEN (restriction) | This attribute indicates the scheduling of the custom action. |
| Impersonate | YesNoType | 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 | This attribute specifies that the Windows Installer, execute the custom action only when a patch is being uninstalled. |
| Win64 | YesNoType | Specifies that a script custom action targets a 64-bit platform. |
| TerminalServerAware | YesNoType | This attribute specifies controls whether the custom action will impersonate the installing user during per-machine installs on Terminal Server machines. |
| HideTarget | YesNoType | Ensures the installer does not log the CustomActionData for the deferred custom action. |
Contains text only.
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.
This will cause the entire contents of the Fragment containing the referenced CustomAction to be included in the installer database.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | The identifier of the CustomAction to reference. |
Always empty.
A custom property for the PatchMetadata table.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Company | string | The name of the company. |
| Property | string | The name of the metadata property. |
| Value | string | Value of the metadata property. |
Always empty.
Defines a custom table for use from a custom action.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Identifier for the custom table. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| Column | anyType (restriction) | Column definition for a Custom Table |
| Row | anyType (restriction) | Row data for a Custom Table |
Used for a Custom Table. Specifies the data for the parent Row and specified Column.
Extending string
| Name | Type | Description |
|---|---|---|
| Column | string | Specifies in which column to insert this data. |
Contains text only.
Stops a service and removes its registration from the system.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Declares a dependency on another merge module.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| RequiredId | string | Identifier of the merge module required by the merge module. |
| RequiredLanguage | integer | Numeric language ID of the merge module in RequiredID. |
| RequiredVersion | string | Version of the merge module in RequiredID. |
Always empty.
Defines a dialog box in the Dialog Table.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Unique identifier for the dialog. |
| X | integer | Horizontal placement of the dialog box as a percentage of screen width. |
| Y | integer | Vertical placement of the dialog box as a percentage of screen height. |
| Width | integer | The width of the dialog box in dialog units. |
| Height | integer | The height of the dialog box in dialog units. |
| Title | string | The title of the dialog box. |
| Hidden | YesNoType | Used to hide the dialog. |
| Modeless | YesNoType | Used to set the dialog as modeless. |
| NoMinimize | YesNoType | Used to specify if the dialog can be minimized. |
| SystemModal | YesNoType | Used to set the dialog as system modal. |
| KeepModeless | YesNoType | Keep modeless dialogs alive when this dialog is created through DoAction. |
| TrackDiskSpace | YesNoType | Have the dialog periodically call the installer to check if available disk space has changed. |
| CustomPalette | YesNoType | Used to specify if pictures in the dialog box are rendered with a custom palette. |
| RightToLeft | YesNoType | Used to specify if the text in the dialog should be displayed in right to left reading order. |
| RightAligned | YesNoType | Align text on the right. |
| LeftScroll | YesNoType | Used to align the scroll bar on the left. |
| ErrorDialog | YesNoType | Specifies this dialog as an error dialog. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| Control | anyType (restriction) | Contains the controls that appear on each dialog. |
Reference to a Dialog.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | The identifier of the Dialog to reference. |
Always empty.
This will cause the entire referenced section's contents
to be included in the installer database.
Adds a digital certificate.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Identifier for a certificate file. |
| SourceFile | string | The path to the certificate file. |
Always empty.
Adds a digital signature.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| SourceFile | string | The path to signature's optional hash file. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| DigitalCertificate | anyType (restriction) | Adds a digital certificate. |
Directory layout for the product.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | This value is the unique identifier of the directory entry. |
| ComponentGuidGenerationSeed | Guid | 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 | Sets the default disk identifier for the files contained in this directory. |
| FileSource | string | Used to set the file system source for this directory's child elements. |
| LongName | LongFileNameType | |
| LongSource | LongFileNameType | |
| Name | LongFileNameType | The name of the directory. |
| ShortName | ShortFileNameType | The short name of the directory in 8.3 format. |
| ShortSourceName | ShortFileNameType | The short name of the directory on the source media in 8.3 format. |
| SourceName | LongFileNameType | The name of the directory on the source media. |
| src | string |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| any | Allow any element from the ##other namespace. |
|
| Component | anyType (restriction) | Component for parent Directory |
| Directory | anyType (restriction) | Directory layout for the product. |
| Merge | anyType (restriction) | Merge directive to bring in a merge module that will be redirected to the parent directory. |
| SymbolPath | anyType (restriction) | A path to symbols. |
Also specifies the mappings between source and target directories.
Create a reference to a Directory element in another Fragment.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | The identifier of the Directory element to reference. |
| DiskId | integer | Sets the default disk identifier for the files contained in this directory. |
| FileSource | string | Used to set the file system source for this directory ref's child elements. |
| src | string |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| any | Allow any element from the ##other namespace. |
|
| Component | anyType (restriction) | Component for parent Directory |
| Directory | anyType (restriction) | Directory layout for the product. |
| Merge | anyType (restriction) | Merge directive to bring in a merge module that will be redirected to the parent directory. |
Searches for directory and assigns to value of parent Property.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Unique identifier for the directory search. |
| Path | string | Path on the user's system. Either absolute, or relative to containing directories. |
| Depth | integer | Depth below the path that the installer searches for the file or directory specified by the search. |
| AssignToProperty | YesNoType | Set the result of this search to the value of the outer Property. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| DirectorySearch | anyType (restriction) | Searches for directory and assigns to value of parent Property. |
| DirectorySearchRef | anyType (restriction) | References an existing DirectorySearch element. |
| FileSearch | anyType (restriction) | Searches for file and assigns to fullpath value of parent Property |
| FileSearchRef | anyType (restriction) | References an existing FileSearch element. |
References an existing DirectorySearch element.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Id of the search being referred to. |
| Parent | string | This attribute is the signature of the parent directory of the file or directory in the Signature_ column. |
| Path | string | Path on the user's system. Either absolute, or relative to containing directories. |
| AssignToProperty | YesNoType | Set the result of this search to the value of the outer Property. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| DirectorySearch | anyType (restriction) | Searches for directory and assigns to value of parent Property. |
| DirectorySearchRef | anyType (restriction) | References an existing DirectorySearch element. |
| FileSearch | anyType (restriction) | Searches for file and assigns to fullpath value of parent Property |
| FileSearchRef | anyType (restriction) | References an existing FileSearch element. |
Disables rollback for the remainder of the installation.
| Name | Type | Description |
|---|---|---|
| After | string | The name of an action that this action should come after. |
| Before | string | The name of an action that this action should come before. |
| Overridable | YesNoType | If "yes", the sequencing of this action may be overridden by sequencing elsewhere. |
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
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.
Duplicates files installed by the InstallFiles action.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Extending string
| Name | Type | Description |
|---|---|---|
| Id | string | Unique identifier for embedded chainer. |
| CommandLine | string | Value to append to the transaction handle and passed to the chainer executable. |
| BinarySource | string | Reference to the Binary element that contains the chainer executeable. |
| FileSource | string | Reference to the File element that is the chainer executeable. |
| PropertySource | string | Reference to a Property that resolves to the full path to the chainer executeable. |
Contains text only.
Reference to an EmbeddedChainer element.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string |
Always empty.
This will force the entire referenced Fragment's contents to be included in the installer database.
Element value is the condition.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Unique identifier for embedded UI. |
| IgnoreFatalExit | YesNoType | Embedded UI will not recieve any INSTALLLOGMODE_FATALEXIT messages. |
| IgnoreError | YesNoType | Embedded UI will not recieve any INSTALLLOGMODE_ERROR messages. |
| IgnoreWarning | YesNoType | Embedded UI will not recieve any INSTALLLOGMODE_WARNING messages. |
| IgnoreUser | YesNoType | Embedded UI will not recieve any INSTALLLOGMODE_USER messages. |
| IgnoreInfo | YesNoType | Embedded UI will not recieve any INSTALLLOGMODE_INFO messages. |
| IgnoreFilesInUse | YesNoType | Embedded UI will not recieve any INSTALLLOGMODE_FILESINUSE messages. |
| IgnoreResolveSource | YesNoType | Embedded UI will not recieve any INSTALLLOGMODE_RESOLVESOURCE messages. |
| IgnoreOutOfDiskSpace | YesNoType | Embedded UI will not recieve any INSTALLLOGMODE_OUTOFDISKSPACE messages. |
| IgnoreActionStart | YesNoType | Embedded UI will not recieve any INSTALLLOGMODE_ACTIONSTART messages. |
| IgnoreActionData | YesNoType | Embedded UI will not recieve any INSTALLLOGMODE_ACTIONDATA messages. |
| IgnoreProgress | YesNoType | Embedded UI will not recieve any INSTALLLOGMODE_PROGRESS messages. |
| IgnoreCommonData | YesNoType | Embedded UI will not recieve any INSTALLLOGMODE_COMMONDATA messages. |
| IgnoreInitialize | YesNoType | Embedded UI will not recieve any INSTALLLOGMODE_INITIALIZE messages. |
| IgnoreTerminate | YesNoType | Embedded UI will not recieve any INSTALLLOGMODE_TERMINATE messages. |
| IgnoreShowDialog | YesNoType | Embedded UI will not recieve any INSTALLLOGMODE_SHOWDIALOG messages. |
| IgnoreRMFilesInUse | YesNoType | Embedded UI will not recieve any INSTALLLOGMODE_RMFILESINUSE messages. |
| Name | LongFileNameType | 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 | Path to the binary file that is the embedded UI. |
| SupportBasicUI | YesNoType | Set yes to allow the Windows Installer to display the embedded UI during basic UI level installation. |
Can contain a mix of text and the elements defined in the following table.
| Component | Type | Description |
|---|---|---|
| EmbeddedUIResource | anyType (restriction) | Defines a resource for use by the embedded UI. |
Use CDATA if message contains delimiter characters.
Defines a resource for use by the embedded UI.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Identifier for the embedded UI resource. |
| Name | LongFileNameType | 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 | Path to the binary file that is the embedded UI resource. |
Always empty.
Use this element to ensure that a table appears in the installer database, even if its empty.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | The name of the table. |
Always empty.
Environment variables added or removed for the parent component.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Unique identifier for environment entry. |
| Name | string | Name of the environment variable. |
| Value | string | The value to set into the environment variable. |
| Separator | string | Optional attribute to change the separator used between values. |
| Action | NMTOKEN (restriction) | Specfies whether the environmental variable should be created, set or removed when the parent component is installed. |
| Part | NMTOKEN (restriction) | |
| Permanent | YesNoType | Specifies that the environment variable should not be removed on uninstall. |
| System | YesNoType | Specifies that the environment variable should be added to the system environment space. |
Always empty.
Extending string
| Name | Type | Description |
|---|---|---|
| Id | integer | Number of the error for which a message is being provided. |
Contains text only.
Declares a merge module with which this merge module is incompatible.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| ExcludedId | string | Identifier of the merge module that is incompatible. |
| ExcludeExceptLanguage | integer | Numeric language ID of the merge module in ExcludedID. |
| ExcludeLanguage | integer | Numeric language ID of the merge module in ExcludedID. |
| ExcludedMinVersion | string | Minimum version excluded from a range. |
| ExcludedMaxVersion | string | Maximum version excluded from a range. |
Always empty.
Initiates the execution sequence.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Extension for a Component
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | This is simply the file extension, like "doc" or "xml". Do not include the preceding period. |
| ContentType | string | The MIME type that is to be written. |
| Advertise | YesNoType | Whether this extension is to be advertised. The default is "no". |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| MIME | anyType (restriction) | MIME content-type for an Extension |
| Verb | anyType (restriction) | Verb definition for an Extension. |
Contains information about specific files that are not part of a regular target image.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| File | string | Foreign key into the File table. |
| Source | string | Full path of the external file. |
| src | string | |
| Order | int | Specifies the order of the external files to use when creating the patch. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| ProtectRange | anyType (restriction) | Specifies part of a file that cannot be overwritten during patching. |
| SymbolPath | anyType (restriction) | A path to symbols. |
| IgnoreRange | anyType (restriction) | Specifies part of a file that is to be ignored during patching. |
Group of one or more upgraded images of a product.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| DiskId | int | Entered into the DiskId field of the new Media table record. |
| DiskPrompt | string | Value to display in the "[1]" of the DiskPrompt Property. |
| MediaSrcProp | string | Entered into the Source field of the new Media table entry of the upgraded image. |
| Name | string | Identifier for the family. |
| SequenceStart | int | Sequence number for the starting file. |
| VolumeLabel | string | Entered into the VolumeLabel field of the new Media table record. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| UpgradeImage | anyType (restriction) | Contains information about the upgraded images of the product. |
| ExternalFile | anyType (restriction) | Contains information about specific files that are not part of a regular target image. |
| ProtectFile | anyType (restriction) | Specifies a file to be protected. |
A feature for the Feature table.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Unique identifier of the feature. |
| Absent | NMTOKEN (restriction) | This attribute determines if a user will have the option to set a feature to absent in the user interface. |
| AllowAdvertise | NMTOKEN (restriction) | This attribute determins the possible advertise states for this feature. |
| ConfigurableDirectory | string | Specify the Id of a Directory that can be configured by the user at installation time. |
| Description | string | Longer string of text describing the feature. |
| Display | string | Determines the initial display of this feature in the feature tree. |
| InstallDefault | NMTOKEN (restriction) | This attribute determines the default install/run location of a feature. |
| Level | integer | Sets the install level of this feature. |
| Title | string | Short string of text identifying the feature. |
| TypicalDefault | NMTOKEN (restriction) | This attribute determines the default advertise state of the feature. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| any | Allow any element from the ##other namespace. |
|
| Component | anyType (restriction) | Component for parent Directory |
| ComponentGroupRef | anyType (restriction) | Create a reference to a ComponentGroup in another Fragment. |
| ComponentRef | anyType (restriction) | Create a reference to a Feature element in another Fragment. |
| Condition | string (extension) | Conditions for components, controls, features, and products. |
| Feature | anyType (restriction) | A feature for the Feature table. |
| FeatureGroupRef | anyType (restriction) | Create a reference to a FeatureGroup in another Fragment. |
| FeatureRef | anyType (restriction) | Create a reference to a Feature element in another Fragment. |
| MergeRef | anyType (restriction) | Merge reference to connect a Merge Module to parent Feature |
Features are the smallest installable unit. See msi.chm for more detailed information on the myriad installation options for a feature.
Groups together multiple components, features, and merges to be used in other locations.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Identifier for the FeatureGroup. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| any | Allow any element from the ##other namespace. |
|
| Component | anyType (restriction) | Component for parent Directory |
| ComponentGroupRef | anyType (restriction) | Create a reference to a ComponentGroup in another Fragment. |
| ComponentRef | anyType (restriction) | Create a reference to a Feature element in another Fragment. |
| Feature | anyType (restriction) | A feature for the Feature table. |
| FeatureGroupRef | anyType (restriction) | Create a reference to a FeatureGroup in another Fragment. |
| FeatureRef | anyType (restriction) | Create a reference to a Feature element in another Fragment. |
| MergeRef | anyType (restriction) | Merge reference to connect a Merge Module to parent Feature |
Create a reference to a FeatureGroup in another Fragment.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | The identifier of the FeatureGroup to reference. |
| IgnoreParent | YesNoType | Normally feature group references that end up nested under a parent element create a connection to that parent. |
| Primary | YesNoType | 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. |
Always empty.
Create a reference to a Feature element in another Fragment.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | The identifier of the Feature element to reference. |
| IgnoreParent | YesNoType | Normally feature references that are nested under a parent element create a connection to that parent. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| any | Allow any element from the ##other namespace. |
|
| Component | anyType (restriction) | Component for parent Directory |
| ComponentGroupRef | anyType (restriction) | Create a reference to a ComponentGroup in another Fragment. |
| ComponentRef | anyType (restriction) | Create a reference to a Feature element in another Fragment. |
| Feature | anyType (restriction) | A feature for the Feature table. |
| FeatureGroup | anyType (restriction) | Groups together multiple components, features, and merges to be used in other locations. |
| FeatureGroupRef | anyType (restriction) | Create a reference to a FeatureGroup in another Fragment. |
| FeatureRef | anyType (restriction) | Create a reference to a Feature element in another Fragment. |
| MergeRef | anyType (restriction) | Merge reference to connect a Merge Module to parent Feature |
File specification for File table, must be child node of Component.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | The unique identifier for this File element. |
| CompanionFile | string | Set this attribute to make this file a companion child of another file. |
| Name | LongFileNameType | 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 | |
| KeyPath | YesNoType | Set to yes in order to force this file to be the key path for the parent component. |
| ShortName | ShortFileNameType | The short file name of the file in 8.3 format. |
| ReadOnly | YesNoType | Set to yes in order to have the file's read-only attribute set when it is installed on the target machine. |
| Hidden | YesNoType | Set to yes in order to have the file's hidden attribute set when it is installed on the target machine. |
| System | YesNoType | Set to yes in order to have the file's system attribute set when it is installed on the target machine. |
| Vital | YesNoType | If a file is vital, then installation cannot proceed unless the file is successfully installed. |
| Checksum | YesNoType | 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 | Sets the file's source type compression. |
| BindPath | string | A list of paths, separated by semicolons, that represent the paths to be searched to find the imported DLLs. |
| SelfRegCost | integer | The cost of registering the file in bytes. |
| TrueType | YesNoType | Causes an entry to be generated for the file in the Font table with no FontTitle specified. |
| FontTitle | string | Causes an entry to be generated for the file in the Font table with the specified FontTitle. |
| DefaultLanguage | string | This is the default language of this file. |
| DefaultSize | integer | This is the default size of this file. |
| DefaultVersion | string | This is the default version of this file. |
| Assembly | NMTOKEN (restriction) | Specifies if this File is a Win32 Assembly or .NET Assembly that needs to be installed into the Global Assembly Cache. |
| AssemblyManifest | string | Specifies the file identifier of the manifest file that describes this assembly. |
| AssemblyApplication | string | Specifies the file identifier of the application file. |
| ProcessorArchitecture | NMTOKEN (restriction) | Specifies the architecture for this assembly. |
| DiskId | integer | Specifies the Media this File should be sourced on. |
| Source | string | Specifies the path to the File in the build process. |
| src | string | |
| PatchGroup | integer | This attribute must be set for patch-added files. |
| PatchIgnore | YesNoType | Prevents the updating of the file that is in fact changed in the upgraded image relative to the target images. |
| PatchAllowIgnoreOnError | YesNoType | Set to indicate that the patch is non-vital. |
| PatchWholeFile | YesNoType | Set if the entire file should be installed rather than creating a binary patch. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| any | Allow any element from the ##other namespace. |
|
| AppId | anyType (restriction) | Application ID containing DCOM information for the associated application GUID. |
| AssemblyName | anyType (restriction) | 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) | COM Class registration for parent Component. |
| CopyFile | anyType (restriction) | Copy or move an existing file on the target machine, or copy a file that is being installed, to another destination. |
| ODBCDriver | anyType (restriction) | ODBCDriver for a Component |
| ODBCTranslator | anyType (restriction) | ODBCTranslator for a Component |
| Permission | anyType (restriction) | Sets ACLs on File, Registry, or CreateFolder. |
| Shortcut | anyType (restriction) | Shortcut, default target is parent File, CreateFolder, or Component's Directory |
| SymbolPath | anyType (restriction) | A path to symbols. |
| TypeLib | anyType (restriction) | Register a type library (TypeLib). |
Initiates dynamic costing of standard installation actions.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
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.
Searches for file and assigns to fullpath value of parent Property
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Unique identifier for the file search and external key into the Signature table. |
| Name | LongFileNameType | 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 | |
| ShortName | ShortFileNameType | The short file name of the file in 8.3 format. |
| MinSize | int | The minimum size of the file. |
| MaxSize | int | The maximum size of the file. |
| MinVersion | string | The minimum version of the file. |
| MaxVersion | string | The maximum version of the file. |
| MinDate | dateTime | The minimum modification date and time of the file. |
| MaxDate | dateTime | The maximum modification date and time of the file. |
| Languages | string | The languages supported by the file. |
Always empty.
References an existing FileSearch element.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Specify the Id to the FileSearch to reference. |
Always empty.
FileType data for class Id registration.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Offset | integer | Offset into file. If positive, offset is from the beginning; if negative, offset is from the end. |
| Mask | HexType | Hex value that is AND'd against the bytes in the file at Offset. |
| Value | HexType | 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. |
Always empty.
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.
| Name | Type | Description |
|---|---|---|
| After | string | The name of an action that this action should come after. |
| Before | string | The name of an action that this action should come before. |
| Overridable | YesNoType | If "yes", the sequencing of this action may be overridden by sequencing elsewhere. |
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
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.
Prompts the user for a restart of the system during the installation.
| Name | Type | Description |
|---|---|---|
| After | string | The name of an action that this action should come after. |
| Before | string | The name of an action that this action should come before. |
| Overridable | YesNoType | If "yes", the sequencing of this action may be overridden by sequencing elsewhere. |
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
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.
The Fragment element is the building block of creating an installer database in WiX.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Optional identifier for a Fragment. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| any | Allow any element from the ##other namespace. |
|
| AppId | anyType (restriction) | Application ID containing DCOM information for the associated application GUID. |
| Binary | anyType (restriction) | Binary data used for CustomAction elements and UI controls. |
| ComplianceCheck | anyType (restriction) | Adds a row to the CCPSearch table. |
| Component | anyType (restriction) | Component for parent Directory |
| ComponentGroup | anyType (restriction) | Groups together multiple components to be used in other locations. |
| Condition | string (extension) | Conditions for components, controls, features, and products. |
| CustomAction | string (extension) | Specifies a custom action to be added to the MSI CustomAction table. |
| CustomActionRef | anyType (restriction) | This will cause the entire contents of the Fragment containing the referenced CustomAction to be included in the installer database. |
| CustomTable | anyType (restriction) | Defines a custom table for use from a custom action. |
| Directory | anyType (restriction) | Directory layout for the product. |
| DirectoryRef | anyType (restriction) | Create a reference to a Directory element in another Fragment. |
| EmbeddedChainer | string (extension) | |
| EmbeddedChainerRef | anyType (restriction) | Reference to an EmbeddedChainer element. |
| EnsureTable | anyType (restriction) | Use this element to ensure that a table appears in the installer database, even if its empty. |
| Feature | anyType (restriction) | A feature for the Feature table. |
| FeatureGroup | anyType (restriction) | Groups together multiple components, features, and merges to be used in other locations. |
| FeatureRef | anyType (restriction) | Create a reference to a Feature element in another Fragment. |
| Icon | anyType (restriction) | Icon used for Shortcut, ProgId, or Class elements (but not UI controls) |
| IgnoreModularization | anyType (restriction) | This element has been deprecated. |
| Media | anyType (restriction) | Media element describes a disk that makes up the source media for the installation. |
| PatchCertificates | anyType (restriction) | Identifies the possible signer certificates used to digitally sign patches. |
| PatchFamily | anyType (restriction) | Collection of items that should be kept from the differences between two products. |
| Property | anyType (restriction) | Property value for a Product or Module. |
| PropertyRef | anyType (restriction) | Reference to a Property value. |
| InstallExecuteSequence | anyType (restriction) | |
| InstallUISequence | anyType (restriction) | |
| AdminExecuteSequence | anyType (restriction) | |
| AdminUISequence | anyType (restriction) | |
| AdvertiseExecuteSequence | anyType (restriction) | |
| SetDirectory | string (extension) | Sets a Directory to a particular value. |
| SetProperty | string (extension) | Sets a Property to a particular value. |
| SFPCatalog | anyType (restriction) | Adds a system file protection update catalog file |
| UI | anyType (restriction) | Enclosing element to compartmentalize UI specifications. |
| UIRef | anyType (restriction) | Reference to a UI element. This will force the entire referenced Fragment's contents to be included in the installer database. |
| Upgrade | anyType (restriction) | Upgrade info for a particular UpgradeCode |
| WixVariable | anyType (restriction) | This element exposes advanced WiX functionality. |
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.
Icon used for Shortcut, ProgId, or Class elements (but not UI controls)
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | The Id cannot by longer than 55 characters. |
| SourceFile | string | Path to the icon file. |
| src | string |
Always empty.
Used only for PatchFamilies to include only a icon table entry in a patch.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | The identifier of the Icon element to reference. |
Always empty.
This element has been deprecated.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Name | string | The name of the item to ignore modularization for. |
| Type | NMTOKEN (restriction) | The type of the item to ignore modularization for. |
Always empty.
Use the Binary/@SuppressModularization, CustomAction/@SuppressModularization, or Property/@SuppressModularization attributes instead.
Specifies part of a file that is to be ignored during patching.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Offset | int | Offset of the start of the range. |
| Length | int | Length of the range. |
Always empty.
Specifies a table from the merge module that is not merged into an .msi file.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | The name of the table in the merge module that is not to be merged into the .msi file. |
Always empty.
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.
This is the top-level container element for every wxi file.
Restricting anyType
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| any | Allow any element from the ##any namespace. |
Adds or removes .ini file entries.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Identifier for ini file. |
| Action | NMTOKEN (restriction) | The type of modification to be made. |
| Directory | string | Name of a property, the value of which is the full path of the folder containing the .ini file. |
| Key | string | The localizable .ini file key within the section. |
| LongName | LongFileNameType | |
| Name | LongFileNameType | 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 | The localizable .ini file section. |
| ShortName | ShortFileNameType | The short name of the in 8.3 format. |
| Value | string | The localizable value to be written or deleted. This attribute must be set if the Action attribute's value is "addLine", "addTag", or "createLine". |
Always empty.
Searches for file, directory or registry key and assigns to value of parent Property
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | External key into the Signature table. |
| Field | integer | The field in the .ini line. If field is Null or 0, the entire line is read. |
| Key | string | The key value within the section. |
| LongName | LongFileNameType | |
| Name | LongFileNameType | 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 | The localizable .ini file section. |
| ShortName | ShortFileNameType | The short name of the file in 8.3 format. |
| Type | NMTOKEN (restriction) | Must be file if last child is FileSearch element and must be directory if last child is DirectorySearch element. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| DirectorySearch | anyType (restriction) | Searches for directory and assigns to value of parent Property. |
| DirectorySearchRef | anyType (restriction) | References an existing DirectorySearch element. |
| FileSearch | anyType (restriction) | Searches for file and assigns to fullpath value of parent Property |
| FileSearchRef | anyType (restriction) | References an existing FileSearch element. |
Copies the product database to the administrative installation point. The condition for this action may be specified in the element's inner text.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
Runs a script containing all operations spooled since either the start of the installation or the last InstallExecute action, or InstallExecuteAgain action.
| Name | Type | Description |
|---|---|---|
| After | string | The name of an action that this action should come after. |
| Before | string | The name of an action that this action should come before. |
| Overridable | YesNoType | If "yes", the sequencing of this action may be overridden by sequencing elsewhere. |
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
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.
Runs a script containing all operations spooled since either the start of the installation or the last InstallExecute action, or InstallExecuteAgain action.
| Name | Type | Description |
|---|---|---|
| After | string | The name of an action that this action should come after. |
| Before | string | The name of an action that this action should come before. |
| Overridable | YesNoType | If "yes", the sequencing of this action may be overridden by sequencing elsewhere. |
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
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.
Restricting anyType
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| AllocateRegistrySpace | ActionSequenceType | Ensures the needed amount of space exists in the registry. |
| AppSearch | ActionModuleSequenceType | Uses file signatures to search for existing versions of products. |
| BindImage | ActionSequenceType | Binds each executable or DLL that must be bound to the DLLs imported by it. |
| CCPSearch | ActionModuleSequenceType | Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed. |
| CostFinalize | ActionSequenceType | Ends the internal installation costing process begun by the CostInitialize action. |
| CostInitialize | ActionSequenceType | Initiates the internal installation costing process. |
| CreateFolders | ActionSequenceType | Creates empty folders for components that are set to be installed. |
| CreateShortcuts | ActionSequenceType | Manages the creation of shortcuts. |
| Custom | string (extension) | Use to sequence a custom action. |
| DeleteServices | ActionSequenceType | Stops a service and removes its registration from the system. |
| DisableRollback | ActionModuleSequenceType | Disables rollback for the remainder of the installation. |
| DuplicateFiles | ActionSequenceType | Duplicates files installed by the InstallFiles action. |
| FileCost | ActionSequenceType | Initiates dynamic costing of standard installation actions. |
| FindRelatedProducts | ActionModuleSequenceType | 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 | Prompts the user for a restart of the system during the installation. |
| InstallExecute | ActionModuleSequenceType | Runs a script containing all operations spooled since either the start of the installation or the last InstallExecute action, or InstallExecuteAgain action. |
| InstallExecuteAgain | ActionModuleSequenceType | Runs a script containing all operations spooled since either the start of the installation or the last InstallExecute action, or InstallExecuteAgain action. |
| InstallFiles | ActionSequenceType | Copies files specified in the File table from the source directory to the destination directory. |
| InstallFinalize | ActionSequenceType | Marks the end of a sequence of actions that change the system. |
| InstallInitialize | ActionSequenceType | Marks the beginning of a sequence of actions that change the system. |
| InstallODBC | ActionSequenceType | Installs the drivers, translators, and data sources in the ODBCDriver table, ODBCTranslator table, and ODBCDataSource table. |
| InstallServices | ActionSequenceType | Registers a service for the system. |
| InstallValidate | ActionSequenceType | Verifies that all costed volumes have enough space for the installation. |
| IsolateComponents | ActionSequenceType | 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 | Queries the LaunchCondition table and evaluates each conditional statement recorded there. |
| MigrateFeatureStates | ActionSequenceType | Used for upgrading or installing over an existing application. |
| MoveFiles | ActionSequenceType | Locates existing files on the system and moves or copies those files to a new location. |
| MsiPublishAssemblies | ActionSequenceType | Manages the advertisement of CLR and Win32 assemblies. |
| MsiUnpublishAssemblies | ActionSequenceType | Manages the unadvertisement of CLR and Win32 assemblies that are being removed. |
| PatchFiles | ActionSequenceType | Queries the Patch table to determine which patches are to be applied. |
| ProcessComponents | ActionSequenceType | Registers and unregisters components, their key paths, and the component clients. |
| PublishComponents | ActionSequenceType | Manages the advertisement of the components from the PublishComponent table. |
| PublishFeatures | ActionSequenceType | Writes each feature's state into the system registry. |
| PublishProduct | ActionSequenceType | Manages the advertisement of the product information with the system. |
| RegisterClassInfo | ActionSequenceType | Manages the registration of COM class information with the system. |
| RegisterComPlus | ActionSequenceType | Registers COM+ applications. |
| RegisterExtensionInfo | ActionSequenceType | Manages the registration of extension related information with the system. |
| RegisterFonts | ActionSequenceType | Registers installed fonts with the system. |
| RegisterMIMEInfo | ActionSequenceType | Registers MIME-related registry information with the system. |
| RegisterProduct | ActionSequenceType | Registers the product information with the installer. |
| RegisterProgIdInfo | ActionSequenceType | Manages the registration of OLE ProgId information with the system. |
| RegisterTypeLibraries | ActionSequenceType | Registers type libraries with the system. |
| RegisterUser | ActionSequenceType | Registers the user information with the installer to identify the user of a product. |
| RemoveDuplicateFiles | ActionSequenceType | Deletes files installed by the DuplicateFiles action. |
| RemoveEnvironmentStrings | ActionSequenceType | Modifies the values of environment variables. |
| RemoveExistingProducts | ActionModuleSequenceType | Goes through the product codes listed in the ActionProperty column of the Upgrade table and removes the products in sequence. |
| RemoveFiles | ActionSequenceType | Removes files previously installed by the InstallFiles action. |
| RemoveFolders | ActionSequenceType | Removes any folders linked to components set to be removed or run from source. |
| RemoveIniValues | ActionSequenceType | 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 | Removes the data sources, translators, and drivers listed for removal during the installation. |
| RemoveRegistryValues | ActionSequenceType | 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 | 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 | Determines the location of the source and sets the SourceDir property if the source has not been resolved yet. |
| RMCCPSearch | ActionModuleSequenceType | Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed. |
| ScheduleReboot | ActionModuleSequenceType | Prompts the user to restart the system at the end of installation. |
| SelfRegModules | ActionSequenceType | Processes all modules listed in the SelfReg table and registers all installed modules with the system. |
| SelfUnregModules | ActionSequenceType | Unregisters all modules listed in the SelfReg table that are scheduled to be uninstalled. |
| SetODBCFolders | ActionSequenceType | Checks for existing ODBC drivers and sets the target directory for each new driver to the location of an existing driver. |
| StartServices | ActionSequenceType | Starts system services. |
| StopServices | ActionSequenceType | Stops system services. |
| UnpublishComponents | ActionSequenceType | Manages the unadvertisement of components listed in the PublishComponent table. |
| UnpublishFeatures | ActionSequenceType | Removes selection-state and feature-component mapping information from the registry. |
| UnregisterClassInfo | ActionSequenceType | Manages the removal of COM class information from the system registry. |
| UnregisterComPlus | ActionSequenceType | Removes COM+ applications from the registry. |
| UnregisterExtensionInfo | ActionSequenceType | Manages the removal of extension-related information from the system registry. |
| UnregisterFonts | ActionSequenceType | Removes registration information about installed fonts from the system. |
| UnregisterMIMEInfo | ActionSequenceType | Unregisters MIME-related registry information from the system. |
| UnregisterProgIdInfo | ActionSequenceType | Manages the unregistration of OLE ProgId information with the system. |
| UnregisterTypeLibraries | ActionSequenceType | Unregisters type libraries from the system. |
| ValidateProductID | ActionSequenceType | Sets the ProductID property to the full product identifier. |
| WriteEnvironmentStrings | ActionSequenceType | Modifies the values of environment variables. |
| WriteIniValues | ActionSequenceType | Writes the .ini file information that the application needs written to its .ini files. |
| WriteRegistryValues | ActionSequenceType | Sets up an application's registry information. |
Copies files specified in the File table from the source directory to the destination directory.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Marks the end of a sequence of actions that change the system.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Marks the beginning of a sequence of actions that change the system.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Installs the drivers, translators, and data sources in the ODBCDriver table, ODBCTranslator table, and ODBCDataSource table.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Registers a service for the system.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Restricting anyType
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| AppSearch | ActionModuleSequenceType | Uses file signatures to search for existing versions of products. |
| CCPSearch | ActionModuleSequenceType | Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed. |
| CostFinalize | ActionSequenceType | Ends the internal installation costing process begun by the CostInitialize action. |
| CostInitialize | ActionSequenceType | Initiates the internal installation costing process. |
| Custom | string (extension) | Use to sequence a custom action. |
| ExecuteAction | ActionSequenceType | Initiates the execution sequence. |
| FileCost | ActionSequenceType | Initiates dynamic costing of standard installation actions. |
| FindRelatedProducts | ActionModuleSequenceType | 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 | 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 | Queries the LaunchCondition table and evaluates each conditional statement recorded there. |
| MigrateFeatureStates | ActionSequenceType | Used for upgrading or installing over an existing application. |
| ResolveSource | ActionModuleSequenceType | Determines the location of the source and sets the SourceDir property if the source has not been resolved yet. |
| RMCCPSearch | ActionModuleSequenceType | Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed. |
| ScheduleReboot | ActionModuleSequenceType | Prompts the user to restart the system at the end of installation. |
| Show | string (extension) | |
| ValidateProductID | ActionSequenceType | Sets the ProductID property to the full product identifier. |
Verifies that all costed volumes have enough space for the installation.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Defines an instance transform for your product.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | The identity of the instance transform. |
| ProductCode | string | The ProductCode for this instance. |
| ProductName | string | The ProductName for this instance. |
Always empty.
Use this element to contain definitions for instance transforms.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Property | string | The Id of the Property who's value should change for each instance. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| Instance | anyType (restriction) | Defines an instance transform for your product. |
COM Interface registration for parent Typelib.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | Guid | GUID identifier for COM Interface. |
| Name | string | Name for COM Interface. |
| ProxyStubClassId | Guid | GUID CLSID for proxy stub to COM Interface. |
| ProxyStubClassId32 | Guid | GUID CLSID for 32-bit proxy stub to COM Interface. |
| NumMethods | integer | Number of methods implemented on COM Interface. |
| Versioned | YesNoType | Determines whether a Typelib version entry should be created with the other COM Interface registry keys. |
Always empty.
Shared Component to be privately replicated in folder of parent Component
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Shared | string | Shared Component for this application Component. |
Always empty.
Installs a copy of a component (commonly a shared DLL) into a private location for use by a specific application (typically an .exe).
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
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.
Queries the LaunchCondition table and evaluates each conditional statement recorded there.
| Name | Type | Description |
|---|---|---|
| After | string | The name of an action that this action should come after. |
| Before | string | The name of an action that this action should come before. |
| Overridable | YesNoType | If "yes", the sequencing of this action may be overridden by sequencing elsewhere. |
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
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.
Set of items for a particular ListBox control tied to an install Property
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Property | string | Property tied to this group |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| ListItem | anyType (restriction) | The value (and optional text) associated with an item in a ComboBox, ListBox, or ListView. |
The value (and optional text) associated with an item in a ComboBox, ListBox, or ListView.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Value | string | The value assigned to the associated ComboBox, ListBox, or ListView property if this item is selected. |
| Text | string | The localizable, visible text to be assigned to the item. |
| Icon | string | The identifier of the Binary (not Icon) element containing the icon to associate with this item. |
Always empty.
Set of items for a particular ListView control tied to an install Property
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Property | string | Property tied to this group |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| ListItem | anyType (restriction) | The value (and optional text) associated with an item in a ComboBox, ListBox, or ListView. |
Media element describes a disk that makes up the source media for the installation.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | integer | Disk identifier for Media table. |
| Cabinet | string | The name of the cabinet if some or all of the files stored on the media are in a cabinet file. |
| CompressionLevel | NMTOKEN (restriction) | Indicates the compression level for the Media's cabinet. |
| DiskPrompt | string | The disk name, which is usually the visible text printed on the disk. |
| EmbedCab | YesNoType | Instructs the binder to embed the cabinet in the product if 'yes'. |
| Layout | string | This attribute specifies the root directory for the uncompressed files that are a part of this Media element. |
| src | string | |
| VolumeLabel | string | The label attributed to the volume. |
| Source | string | Optional property that identifies the source of the embedded cabinet. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| DigitalSignature | anyType (restriction) | Adds a digital signature. |
| PatchBaseline | anyType (restriction) | Identifies a set of product versions. |
| SymbolPath | anyType (restriction) | A path to symbols. |
Merge directive to bring in a merge module that will be redirected to the parent directory.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | The unique identifier for the Merge element in the source code. |
| DiskId | string | The value of this attribute should correspond to the Id attribute of a Media element authored elsewhere. |
| FileCompression | YesNoType | Specifies if the files in the merge module should be compressed. |
| Language | LocalizableInteger | Specifies the decimal LCID or localization token for the language to merge the Module in as. |
| SourceFile | string | Path to the source location of the merge module. |
| src | string |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| ConfigurationData | anyType (restriction) | Data to use as input to a configurable merge module. |
Merge reference to connect a Merge Module to parent Feature
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | The unique identifier for the Merge element to be referenced. |
| Primary | YesNoType | Specifies whether the feature containing this MergeRef is the primary feature for advertising the merge module's components. |
Always empty.
Used for upgrading or installing over an existing application.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
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.
MIME content-type for an Extension
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Advertise | YesNoType | Whether this MIME is to be advertised. |
| ContentType | string | This is the identifier for the MIME content. |
| Class | Guid | Class ID for the COM server that is to be associated with the MIME content. |
| Default | YesNoType | If 'yes', become the content type for the parent Extension. |
Always empty.
The Module element is analogous to the main function in a C program.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | The name of the merge module (not the file name). |
| Codepage | string | The code page integer value or web name for the resulting MSM. |
| Guid | Guid | This attribute is deprecated. Use the Package/@Id instead. |
| Language | LocalizableInteger | The decimal language ID (LCID) of the merge module. |
| Version | string | The major and minor versions of the merge module. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| Package | anyType (restriction) | Properties about the package to be placed in the Summary Information Stream. |
| any | Allow any element from the ##other namespace. |
|
| AppId | anyType (restriction) | Application ID containing DCOM information for the associated application GUID. |
| Binary | anyType (restriction) | Binary data used for CustomAction elements and UI controls. |
| Component | anyType (restriction) | Component for parent Directory |
| ComponentGroupRef | anyType (restriction) | Create a reference to a ComponentGroup in another Fragment. |
| ComponentRef | anyType (restriction) | Create a reference to a Feature element in another Fragment. |
| Configuration | anyType (restriction) | Defines the configurable attributes of merge module. |
| CustomAction | string (extension) | Specifies a custom action to be added to the MSI CustomAction table. |
| CustomActionRef | anyType (restriction) | This will cause the entire contents of the Fragment containing the referenced CustomAction to be included in the installer database. |
| CustomTable | anyType (restriction) | Defines a custom table for use from a custom action. |
| Dependency | anyType (restriction) | Declares a dependency on another merge module. |
| Directory | anyType (restriction) | Directory layout for the product. |
| DirectoryRef | anyType (restriction) | Create a reference to a Directory element in another Fragment. |
| EmbeddedChainer | string (extension) | |
| EmbeddedChainerRef | anyType (restriction) | Reference to an EmbeddedChainer element. |
| EnsureTable | anyType (restriction) | Use this element to ensure that a table appears in the installer database, even if its empty. |
| Exclusion | anyType (restriction) | Declares a merge module with which this merge module is incompatible. |
| Icon | anyType (restriction) | Icon used for Shortcut, ProgId, or Class elements (but not UI controls) |
| IgnoreModularization | anyType (restriction) | This element has been deprecated. |
| IgnoreTable | anyType (restriction) | Specifies a table from the merge module that is not merged into an .msi file. |
| Property | anyType (restriction) | Property value for a Product or Module. |
| PropertyRef | anyType (restriction) | Reference to a Property value. |
| InstallExecuteSequence | anyType (restriction) | |
| InstallUISequence | anyType (restriction) | |
| AdminExecuteSequence | anyType (restriction) | |
| AdminUISequence | anyType (restriction) | |
| AdvertiseExecuteSequence | anyType (restriction) | |
| SetDirectory | string (extension) | Sets a Directory to a particular value. |
| SetProperty | string (extension) | Sets a Property to a particular value. |
| SFPCatalog | anyType (restriction) | Adds a system file protection update catalog file |
| Substitution | anyType (restriction) | Specifies the configurable fields of a module database and provides a template for the configuration of each field. |
| UI | anyType (restriction) | Enclosing element to compartmentalize UI specifications. |
| UIRef | anyType (restriction) | Reference to a UI element. This will force the entire referenced Fragment's contents to be included in the installer database. |
| WixVariable | anyType (restriction) | This element exposes advanced WiX functionality. |
When linking, only one Module section can be given to the linker to produce a successful result. Using this element creates an msm file.
Locates existing files on the system and moves or copies those files to a new location.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Manages the advertisement of CLR and Win32 assemblies.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Manages the unadvertisement of CLR and Win32 assemblies that are being removed.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Use several of these elements to specify each registry value in a multiString registry value.
Type anyType
Always empty.
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.
ODBCDataSource for a Component
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Identifier of the data source. |
| Name | string | Name for the data source. |
| DriverName | string | Required if not found as child of ODBCDriver element |
| Registration | NMTOKEN (restriction) | Scope for which the data source should be registered. |
| KeyPath | YesNoType | Set 'yes' to force this file to be key path for parent Component |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| Property | anyType (restriction) | Property value for a Product or Module. |
ODBCDriver for a Component
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Identifier for the driver. |
| Name | string | Name for the driver. |
| File | string | Required if not found as child of File element |
| SetupFile | string | Required if not found as child of File element or different from File attribute above |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| Property | anyType (restriction) | Property value for a Product or Module. |
| ODBCDataSource | anyType (restriction) | ODBCDataSource for a Component |
ODBCTranslator for a Component
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Identifier for the translator. |
| Name | string | Name for the translator. |
| File | string | Required if not found as child of File element |
| SetupFile | string | Required if not found as child of File element or different from File attribute above |
Always empty.
Indicates whether custom actions can be skipped when applying the patch.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| SkipAssignment | YesNoType | Skip property (type 51) and directory (type 35) assignment custom actions. |
| SkipImmediate | YesNoType | Skip immediate custom actions that are not property or directory assignment custom actions. |
| SkipDeferred | YesNoType | Skip custom actions that run within the script. |
Always empty.
Properties about the package to be placed in the Summary Information Stream.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | AutogenGuid | The package code GUID for a product or merge module. |
| AdminImage | YesNoType | Set to 'yes' if the source is an admin image. |
| Comments | string | Optional comments for browsing. |
| Compressed | YesNoType | Set to 'yes' to have compressed files in the source. |
| Description | string | The product full name or description. |
| InstallPrivileges | NMTOKEN (restriction) | Use this attribute to specify the priviliges required to install the package on Windows Vista and above. |
| InstallScope | NMTOKEN (restriction) | Use this attribute to specify the installation scope of this package: per-machine or per-user. |
| InstallerVersion | integer | The minimum version of the Windows Installer required to install this package. |
| Keywords | string | Optional keywords for browsing. |
| Languages | string | The list of language IDs (LCIDs) supported in the package. |
| Manufacturer | string | The vendor releasing the package. |
| Platforms | string | |
| Platform | NMTOKEN (restriction) | The platform supported by the package. |
| ReadOnly | YesNoDefaultType | The value of this attribute conveys whether the package should be opened as read-only. |
| ShortNames | YesNoType | Set to 'yes' to have short filenames in the source. |
| SummaryCodepage | string | The code page integer value or web name for summary info strings only. |
Always empty.
These are visible from COM through the IStream interface, and these properties can be seen on the package in Explorer.
The Patch element is analogous to the main function in a C program.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | AutogenGuid | Patch code for this patch. |
| Codepage | string | The code page integer value or web name for the resulting MSP. |
| AllowRemoval | YesNoType | Whether this is an uninstallable patch. |
| Classification | PatchClassificationType | Category of updates. |
| ClientPatchId | string | An easily referenced identity unique to a patch that can be used in product authoring. |
| ApiPatchingSymbolNoImagehlpFlag | YesNoType | Flag used when creating a binary file patch. |
| ApiPatchingSymbolNoFailuresFlag | YesNoType | Flag used when creating a binary file patch. |
| ApiPatchingSymbolUndecoratedTooFlag | YesNoType | Flag used when creating a binary file patch. |
| Description | string | Description of the patch. |
| DisplayName | string | A title for the patch that is suitable for public display. |
| Manufacturer | string | Vendor releasing the package |
| MinorUpdateTargetRTM | YesNoType | Indicates that the patch targets the RTM version of the product or the most recent major upgrade patch. |
| MoreInfoURL | string | A URL that provides information specific to this patch. |
| OptimizedInstallMode | YesNoType | 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 | Name of the application or target product suite. |
| OptimizePatchSizeForLargeFiles | YesNoType | When this attribute is set, patches for files greater than approximately 4 MB in size may be made smaller. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| any | Allow any element from the ##other namespace. |
|
| Media | anyType (restriction) | Media element describes a disk that makes up the source media for the installation. |
| OptimizeCustomActions | anyType (restriction) | Indicates whether custom actions can be skipped when applying the patch. |
| PatchFamily | anyType (restriction) | Collection of items that should be kept from the differences between two products. |
| PatchFamilyRef | anyType (restriction) | 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) | A property for this patch database. |
When linking, only one Patch section can be given to the linker to produce a successful result. Using this element creates an MSP file.
Identifies a set of product versions.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Identifier for a set of product versions. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| Validate | anyType (restriction) | 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. |
Identifies the possible signer certificates used to digitally sign patches.
Restricting anyType
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| DigitalCertificate | anyType (restriction) | Adds a digital certificate. |
The PatchCreation element is analogous to the main function in a C program.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | Guid | PatchCreation identifier; this is the primary key for identifying patches. |
| AllowMajorVersionMismatches | YesNoType | Use this to set whether the major versions between the upgrade and target images match. |
| AllowProductCodeMismatches | YesNoType | Use this to set whether the product code between the upgrade and target images match. |
| CleanWorkingFolder | YesNoType | Use this to set whether Patchwiz should clean the temp folder when finished. |
| Codepage | string | The code page integer value or web name for the resulting PCP. |
| OutputPath | string | The full path, including file name, of the patch package file that is to be generated. |
| SourceList | string | Used to locate the .msp file for the patch if the cached copy is unavailable. |
| SymbolFlags | int | An 8-digit hex integer representing the combination of patch symbol usage flags to use when creating a binary file patch. |
| WholeFilesOnly | YesNoType | Use this to set whether changing files should be included in their entirety. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| PatchInformation | anyType (restriction) | Properties about the patch to be placed in the Summary Information Stream. |
| PatchMetadata | anyType (restriction) | Properties about the patch to be placed in the PatchMetadata table. |
| Family | anyType (restriction) | Group of one or more upgraded images of a product. |
| PatchProperty | anyType (restriction) | A property for this patch database. |
| PatchSequence | anyType (restriction) | Sequence information for this patch database. |
| ReplacePatch | anyType (restriction) | A patch that is deprecated by this patch. |
| TargetProductCode | anyType (restriction) | A product code for a product that may receive this patch (or '*' for all products). |
When linking, only one PatchCreation section can be given to the linker to produce a successful result. Using this element creates a pcp file.
Collection of items that should be kept from the differences between two products.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Identifier which indicates a sequence family to which this patch belongs. |
| ProductCode | Guid | Specifies the ProductCode of the product that this family applies to. |
| Version | string | Used to populate the sequence column of the MsiPatchSequence table in the final MSP file. |
| Supersede | YesNoType | Set this value to 'yes' to indicate that this patch will supersede all previous patches in this patch family. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| any | Allow any element from the ##other namespace. |
|
| BinaryRef | anyType (restriction) | Used only for PatchFamilies to include only a binary table entry in a patch. |
| ComponentRef | anyType (restriction) | Create a reference to a Feature element in another Fragment. |
| CustomActionRef | anyType (restriction) | This will cause the entire contents of the Fragment containing the referenced CustomAction to be included in the installer database. |
| DirectoryRef | anyType (restriction) | Create a reference to a Directory element in another Fragment. |
| FeatureRef | anyType (restriction) | Create a reference to a Feature element in another Fragment. |
| IconRef | anyType (restriction) | Used only for PatchFamilies to include only a icon table entry in a patch. |
| PropertyRef | anyType (restriction) | Reference to a Property value. |
| UIRef | anyType (restriction) | Reference to a UI element. This will force the entire referenced Fragment's contents to be included in the installer database. |
This will cause the entire contents of the Fragment containing the referenced PatchFamily to be used in the process of creating a patch.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | The identifier of the CustomAction to reference. |
Always empty.
Queries the Patch table to determine which patches are to be applied.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Properties about the patch to be placed in the Summary Information Stream.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Description | string | Product full name or description |
| Platforms | string | List of platforms supported in package |
| Languages | string | List of language IDs supported in package |
| Manufacturer | string | Vendor releasing the package |
| Keywords | string | Optional keywords for browsing |
| Comments | string | Optional comments for browsing |
| ReadOnly | YesNoDefaultType | The value of this attribute conveys whether the package should be opened as read-only. |
| SummaryCodepage | string | The code page integer value or web name for summary info strings only. |
| ShortNames | YesNoType | Short filenames on source |
| Compressed | YesNoType | Compressed files on source |
| AdminImage | YesNoType | Source is an admin image |
Always empty.
These are visible from COM through the IStream interface, and these properties can be seen on the package in Explorer.
Properties about the patch to be placed in the PatchMetadata table.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| AllowRemoval | YesNoType | Whether this is an uninstallable patch. |
| Classification | PatchClassificationType | Category of update. |
| CreationTimeUTC | string | Creation time of the .msp file in the form mm-dd-yy HH:MM (month-day-year hour:minute). |
| Description | string | Description of the patch. |
| DisplayName | string | A title for the patch that is suitable for public display. |
| ManufacturerName | string | Name of the manufacturer. |
| MinorUpdateTargetRTM | string | Indicates that the patch targets the RTM version of the product or the most recent major upgrade patch. |
| MoreInfoURL | string | A URL that provides information specific to this patch. |
| OptimizedInstallMode | YesNoType | 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 | Name of the application or target product suite. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| CustomProperty | anyType (restriction) | A custom property for the PatchMetadata table. |
| OptimizeCustomActions | anyType (restriction) | Indicates whether custom actions can be skipped when applying the patch. |
A property for this patch database.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Company | string | Name of the company for a custom metadata property. |
| Name | string | Name of the patch property. |
| Value | string | Value of the patch property. |
Always empty.
Sequence information for this patch database.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| PatchFamily | string | Identifier which indicates a sequence family to which this patch belongs. |
| ProductCode | Guid | Specifies the ProductCode of the product that this family applies to. |
| Sequence | string | Used to populate the sequence column of the MsiPatchSequence table in the final MSP file. |
| Supersede | YesNoType | Set this value to 'yes' to indicate that this patch will supersede all previous patches in this patch family. |
| Target | string | |
| TargetImage | string | Specifies the TargetImage that this family applies to. |
Always empty.
Sequence information is generated automatically in most cases, and rarely needs to be set explicitly.
Sets ACLs on File, Registry, or CreateFolder.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Domain | string | |
| User | string | |
| Read | YesNoType | |
| Delete | YesNoType | |
| ReadPermission | YesNoType | |
| ChangePermission | YesNoType | |
| TakeOwnership | YesNoType | |
| ReadAttributes | YesNoType | |
| WriteAttributes | YesNoType | |
| ReadExtendedAttributes | YesNoType | |
| WriteExtendedAttributes | YesNoType | |
| Synchronize | YesNoType | |
| CreateFile | YesNoType | For a directory, the right to create a file in the directory. |
| CreateChild | YesNoType | For a directory, the right to create a subdirectory. |
| DeleteChild | YesNoType | For a directory, the right to delete a directory and all the files it contains, including read-only files. |
| Traverse | YesNoType | For a directory, the right to traverse the directory. |
| Append | YesNoType | |
| Execute | YesNoType | |
| Write | YesNoType | |
| CreateSubkeys | YesNoType | |
| EnumerateSubkeys | YesNoType | |
| Notify | YesNoType | |
| CreateLink | YesNoType | |
| GenericAll | YesNoType | |
| GenericExecute | YesNoType | |
| GenericWrite | YesNoType | |
| GenericRead | YesNoType | specifying this will fail to grant read access |
Always empty.
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.
Registers and unregisters components, their key paths, and the component clients.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
The Product element is analogous to the main function in a C program.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | AutogenGuid | The product code GUID for the product. |
| Codepage | string | The code page integer value or web name for the resulting MSI. See remarks for more information. |
| Language | LocalizableInteger | The decimal language ID (LCID) for the product. |
| Manufacturer | string | The manufacturer of the product. |
| Name | string | The descriptive name of the product. |
| UpgradeCode | Guid | The upgrade code GUID for the product. |
| Version | string | The product's version string. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| Package | anyType (restriction) | Properties about the package to be placed in the Summary Information Stream. |
| any | Allow any element from the ##other namespace. |
|
| AppId | anyType (restriction) | Application ID containing DCOM information for the associated application GUID. |
| Binary | anyType (restriction) | Binary data used for CustomAction elements and UI controls. |
| ComplianceCheck | anyType (restriction) | Adds a row to the CCPSearch table. |
| Component | anyType (restriction) | Component for parent Directory |
| ComponentGroup | anyType (restriction) | Groups together multiple components to be used in other locations. |
| Condition | string (extension) | Conditions for components, controls, features, and products. |
| CustomAction | string (extension) | Specifies a custom action to be added to the MSI CustomAction table. |
| CustomActionRef | anyType (restriction) | This will cause the entire contents of the Fragment containing the referenced CustomAction to be included in the installer database. |
| CustomTable | anyType (restriction) | Defines a custom table for use from a custom action. |
| Directory | anyType (restriction) | Directory layout for the product. |
| DirectoryRef | anyType (restriction) | Create a reference to a Directory element in another Fragment. |
| EmbeddedChainer | string (extension) | |
| EmbeddedChainerRef | anyType (restriction) | Reference to an EmbeddedChainer element. |
| EnsureTable | anyType (restriction) | Use this element to ensure that a table appears in the installer database, even if its empty. |
| Feature | anyType (restriction) | A feature for the Feature table. |
| FeatureGroupRef | anyType (restriction) | Create a reference to a FeatureGroup in another Fragment. |
| FeatureRef | anyType (restriction) | Create a reference to a Feature element in another Fragment. |
| Icon | anyType (restriction) | Icon used for Shortcut, ProgId, or Class elements (but not UI controls) |
| InstanceTransforms | anyType (restriction) | Use this element to contain definitions for instance transforms. |
| Media | anyType (restriction) | Media element describes a disk that makes up the source media for the installation. |
| PatchCertificates | anyType (restriction) | Identifies the possible signer certificates used to digitally sign patches. |
| Property | anyType (restriction) | Property value for a Product or Module. |
| PropertyRef | anyType (restriction) | Reference to a Property value. |
| InstallExecuteSequence | anyType (restriction) | |
| InstallUISequence | anyType (restriction) | |
| AdminExecuteSequence | anyType (restriction) | |
| AdminUISequence | anyType (restriction) | |
| AdvertiseExecuteSequence | anyType (restriction) | |
| SetDirectory | string (extension) | Sets a Directory to a particular value. |
| SetProperty | string (extension) | Sets a Property to a particular value. |
| SFPCatalog | anyType (restriction) | Adds a system file protection update catalog file |
| SymbolPath | anyType (restriction) | A path to symbols. |
| UI | anyType (restriction) | Enclosing element to compartmentalize UI specifications. |
| UIRef | anyType (restriction) | Reference to a UI element. This will force the entire referenced Fragment's contents to be included in the installer database. |
| Upgrade | anyType (restriction) | Upgrade info for a particular UpgradeCode |
| WixVariable | anyType (restriction) | This element exposes advanced WiX functionality. |
When linking, only one Product section can be given to the linker to produce a successful result. Using this element creates an msi file.
ProgId registration for parent Component.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | |
| Description | string | |
| Icon | string | For an advertised ProgId, the Id of an Icon element. |
| IconIndex | integer | |
| Advertise | YesNoType | |
| NoOpen | string | Specifies that the associated ProgId should not be opened by users. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| ProgId | anyType (restriction) | ProgId registration for parent Component. |
| Extension | anyType (restriction) | Extension for a Component |
If ProgId has an associated Class, it must be a child of that element.
Extending string
| Name | Type | Description |
|---|---|---|
| Action | string | |
| Template | string | used to format ActionData messages from action processing |
Contains text only.
Property value for a Product or Module.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Unique identifier for Property. |
| Value | string | Sets a default value for the property. The value will be overwritten if the Property is used for a search. |
| ComplianceCheck | YesNoType | Adds a row to the CCPSearch table. This attribute is only valid when this Property contains a search element. |
| Admin | YesNoType | Denotes that the Property is saved during |
| Secure | YesNoType | Denotes that the Property can be passed to the server side when doing a managed installation with elevated privileges. |
| Hidden | YesNoType | Denotes that the Property is not logged during installation. |
| SuppressModularization | YesNoType | Use to suppress modularization of this property identifier in merge modules. |
Can contain a mix of text and the elements defined in the following table.
| Component | Type | Description |
|---|---|---|
| any | Allow any element from the ##other namespace. |
|
| ComplianceDrive | anyType (restriction) | Sets the parent of a nested DirectorySearch element to CCP_DRIVE. |
| ComponentSearch | anyType (restriction) | Searches for file or directory and assigns to value of parent Property. |
| RegistrySearch | anyType (restriction) | Searches for file, directory or registry key and assigns to value of parent Property |
| RegistrySearchRef | anyType (restriction) | References an existing RegistrySearch element. |
| IniFileSearch | anyType (restriction) | Searches for file, directory or registry key and assigns to value of parent Property |
| DirectorySearch | anyType (restriction) | Searches for directory and assigns to value of parent Property. |
| DirectorySearchRef | anyType (restriction) | References an existing DirectorySearch element. |
Reference to a Property value.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Identifier of Property to reference. |
Always empty.
Specifies a file to be protected.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| File | string | Foreign key into the File table. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| ProtectRange | anyType (restriction) | Specifies part of a file that cannot be overwritten during patching. |
Specifies part of a file that cannot be overwritten during patching.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Offset | int | Offset of the start of the range. |
| Length | int | Length of the range. |
Always empty.
Extending string
| Name | Type | Description |
|---|---|---|
| Control | string | The parent Control for this Publish element, should only be specified when this element is a child of the UI element. |
| Dialog | string | The parent Dialog for this Publish element, should only be specified when this element is a child of the UI element. |
| Event | string | Set this attribute's value to one of the standard control events to trigger that event. |
| Order | string | 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 | Set this attribute's value to a property name to set that property. |
| Value | string | If the Property attribute is specified, set the value of this attribute to the new value for the property. |
Contains text only.
Manages the advertisement of the components from the PublishComponent table.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Writes each feature's state into the system registry.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Manages the advertisement of the product information with the system.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Text or Icon plus Value that is assigned to the Property of the parent Control (RadioButtonGroup).
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Bitmap | string | This attribute defines the bitmap displayed with the radio button. |
| Height | LocalizableInteger | |
| Help | string | |
| Icon | string | This attribute defines the icon displayed with the radio button. |
| Text | string | Text displayed with the radio button. |
| ToolTip | string | |
| Value | string | Value assigned to the associated control Property when this radio button is selected. |
| Width | LocalizableInteger | |
| X | LocalizableInteger | |
| Y | LocalizableInteger |
Always empty.
Set of radio buttons tied to the specified Property
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Property | string | Property tied to this group. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| RadioButton | anyType (restriction) | Text or Icon plus Value that is assigned to the Property of the parent Control (RadioButtonGroup). |
Manages the registration of COM class information with the system.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Registers COM+ applications.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Manages the registration of extension related information with the system.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Registers installed fonts with the system.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Registers MIME-related registry information with the system.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Registers the product information with the installer.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Manages the registration of OLE ProgId information with the system.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Registers type libraries with the system.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Registers the user information with the installer to identify the user of a product.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Primary key used to identify this particular entry. |
| Action | NMTOKEN (restriction) | This is the action that will be taken for this registry key. |
| Key | string | The localizable key for the registry value. |
| KeyPath | YesNoType | Set this attribute to 'yes' to make this registry key the KeyPath of the parent component. |
| Name | string | The localizable registry value name. |
| Root | RegistryRootType | The predefined root key for the registry value. |
| Type | NMTOKEN (restriction) | Set this attribute to the type of the desired registry key. |
| Value | string | Set this attribute to the localizable registry value. This value is formatted. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| any | Allow any element from the ##other namespace. |
|
| Permission | anyType (restriction) | Sets ACLs on File, Registry, or CreateFolder. |
| Registry | anyType (restriction) | |
| RegistryValue | anyType (restriction) | Used to create a registry value. For multi-string values, this can be used to prepend or append values. |
Used for organization of child RegistryValue elements or to create a registry key (and optionally remove it during uninstallation).
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Primary key used to identify this particular entry. |
| Action | NMTOKEN (restriction) | This is the action that will be taken for this registry value. |
| Key | string | The localizable key for the registry value. |
| Root | RegistryRootType | The predefined root key for the registry value. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| any | Allow any element from the ##other namespace. |
|
| Permission | anyType (restriction) | Sets ACLs on File, Registry, or CreateFolder. |
| RegistryKey | anyType (restriction) | Used for organization of child RegistryValue elements or to create a registry key (and optionally remove it during uninstallation). |
| RegistryValue | anyType (restriction) | Used to create a registry value. For multi-string values, this can be used to prepend or append values. |
Searches for file, directory or registry key and assigns to value of parent Property
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Signature to be used for the file, directory or registry key being searched for. |
| Root | NMTOKEN (restriction) | Root key for the registry value. |
| Key | string | Key for the registry value. |
| Name | string | Registry value name. |
| Type | NMTOKEN (restriction) | The value must be 'file' if the last child is a FileSearch element and must be 'directory' if last child is a DirectorySearch element. |
| Win64 | YesNoType | Instructs the search to look in the 64-bit registry when the value is 'yes'. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| DirectorySearch | anyType (restriction) | Searches for directory and assigns to value of parent Property. |
| DirectorySearchRef | anyType (restriction) | References an existing DirectorySearch element. |
| FileSearch | anyType (restriction) | Searches for file and assigns to fullpath value of parent Property |
| FileSearchRef | anyType (restriction) | References an existing FileSearch element. |
References an existing RegistrySearch element.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Specify the Id of the RegistrySearch to reference. |
Always empty.
Used to create a registry value. For multi-string values, this can be used to prepend or append values.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Primary key used to identify this particular entry. |
| Root | RegistryRootType | The predefined root key for the registry value. |
| Key | string | The localizable key for the registry value. |
| Name | string | The localizable registry value name. |
| Value | string | Set this attribute to the localizable registry value. |
| Type | NMTOKEN (restriction) | Set this attribute to the type of the desired registry key. |
| Action | NMTOKEN (restriction) | This is the action that will be taken for this registry value. |
| KeyPath | YesNoType | Set this attribute to 'yes' to make this registry key the KeyPath of the parent component. |
Can contain a mix of text and the elements defined in the following table.
| Component | Type | Description |
|---|---|---|
| any | Allow any element from the ##other namespace. |
|
| MultiStringValue | anyType | Use several of these elements to specify each registry value in a multiString registry value. |
| Permission | anyType (restriction) | Sets ACLs on File, Registry, or CreateFolder. |
For legacy authoring: 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 RegistryValue element.
Deletes files installed by the DuplicateFiles action.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Modifies the values of environment variables.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Goes through the product codes listed in the ActionProperty column of the Upgrade table and removes the products in sequence.
| Name | Type | Description |
|---|---|---|
| After | string | The name of an action that this action should come after. |
| Before | string | The name of an action that this action should come before. |
| Overridable | YesNoType | If "yes", the sequencing of this action may be overridden by sequencing elsewhere. |
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
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.
Remove a file(s) if the parent component is selected for installation or removal.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Primary key used to identify this particular entry. |
| Directory | string | Overrides the directory of the parent component with a specific Directory. |
| Property | string | Overrides the directory of the parent component with the value of the specified property. |
| Name | WildCardLongFileNameType | This value should be set to the localizable name of the file(s) to be removed. |
| LongName | WildCardLongFileNameType | |
| ShortName | WildCardShortFileNameType | The short file name of the file in 8.3 format. |
| On | NMTOKEN (restriction) | This value determines the time at which the file(s) may be removed. |
Always empty.
Multiple files can be removed by specifying a wildcard for the value of the Name attribute. By default, the source directory of the file is the directory of the parent component. This can be overridden by specifying the Directory attribute with a value corresponding to the Id of the source directory, or by specifying the Property attribute with a value corresponding to a property that will have a value that resolves to the full path to the source directory.
Removes files previously installed by the InstallFiles action.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Remove an empty folder if the parent component is selected for installation or removal.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Primary key used to identify this particular entry. |
| Directory | string | Overrides the directory of the parent component with a specific Directory. |
| Property | string | Overrides the directory of the parent component with the value of the specified property. |
| On | NMTOKEN (restriction) | This value determines the time at which the folder may be removed. |
Always empty.
By default, the folder is the directory of the parent component. This can be overridden by specifying the Directory attribute with a value corresponding to the Id of the directory, or by specifying the Property attribute with a value corresponding to a property that will have a value that resolves to the full path of the folder.
Removes any folders linked to components set to be removed or run from source.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Removes .ini file information specified for removal in the RemoveIniFile table if the component is set to be installed locally or run from source.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Removes the data sources, translators, and drivers listed for removal during the installation.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Used for removing registry keys and all child keys either during install or uninstall.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Primary key used to identify this particular entry. |
| Action | NMTOKEN (restriction) | This is the action that will be taken for this registry value. |
| Key | string | The localizable key for the registry value. |
| Root | RegistryRootType | The predefined root key for the registry value. |
Always empty.
Used to remove a registry value during installation.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Primary key used to identify this particular entry. |
| Key | string | The localizable key for the registry value. |
| Name | string | The localizable registry value name. |
| Root | RegistryRootType | The predefined root key for the registry value. |
Always empty.
There is no standard way to remove a single registry value during uninstall (but you can remove an entire key with RemoveRegistryKey).
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.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Manages the removal of an advertised shortcut whose feature is selected for uninstallation or a nonadvertised shortcut whose component is selected for uninstallation.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
A patch that is deprecated by this patch.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | Guid | Patch GUID to be unregistered if it exists on the machine targeted by this patch. |
Always empty.
Disk cost to reserve in a folder for running locally and/or from source.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | A primary key that uniquely identifies this ReserveCost entry. |
| Directory | string | Adds the amount of disk space specified in RunFromSource or RunLocal to the volume cost of the device containing the directory. |
| RunFromSource | integer | The number of bytes of disk space to reserve if the component is installed to run from source. |
| RunLocal | integer | The number of bytes of disk space to reserve if the component is installed to run locally. |
Always empty.
Determines the location of the source and sets the SourceDir property if the source has not been resolved yet.
| Name | Type | Description |
|---|---|---|
| After | string | The name of an action that this action should come after. |
| Before | string | The name of an action that this action should come before. |
| Overridable | YesNoType | If "yes", the sequencing of this action may be overridden by sequencing elsewhere. |
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
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.
Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed.
| Name | Type | Description |
|---|---|---|
| After | string | The name of an action that this action should come after. |
| Before | string | The name of an action that this action should come before. |
| Overridable | YesNoType | If "yes", the sequencing of this action may be overridden by sequencing elsewhere. |
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The RMCCPSearch action should be authored into the InstallUISequence table and InstallExecuteSequence table. The installer prevents RMCCPSearch from running in the InstallExecuteSequence sequence if the action has already run in InstallUISequence sequence. The RMCCPSearch action requires the CCP_DRIVE property to be set to the root path on the removable volume that has the installation for any of the qualifying products. The condition for this action may be specified in the element's inner text.
Row data for a Custom Table
Restricting anyType
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| Data | string (extension) | Used for a Custom Table. Specifies the data for the parent Row and specified Column. |
Prompts the user to restart the system at the end of installation.
| Name | Type | Description |
|---|---|---|
| After | string | The name of an action that this action should come after. |
| Before | string | The name of an action that this action should come before. |
| Overridable | YesNoType | If "yes", the sequencing of this action may be overridden by sequencing elsewhere. |
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
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.
Processes all modules listed in the SelfReg table and registers all installed modules with the system.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Unregisters all modules listed in the SelfReg table that are scheduled to be uninstalled.
Type ActionSequenceType
| Name | Type | Description |
|---|---|---|
| Sequence | integer | A value used to indicate the position of this action in a sequence. |
| Suppress | YesNoType | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
Argument used in ServiceControl parent
Type string
Starts, stops, and removes services for parent Component.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | |
| Name | string | Name of the service. |
| Start | NMTOKEN (restriction) | Specifies whether the service should be started on install, uninstall or both. |
| Stop | NMTOKEN (restriction) | Specifies whether the service should be stopped on install, uninstall or both. |
| Remove | NMTOKEN (restriction) | Specifies whether the service should be removed on install, uninstall or both. |
| Wait | YesNoType | Specifies whether or not to wait for the service to complete before continuing. |
Contains elements as defined in the following table.
| Component | Type | Description |
|---|---|---|
| ServiceArgument | string | Argument used in ServiceControl parent |
This element is used to control the state
of a service installed by the MSI or MSM file by using the start, stop and remove attributes.
For example, Start='install' Stop='both' Remove='uninstall' would mean: start the service on install,
remove the service when the product is uninstalled, and stop the service both on install and uninstall.
Service or group of services that must start before the parent service.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | |
| Group | YesNoType | Set to 'yes' to indicate that the value in the Id attribute is the name of a group of services. |
Always empty.
Adds and removes services for parent Component.
Restricting anyType
| Name | Type | Description |
|---|---|---|
| Id | string | Unique identifier for this service. |
| Name | string | This column is the string that gives the service name to install. |
| DisplayName | string | This column is the localizable string that user interface programs use to identify the service. |
| Type |