Schema for describing Windows Installer database files (.msi/.msm/.pcp).
http://schemas.microsoft.com/wix/2006/wi
Copyright (c) Microsoft Corporation. All rights reserved.
The use and distribution terms for this software are covered by the Common Public License 1.0 (https://opensource.org/licenses/cpl1.0.php) which can be found in the file CPL.TXT at the root of this distribution. By using this software in any fashion, you are agreeing to be bound by the terms of this license.
You must not remove this notice, or any other, from this software.
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 | Occurs | Description |
---|---|---|---|
0..* | |||
CostFinalize | ActionSequenceType | 1..1 | Ends the internal installation costing process begun by the CostInitialize action. |
CostInitialize | ActionSequenceType | 1..1 | Initiates the internal installation costing process. |
Custom | string (extension) | 0..* | Use to sequence a custom action. |
FileCost | ActionSequenceType | 1..1 | Initiates dynamic costing of standard installation actions. |
InstallAdminPackage | ActionSequenceType | 1..1 | Copies the product database to the administrative installation point. The condition for this action may be specified in the element's inner text. |
InstallFiles | ActionSequenceType | 1..1 | Copies files specified in the File table from the source directory to the destination directory. |
InstallFinalize | ActionSequenceType | 1..1 | Marks the end of a sequence of actions that change the system. |
InstallInitialize | ActionSequenceType | 1..1 | Marks the beginning of a sequence of actions that change the system. |
InstallValidate | ActionSequenceType | 1..1 | Verifies that all costed volumes have enough space for the installation. |
LaunchConditions | ActionModuleSequenceType | 1..1 | Queries the LaunchCondition table and evaluates each conditional statement recorded there. |
ResolveSource | ActionModuleSequenceType | 0..1 | Determines the location of the source and sets the SourceDir property if the source has not been resolved yet. |
<xs:element name="AdminExecuteSequence">
<xs:annotation>
<xs:appinfo>
<xse:msiRef table="AdminExecuteSequence" href="http://msdn.microsoft.com/library/aa367540.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Custom" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Use to sequence a custom action.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="CostInitialize">
<xs:annotation>
<xs:documentation>Initiates the internal installation costing process.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="FileCost">
<xs:annotation>
<xs:documentation>Initiates dynamic costing of standard installation actions.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="CostFinalize">
<xs:annotation>
<xs:documentation>Ends the internal installation costing process begun by the CostInitialize action.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallValidate">
<xs:annotation>
<xs:documentation>Verifies that all costed volumes have enough space for the installation.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallInitialize">
<xs:annotation>
<xs:documentation>Marks the beginning of a sequence of actions that change the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallAdminPackage">
<xs:annotation>
<xs:documentation>Copies the product database to the administrative installation point.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallFiles">
<xs:annotation>
<xs:documentation>Copies files specified in the File table from the source directory to the destination directory.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallFinalize">
<xs:annotation>
<xs:documentation>Marks the end of a sequence of actions that change the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="LaunchConditions">
<xs:annotation>
<xs:documentation>Queries the LaunchCondition table and evaluates each conditional statement recorded there.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ResolveSource" minOccurs="0">
<xs:annotation>
<xs:documentation>Determines the location of the source and sets the SourceDir property if the source has not been resolved yet.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
Restricting anyType
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..* | |||
CostFinalize | ActionSequenceType | 1..1 | Ends the internal installation costing process begun by the CostInitialize action. |
CostInitialize | ActionSequenceType | 1..1 | Initiates the internal installation costing process. |
Custom | string (extension) | 0..* | Use to sequence a custom action. |
ExecuteAction | ActionSequenceType | 1..1 | Initiates the execution sequence. |
FileCost | ActionSequenceType | 1..1 | Initiates dynamic costing of standard installation actions. |
InstallAdminPackage | ActionSequenceType | 1..1 | Copies the product database to the administrative installation point. The condition for this action may be specified in the element's inner text. |
InstallFiles | ActionSequenceType | 1..1 | Copies files specified in the File table from the source directory to the destination directory. |
InstallFinalize | ActionSequenceType | 1..1 | Marks the end of a sequence of actions that change the system. |
InstallInitialize | ActionSequenceType | 1..1 | Marks the beginning of a sequence of actions that change the system. |
InstallValidate | ActionSequenceType | 1..1 | Verifies that all costed volumes have enough space for the installation. |
LaunchConditions | ActionModuleSequenceType | 1..1 | Queries the LaunchCondition table and evaluates each conditional statement recorded there. |
Show | string (extension) | 0..* | |
<xs:element name="AdminUISequence">
<xs:annotation>
<xs:appinfo>
<xse:msiRef table="AdminUISequence" href="http://msdn.microsoft.com/library/aa367544.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Custom" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Use to sequence a custom action.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="Show" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="CostInitialize">
<xs:annotation>
<xs:documentation>Initiates the internal installation costing process.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="FileCost">
<xs:annotation>
<xs:documentation>Initiates dynamic costing of standard installation actions.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="CostFinalize">
<xs:annotation>
<xs:documentation>Ends the internal installation costing process begun by the CostInitialize action.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ExecuteAction">
<xs:annotation>
<xs:documentation>Initiates the execution sequence.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallValidate">
<xs:annotation>
<xs:documentation>Verifies that all costed volumes have enough space for the installation.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallInitialize">
<xs:annotation>
<xs:documentation>Marks the beginning of a sequence of actions that change the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallAdminPackage">
<xs:annotation>
<xs:documentation>Copies the product database to the administrative installation point.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallFiles">
<xs:annotation>
<xs:documentation>Copies files specified in the File table from the source directory to the destination directory.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallFinalize">
<xs:annotation>
<xs:documentation>Marks the end of a sequence of actions that change the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="LaunchConditions">
<xs:annotation>
<xs:documentation>Queries the LaunchCondition table and evaluates each conditional statement recorded there.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
Restricting anyType
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..* | |||
CostFinalize | ActionSequenceType | 1..1 | Ends the internal installation costing process begun by the CostInitialize action. |
CostInitialize | ActionSequenceType | 1..1 | Initiates the internal installation costing process. |
CreateShortcuts | ActionSequenceType | 1..1 | Manages the creation of shortcuts. |
Custom | string (extension) | 0..* | Use to sequence a custom action. |
InstallFinalize | ActionSequenceType | 1..1 | Marks the end of a sequence of actions that change the system. |
InstallInitialize | ActionSequenceType | 1..1 | Marks the beginning of a sequence of actions that change the system. |
InstallValidate | ActionSequenceType | 1..1 | Verifies that all costed volumes have enough space for the installation. |
MsiPublishAssemblies | ActionSequenceType | 1..1 | Manages the advertisement of CLR and Win32 assemblies. |
PublishComponents | ActionSequenceType | 1..1 | Manages the advertisement of the components from the PublishComponent table. |
PublishFeatures | ActionSequenceType | 1..1 | Writes each feature's state into the system registry. |
PublishProduct | ActionSequenceType | 1..1 | Manages the advertisement of the product information with the system. |
RegisterClassInfo | ActionSequenceType | 1..1 | Manages the registration of COM class information with the system. |
RegisterExtensionInfo | ActionSequenceType | 1..1 | Manages the registration of extension related information with the system. |
RegisterMIMEInfo | ActionSequenceType | 1..1 | Registers MIME-related registry information with the system. |
RegisterProgIdInfo | ActionSequenceType | 1..1 | Manages the registration of OLE ProgId information with the system. |
<xs:element name="AdvertiseExecuteSequence">
<xs:annotation>
<xs:appinfo>
<xse:msiRef table="AdvtExecuteSequence" href="http://msdn.microsoft.com/library/aa367551.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="CostInitialize">
<xs:annotation>
<xs:documentation>Initiates the internal installation costing process.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="CostFinalize">
<xs:annotation>
<xs:documentation>Ends the internal installation costing process begun by the CostInitialize action.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="Custom" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Use to sequence a custom action. The only custom actions that are allowed in the AdvtExecuteSequence are type 19 (0x013) type 35 (0x023) and type 51 (0x033).</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallValidate">
<xs:annotation>
<xs:documentation>Verifies that all costed volumes have enough space for the installation.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallInitialize">
<xs:annotation>
<xs:documentation>Marks the beginning of a sequence of actions that change the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="CreateShortcuts">
<xs:annotation>
<xs:documentation>Manages the creation of shortcuts.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RegisterClassInfo">
<xs:annotation>
<xs:documentation>Manages the registration of COM class information with the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RegisterExtensionInfo">
<xs:annotation>
<xs:documentation>Manages the registration of extension related information with the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RegisterMIMEInfo">
<xs:annotation>
<xs:documentation>Registers MIME-related registry information with the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RegisterProgIdInfo">
<xs:annotation>
<xs:documentation>Manages the registration of OLE ProgId information with the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PublishComponents">
<xs:annotation>
<xs:documentation>Manages the advertisement of the components from the PublishComponent table.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PublishFeatures">
<xs:annotation>
<xs:documentation>Writes each feature's state into the system registry.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PublishProduct">
<xs:annotation>
<xs:documentation>Manages the advertisement of the product information with the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallFinalize">
<xs:annotation>
<xs:documentation>Marks the end of a sequence of actions that change the system.</xs:documentation>
</xs:annotation>
</xs:element>
<!-- Windows Installer 1.5 actions -->
<xs:element ref="MsiPublishAssemblies">
<xs:annotation>
<xs:documentation>Manages the advertisement of CLR and Win32 assemblies.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
Ensures the needed amount of space exists in the registry.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="AllocateRegistrySpace" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="AllocateRegistrySpace" href="http://msdn.microsoft.com/library/aa367554.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Ensures the needed amount of space exists in the registry. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Optional way for defining AppData, generally used for complex CDATA.
Type string
<xs:element name="AppData" type="xs:string">
<xs:annotation>
<xs:documentation>Optional way for defining AppData, generally used for complex CDATA.</xs:documentation>
</xs:annotation>
</xs:element>
Application ID containing DCOM information for the associated application GUID.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
ActivateAtStorage | YesNoType | No | Set this value to 'yes' to configure the client to activate on the same system as persistent storage. |
|
Advertise | YesNoType | No | Set this value to 'yes' in order to create a normal AppId table row. Set this value to 'no' in order to generate Registry rows that perform similar registration (without the often problematic Windows Installer advertising behavior). |
|
Description | string | No | Set this value to the description of the AppId. |
|
DllSurrogate | string | No | Set this value to specify that the class is a DLL that is to be activated in a surrogate EXE process, and the surrogate process to be used is the path of a surrogate EXE file specified by the value. |
|
Id | Guid | Yes | Set this value to the AppID GUID that corresponds to the named executable. |
|
LocalService | string | No | Set this value to the name of a service to allow the object to be installed as a Win32 service. |
|
RemoteServerName | string | No | Set this value to the name of the remote server to configure the client to request the object be run at a particular machine whenever an activation function is called for which a COSERVERINFO structure is not specified. |
|
RunAsInteractiveUser | YesNoType | No | Set this value to 'yes' to configure a class to run under the identity of the user currently logged on and connected to the interactive desktop when activated by a remote client without being written as a Win32 service. |
|
ServiceParameters | string | No | Set this value to the parameters to be passed to a LocalService on invocation. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..* | |||
Class | anyType (restriction) | 1..1 | COM Class registration for parent Component. |
If this element is nested under a Fragment, Module, or Product element, it must be advertised.
<xs:element name="AppId">
<xs:annotation>
<xs:documentation>
Application ID containing DCOM information for the associated application GUID.
If this element is nested under a Fragment, Module, or Product element, it must be
advertised.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="AppId" href="http://msdn.microsoft.com/library/aa367566.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Registry" href="http://msdn.microsoft.com/library/aa371168.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:remarks xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">
When being used in unadvertised mode, the attributes in the AppId element correspond to registry keys
as follows (values that can be specified in authoring are in bold):
<html:dl xmlns:html="http://www.w3.org/1999/xhtml"><html:dt>Id</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
[HKCR\AppID\{<html:b>Id</html:b>}]<html:br /></html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\AppID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}]<html:br /></html:dd></html:dl></html:dd><html:dt>ActivateAtStorage</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
[HKCR\AppID\{<html:b>Id</html:b>}]<html:br />
ActivateAtStorage="<html:b>ActivateAtStorage</html:b>"
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\AppID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}]<html:br />
ActivateAtStorage="<html:b>Y</html:b>"
</html:dd></html:dl></html:dd><html:dt>Description</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
[HKCR\AppID\{<html:b>Id</html:b>}]<html:br />
@="<html:b>Description</html:b>"
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\AppID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}]<html:br />
@="<html:b>My AppId Description</html:b>"
</html:dd></html:dl></html:dd><html:dt>DllSurrogate</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
[HKCR\AppID\{<html:b>Id</html:b>}]<html:br />
DllSurrogate="<html:b>DllSurrogate</html:b>"
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\AppID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}]<html:br />
DllSurrogate="<html:b>C:\surrogate.exe</html:b>"
</html:dd></html:dl></html:dd><html:dt>LocalService</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
[HKCR\AppID\{<html:b>Id</html:b>}]<html:br />
LocalService="<html:b>LocalService</html:b>"
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\AppID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}]<html:br />
LocalService="<html:b>MyServiceName</html:b>"
</html:dd></html:dl></html:dd><html:dt>RemoteServerName</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
[HKCR\AppID\{<html:b>Id</html:b>}]<html:br />
RemoteServerName="<html:b>RemoteServerName</html:b>"
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\AppID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}]<html:br />
RemoteServerName="<html:b>MyRemoteServer</html:b>"
</html:dd></html:dl></html:dd><html:dt>RunAsInteractiveUser</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
[HKCR\AppID\{<html:b>Id</html:b>}]<html:br />
RunAs="<html:b>RunAsInteractiveUser</html:b>"
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\AppID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}]<html:br />
RunAs="<html:b>Interactive User</html:b>"
</html:dd></html:dl></html:dd><html:dt>ServiceParameters</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
[HKCR\AppID\{<html:b>Id</html:b>}]<html:br />
ServiceParameters="<html:b>ServiceParameters</html:b>"
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\AppID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}]<html:br />
ServiceParameters="<html:b>-param</html:b>"
</html:dd></html:dl></html:dd></html:dl></xse:remarks>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Class" />
</xs:choice>
<xs:attribute name="ActivateAtStorage" type="YesNoType">
<xs:annotation>
<xs:documentation>
Set this value to 'yes' to configure the client to activate on the same system as persistent storage.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Advertise" type="YesNoType">
<xs:annotation>
<xs:documentation>
Set this value to 'yes' in order to create a normal AppId table row. Set this value to 'no' in order to
generate Registry rows that perform similar registration (without the often problematic Windows Installer
advertising behavior).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Description" type="xs:string">
<xs:annotation>
<xs:documentation>
Set this value to the description of the AppId. It can only be specified when the AppId is not being advertised.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DllSurrogate" type="xs:string">
<xs:annotation>
<xs:documentation>
Set this value to specify that the class is a DLL that is to be activated in a surrogate EXE
process, and the surrogate process to be used is the path of a surrogate EXE file specified by the value.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Id" type="Guid" use="required">
<xs:annotation>
<xs:documentation>
Set this value to the AppID GUID that corresponds to the named executable.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="LocalService" type="xs:string">
<xs:annotation>
<xs:documentation>
Set this value to the name of a service to allow the object to be installed as a Win32 service.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RemoteServerName" type="xs:string">
<xs:annotation>
<xs:documentation>
Set this value to the name of the remote server to configure the client to request the object
be run at a particular machine whenever an activation function is called for which a COSERVERINFO
structure is not specified.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RunAsInteractiveUser" type="YesNoType">
<xs:annotation>
<xs:documentation>
Set this value to 'yes' to configure a class to run under the identity of the user currently
logged on and connected to the interactive desktop when activated by a remote client without
being written as a Win32 service.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ServiceParameters" type="xs:string">
<xs:annotation>
<xs:documentation>
Set this value to the parameters to be passed to a LocalService on invocation.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Uses file signatures to search for existing versions of products.
Name | Type | Required? | Default | Description |
---|---|---|---|---|
After | string | No | The name of an action that this action should come after. |
|
Before | string | No | The name of an action that this action should come before. |
|
Overridable | YesNoType | No | If "yes", the sequencing of this action may be overridden by sequencing elsewhere. |
|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
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.
<xs:element name="AppSearch" type="ActionModuleSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="ComponentSearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="FileSearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="IniFileSearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="RegistrySearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="AppSearch" href="http://msdn.microsoft.com/library/aa367579.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef action="AppSearch" href="http://msdn.microsoft.com/library/aa367578.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Uses file signatures to search for existing versions of products. The AppSearch action may use this information to determine where upgrades are to be installed. The AppSearch action can also be used to set a property to the existing value of an registry or .ini file entry. AppSearch should be authored into the InstallUISequence table and InstallExecuteSequence table. The installer prevents The AppSearch action from running in the InstallExecuteSequence sequence if the action has already run in InstallUISequence sequence. The AppSearch action searches for file signatures using the CompLocator table first, the RegLocator table next, then the IniLocator table, and finally the DrLocator table. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
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 | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Name of the attribute associated with the value specified in the Value column. |
|
Value | string | No | Value associated with the name specified in the Name column. |
Always empty.
Consider using the Assembly attribute on File element to have the toolset populate these entries automatically.
<xs:element name="AssemblyName">
<xs:annotation>
<xs:documentation>
The MsiAssemblyName table specifies the schema for the elements of a strong assembly cache name for a .NET Framework or Win32 assembly.
Consider using the Assembly attribute on File element to have the toolset populate these entries automatically.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="MsiAssemblyName" href="http://msdn.microsoft.com/library/aa370062.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Name of the attribute associated with the value specified in the Value column.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Value" type="xs:string">
<xs:annotation>
<xs:documentation>Value associated with the name specified in the Name column.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Billboard to display during install of a Feature
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Unique identifier for the Billboard. |
|
Feature | string | No | Feature whose state determines if the Billboard is shown. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
1..1 | |||
Control | anyType (restriction) | 0..* | Contains the controls that appear on each dialog. |
<xs:element name="Billboard">
<xs:annotation>
<xs:documentation>
Billboard to display during install of a Feature
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="Billboard" href="http://msdn.microsoft.com/library/aa367823.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="BBControl" href="http://msdn.microsoft.com/library/aa367818.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="Control" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Only controls of static type such as: Text, Bitmap, Icon, or custom control can be placed on a billboard.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Unique identifier for the Billboard.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Feature" type="xs:string">
<xs:annotation>
<xs:documentation>Feature whose state determines if the Billboard is shown.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Billboard action during which child Billboards are displayed
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Action name that determines when the Billboard should be shown. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
1..1 | |||
Billboard | anyType (restriction) | 1..* | Billboard to display during install of a Feature |
<xs:element name="BillboardAction">
<xs:annotation>
<xs:documentation>
Billboard action during which child Billboards are displayed
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="Billboard" href="http://msdn.microsoft.com/library/aa367823.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="BBControl" href="http://msdn.microsoft.com/library/aa367818.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="Billboard" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Order of Billboard elements determines order of display</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Action name that determines when the Billboard should be shown.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Binary data used for CustomAction elements and UI controls.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | The Id cannot by longer than 55 characters. |
|
SourceFile | string | No | Path to the binary file. |
|
src | string | No | ||
SuppressModularization | YesNoType | No | Use to suppress modularization of this Binary identifier in merge modules. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..* | |||
any | 1..1 | Allow any element from the ##other namespace. |
|
<xs:element name="Binary">
<xs:annotation>
<xs:documentation>
Binary data used for CustomAction elements and UI controls.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="Binary" href="http://msdn.microsoft.com/library/aa367825.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The Id cannot by longer than 55 characters. In order to prevent errors in cases where the Id is modularized, it should not be longer than 18 characters.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SourceFile" type="xs:string">
<xs:annotation>
<xs:documentation>Path to the binary file.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="src" type="xs:string">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="SourceFile" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SuppressModularization" type="YesNoType">
<xs:annotation>
<xs:documentation>
Use to suppress modularization of this Binary identifier in merge modules.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>
Used only for PatchFamilies to include only a binary table entry in a patch.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | The identifier of the Binary element to reference. |
Always empty.
<xs:element name="BinaryRef">
<xs:annotation>
<xs:documentation>Used only for PatchFamilies to include only a binary table entry in a patch.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The identifier of the Binary element to reference.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>
Binds each executable or DLL that must be bound to the DLLs imported by it.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="BindImage" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef table="BindImage" href="http://msdn.microsoft.com/library/aa367828.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef action="BindImage" href="http://msdn.microsoft.com/library/aa367827.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Binds each executable or DLL that must be bound to the DLLs imported by it. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Qualified published component for parent Component
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | Guid | Yes | A string GUID that represents the category of components being grouped together. |
|
Qualifier | string | Yes | A text string that qualifies the value in the Id attribute. |
|
AppData | string | No | An optional localizable text describing the category. |
|
Feature | string | No | Feature that controls the advertisement of the category. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..* | |||
AppData | string | 1..1 | Optional way for defining AppData, generally used for complex CDATA. |
<xs:element name="Category">
<xs:annotation>
<xs:documentation>
Qualified published component for parent Component
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="PublishComponent" href="http://msdn.microsoft.com/library/aa370921.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element ref="AppData" />
</xs:sequence>
<xs:attribute name="Id" use="required" type="Guid">
<xs:annotation>
<xs:documentation>A string GUID that represents the category of components being grouped together.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Qualifier" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>A text string that qualifies the value in the Id attribute. A qualifier is used to distinguish multiple forms of the same Component, such as a Component that is implemented in multiple languages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AppData" type="xs:string">
<xs:annotation>
<xs:documentation>An optional localizable text describing the category. The string is commonly parsed by the application and can be displayed to the user. It should describe the category.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Feature" type="xs:string">
<xs:annotation>
<xs:documentation>Feature that controls the advertisement of the category. Defaults to the primary Feature for the parent Component .</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed.
Name | Type | Required? | Default | Description |
---|---|---|---|---|
After | string | No | The name of an action that this action should come after. |
|
Before | string | No | The name of an action that this action should come before. |
|
Overridable | YesNoType | No | If "yes", the sequencing of this action may be overridden by sequencing elsewhere. |
|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
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.
<xs:element name="CCPSearch" type="ActionModuleSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="RMCCPSearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="ComplianceCheck" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef action="CCPSearch" href="http://msdn.microsoft.com/library/aa367845.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed. The CCPSearch action should be authored into the InstallUISequence table and InstallExecuteSequence table. The installer prevents the CCPSearch action from running in the InstallExecuteSequence sequence if the action has already run in InstallUISequence sequence. The CCPSearch action must come before the RMCCPSearch action. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
COM Class registration for parent Component.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | Guid | Yes | The Class identifier (CLSID) of a COM server. |
|
Context | anySimpleType (list) | Yes | The server context(s) for this server. |
|
Description | string | No | Localized description associated with the Class ID and Program ID. |
|
AppId | Guid | No | This attribute is only allowed when a Class is advertised. |
|
Icon | string | No | The file providing the icon associated with this CLSID. |
|
IconIndex | integer | No | Icon index into the icon file. |
|
Handler | string | No | The default inproc handler. |
|
Argument | string | No | This column is optional only when the Context column is set to "LocalServer" or "LocalServer32" server context. |
|
RelativePath | YesNoType | No | When the value is "yes", the bare file name can be used for COM servers. |
|
Advertise | YesNoType | No | Set this value to "yes" in order to create a normal Class table row. Set this value to "no" in order to generate Registry rows that perform similar registration (without the often problematic Windows Installer advertising behavior). |
|
ThreadingModel | NMTOKEN (restriction) | No | Threading model for the CLSID. |
|
Version | string | No | Version for the CLSID. |
|
Insertable | YesNoType | No | Specifies the CLISD may be insertable. |
|
Programmable | YesNoType | No | Specifies the CLSID may be programmable. |
|
Server | string | No | May only be specified if the value of the Advertise attribute is "no". |
|
ShortPath | YesNoType | No | Specifies whether or not to use the short path for the COM server. |
|
SafeForScripting | YesNoType | No | May only be specified if the value of the Advertise attribute is "no". |
|
SafeForInitializing | YesNoType | No | May only be specified if the value of the Advertise attribute is "no". |
|
Control | YesNoType | No | Set this attribute's value to 'yes' to identify an object as an ActiveX Control. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..* | |||
FileTypeMask | anyType (restriction) | 1..1 | FileType data for class Id registration. |
Interface | anyType (restriction) | 1..1 | COM Interface registration for parent Typelib. |
ProgId | anyType (restriction) | 1..1 | ProgId registration for parent Component. |
<xs:element name="Class">
<xs:annotation>
<xs:documentation>COM Class registration for parent Component.</xs:documentation>
<xs:appinfo>
<xse:seeAlso ref="AppId" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Class" href="http://msdn.microsoft.com/library/aa367861.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="ProgId" href="http://msdn.microsoft.com/library/aa370879.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Registry" href="http://msdn.microsoft.com/library/aa371168.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="AppId" href="http://msdn.microsoft.com/library/aa367566.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:remarks xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">
When being used in unadvertised mode, the attributes in the Class element correspond to registry keys
as follows (values that can be specified in authoring are in bold):
<html:dl xmlns:html="http://www.w3.org/1999/xhtml"><html:dt>Id/Context/Server</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
[HKCR\CLSID\{<html:b>Id</html:b>}\<html:b>Context1</html:b>]<html:br />
@="[!<html:b>Server</html:b>]"<html:br />
[HKCR\CLSID\{<html:b>Id</html:b>}\<html:b>Context2</html:b>]<html:br />
@="[!<html:b>Server</html:b>]"
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\CLSID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}\<html:b>LocalServer</html:b>]<html:br />
@="[!<html:b>comserv.dll</html:b>]"<html:br />
[HKCR\CLSID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}\<html:b>LocalServer32</html:b>]<html:br />
@="[!<html:b>comserv.dll</html:b>]"
</html:dd></html:dl></html:dd><html:dt>AppId</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
[HKCR\CLSID\{<html:b>Id</html:b>}]<html:br />
AppId="{<html:b>AppId</html:b>}"
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\CLSID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}]<html:br />
AppId="{<html:b>00000000-89AB-0000-0123-000000000000</html:b>}"
</html:dd></html:dl></html:dd><html:dt>Argument</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
[HKCR\CLSID\{<html:b>Id</html:b>}\<html:b>Context</html:b>]<html:br />
@="[!<html:b>Server</html:b>] <html:b>Argument</html:b>"
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\CLSID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}\<html:b>LocalServer32</html:b>]<html:br />
@="[!<html:b>comserv.dll</html:b>] <html:b>/arg1 /arg2 /arg3</html:b>"<html:br /></html:dd></html:dl></html:dd><html:dt>Control</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
Value "yes" specified:<html:br />
[HKCR\CLSID\{<html:b>Id</html:b>}\Control]
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\CLSID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}\Control]
</html:dd></html:dl></html:dd><html:dt>Description</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
[HKCR\CLSID\{<html:b>Id</html:b>}]<html:br />
@="<html:b>Description</html:b>"
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\CLSID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}]<html:br />
@="<html:b>Description of Example COM Component</html:b>"
</html:dd></html:dl></html:dd><html:dt>Handler</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
Value "1" specified:<html:br />
[HKCR\CLSID\{<html:b>Id</html:b>}\InprocHandler]<html:br />
@="ole.dll"<html:br />
Value "2" specified:<html:br />
[HKCR\CLSID\{<html:b>Id</html:b>}\InprocHandler32]<html:br />
@="ole32.dll"<html:br />
Value "3" specified:<html:br />
[HKCR\CLSID\{<html:b>Id</html:b>}\InprocHandler]<html:br />
@="ole.dll"<html:br />
[HKCR\CLSID\{<html:b>Id</html:b>}\InprocHandler32]<html:br />
@="ole32.dll"<html:br />
Other value specified:<html:br />
[HKCR\CLSID\{<html:b>Id</html:b>}\InprocHandler32]<html:br />
@="<html:b>Handler</html:b>"
</html:dd><html:dt>Specific Example (for other value)</html:dt><html:dd>
[HKCR\CLSID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}\InprocHandler32]<html:br />
@="<html:b>handler.dll</html:b>"
</html:dd></html:dl></html:dd><html:dt>Icon/IconIndex</html:dt><html:dd>This is not currently handled properly.</html:dd><html:dt>Insertable</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
Value "no" specified:<html:br />
[HKCR\CLSID\{<html:b>Id</html:b>}\NotInsertable]<html:br />
Value "yes" specified:<html:br />
[HKCR\CLSID\{<html:b>Id</html:b>}\Insertable]
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\CLSID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}\Insertable]
</html:dd></html:dl></html:dd><html:dt>Programmable</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
Value "yes" specified:<html:br />
[HKCR\CLSID\{<html:b>Id</html:b>}\Programmable]
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\CLSID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}\Programmable]
</html:dd></html:dl></html:dd><html:dt>RelativePath</html:dt><html:dd>Unsupported. Please contribute this back to WiX if you know.</html:dd><html:dt>SafeForInitializing</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
Value "yes" specified:<html:br />
[HKCR\CLSID\{<html:b>Id</html:b>}\Implemented Categories\{7DD95802-9882-11CF-9FA9-00AA006C42C4}]
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\CLSID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}\Implemented Categories\{7DD95802-9882-11CF-9FA9-00AA006C42C4}]
</html:dd></html:dl></html:dd><html:dt>SafeForScripting</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
Value "yes" specified:<html:br />
[HKCR\CLSID\{<html:b>Id</html:b>}\Implemented Categories\{7DD95801-9882-11CF-9FA9-00AA006C42C4}]
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\CLSID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}\Implemented Categories\{7DD95801-9882-11CF-9FA9-00AA006C42C4}]
</html:dd></html:dl></html:dd><html:dt>ThreadingModel</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
[HKCR\CLSID\{<html:b>Id</html:b>}\<html:b>Context</html:b>]<html:br />
ThreadingModel="<html:b>ThreadingModel</html:b>"
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\CLSID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}\<html:b>LocalServer32</html:b>]<html:br />
ThreadingModel="<html:b>Apartment</html:b>"
</html:dd></html:dl></html:dd><html:dt>TypeLibId (from parent TypeLib/@Id)</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
[HKCR\CLSID\{<html:b>Id</html:b>}\TypeLib]<html:br />
@="{<html:b>TypeLibId</html:b>}"
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\CLSID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}\TypeLib]<html:br />
@="{<html:b>11111111-89AB-1111-0123-111111111111</html:b>}"
</html:dd></html:dl></html:dd><html:dt>Version</html:dt><html:dd><html:dl><html:dt>In General</html:dt><html:dd>
[HKCR\CLSID\{<html:b>Id</html:b>}\Version]<html:br />
@="<html:b>Version</html:b>"
</html:dd><html:dt>Specific Example</html:dt><html:dd>
[HKCR\CLSID\{<html:b>01234567-89AB-CDEF-0123-456789ABCDEF</html:b>}\Version]<html:br />
@="<html:b>1.0.0.0</html:b>"
</html:dd></html:dl></html:dd></html:dl></xse:remarks>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="ProgId">
<xs:annotation>
<xs:documentation>A ProgId associated with Class must be a child element of the Class element</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="FileTypeMask" />
<xs:element ref="Interface">
<xs:annotation>
<xs:documentation>These Interfaces will be registered with the parent Class and TypeLib (if present).</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:attribute name="Id" type="Guid" use="required">
<xs:annotation>
<xs:documentation>The Class identifier (CLSID) of a COM server.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Context" use="required">
<xs:annotation>
<xs:documentation>The server context(s) for this server.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:list>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="LocalServer">
<xs:annotation>
<xs:documentation>
A 16-bit local server application.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="LocalServer32">
<xs:annotation>
<xs:documentation>
A 32-bit local server application.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="InprocServer">
<xs:annotation>
<xs:documentation>
A 16-bit in-process server DLL.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="InprocServer32">
<xs:annotation>
<xs:documentation>
A 32-bit in-process server DLL.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:list>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Description" type="xs:string">
<xs:annotation>
<xs:documentation>Localized description associated with the Class ID and Program ID.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AppId" type="Guid">
<xs:annotation>
<xs:documentation>
This attribute is only allowed when a Class is advertised. Using this attribute will reference an Application ID
containing DCOM information for the associated application GUID. The value must correspond to an AppId/@Id of an
AppId element nested under a Fragment, Module, or Product element. To associate an AppId with a non-advertised
class, nest the class within a parent AppId element.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Icon" type="xs:string">
<xs:annotation>
<xs:documentation>
The file providing the icon associated with this CLSID. Reference to an Icon element
(should match the Id attribute of an Icon element). This is currently not supported if the
value of the Advertise attribute is "no".
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IconIndex" type="xs:integer">
<xs:annotation>
<xs:documentation>Icon index into the icon file.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Handler" type="xs:string">
<xs:annotation>
<xs:documentation>
The default inproc handler. May be optionally provided only for Context = LocalServer or
LocalServer32. Value of "1" creates a 16-bit InprocHandler (appearing as the InprocHandler
value). Value of "2" creates a 32-bit InprocHandler (appearing as the InprocHandler32 value).
Value of "3" creates 16-bit as well as 32-bit InprocHandlers. A non-numeric value is treated
as a system file that serves as the 32-bit InprocHandler (appearing as the InprocHandler32 value).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Argument" type="xs:string">
<xs:annotation>
<xs:documentation>
This column is optional only when the Context column is set to "LocalServer"
or "LocalServer32" server context. The text is registered as the argument against
the OLE server and is used by OLE for invoking the server. Note that the resolution
of properties in the Argument field is limited. A property formatted as [Property] in
this field can only be resolved if the property already has the intended value when
the component owning the class is installed. For example, for the argument "[#MyDoc.doc]"
to resolve to the correct value, the same process must be installing the file MyDoc.doc and the
component that owns the class.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RelativePath" type="YesNoType">
<xs:annotation>
<xs:documentation>
When the value is "yes", the bare file name can be used for COM servers. The installer
registers the file name only instead of the complete path. This enables the server in
the current directory to take precedence and allows multiple copies of the same component.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Advertise" type="YesNoType">
<xs:annotation>
<xs:documentation>
Set this value to "yes" in order to create a normal Class table row. Set this value to
"no" in order to generate Registry rows that perform similar registration (without the
often problematic Windows Installer advertising behavior).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<!-- Following attributes are not advertised, but add the appropriate rows to the Registry table -->
<xs:attribute name="ThreadingModel">
<xs:annotation>
<xs:documentation>
Threading model for the CLSID.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="apartment" />
<xs:enumeration value="free" />
<xs:enumeration value="both" />
<xs:enumeration value="neutral" />
<xs:enumeration value="single" />
<xs:enumeration value="rental" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Version" type="xs:string">
<xs:annotation>
<xs:documentation>
Version for the CLSID.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Insertable" type="YesNoType">
<xs:annotation>
<xs:documentation>
Specifies the CLISD may be insertable.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Programmable" type="YesNoType">
<xs:annotation>
<xs:documentation>
Specifies the CLSID may be programmable.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Server" type="xs:string">
<xs:annotation>
<xs:documentation>
May only be specified if the value of the Advertise attribute is "no". File Id of the
COM server file. If this element is nested under a File element, this value defaults to
the value of the parent File/@Id.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ShortPath" type="YesNoType">
<xs:annotation>
<xs:documentation>
Specifies whether or not to use the short path for the COM server. This can only apply when Adverstise is set to 'no'. The default is 'no' meaning that it will use the long file name for the COM server.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SafeForScripting" type="YesNoType">
<xs:annotation>
<xs:documentation>
May only be specified if the value of the Advertise attribute is "no".
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SafeForInitializing" type="YesNoType">
<xs:annotation>
<xs:documentation>
May only be specified if the value of the Advertise attribute is "no".
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Control" type="YesNoType">
<xs:annotation>
<xs:documentation>
Set this attribute's value to 'yes' to identify an object as an ActiveX Control. The default value is 'no'.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Column definition for a Custom Table
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Identifier for the column. |
|
PrimaryKey | YesNoType | No | Whether this column is a primary key. |
|
Type | NMTOKEN (restriction) | Yes | The type of this column. |
|
Width | integer | No | Width of this column. |
|
Nullable | YesNoType | No | Whether this column can be left null. |
|
Localizable | YesNoType | No | Whether this column can be localized. |
|
MinValue | integer | No | Minimum value for a numeric value, date or version in this column. |
|
MaxValue | integer | No | Maximum value for a numeric value, date or version in this column. |
|
KeyTable | string | No | Table in which this column is an external key. |
|
KeyColumn | integer | No | Column in the table in KeyTable attribute. |
|
Category | NMTOKEN (restriction) | No | Category of this column. |
|
Set | string | No | Semicolon delimited list of permissible values. |
|
Description | string | No | Description of this column. |
|
Modularize | NMTOKEN (restriction) | No | How this column should be modularized, if at all. |
Always empty.
<xs:element name="Column">
<xs:annotation>
<xs:documentation>Column definition for a Custom Table</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Identifier for the column.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PrimaryKey" type="YesNoType">
<xs:annotation>
<xs:documentation>Whether this column is a primary key.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Type" use="required">
<xs:annotation>
<xs:documentation>The type of this column.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="binary">
<xs:annotation>
<xs:documentation>
Column contains a path to a file that will be inserted into the column as a binary object.
If this value is set, the Category attribute must also be set with a value of 'Binary' to pass ICE validation.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="int">
<xs:annotation>
<xs:documentation>
Column contains an integer or datetime value (the MinValue and MaxValue attributes should also be set).
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="string">
<xs:annotation>
<xs:documentation>
Column contains a non-localizable string value.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Width" type="xs:integer">
<xs:annotation>
<xs:documentation>Width of this column.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Nullable" type="YesNoType">
<xs:annotation>
<xs:documentation>Whether this column can be left null.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Localizable" type="YesNoType">
<xs:annotation>
<xs:documentation>Whether this column can be localized.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MinValue" type="xs:integer">
<xs:annotation>
<xs:documentation>Minimum value for a numeric value, date or version in this column.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MaxValue" type="xs:integer">
<xs:annotation>
<xs:documentation>Maximum value for a numeric value, date or version in this column.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="KeyTable" type="xs:string">
<xs:annotation>
<xs:documentation>Table in which this column is an external key. Can be semicolon delimited.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="KeyColumn" type="xs:integer">
<xs:annotation>
<xs:documentation>Column in the table in KeyTable attribute.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Category">
<xs:annotation>
<xs:documentation>
Category of this column.
This attribute must be specified with a value of 'Binary' if the Type attribute's value is 'binary'.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Text" />
<xs:enumeration value="UpperCase" />
<xs:enumeration value="LowerCase" />
<xs:enumeration value="Integer" />
<xs:enumeration value="DoubleInteger" />
<xs:enumeration value="TimeDate" />
<xs:enumeration value="Identifier" />
<xs:enumeration value="Property" />
<xs:enumeration value="Filename" />
<xs:enumeration value="WildCardFilename" />
<xs:enumeration value="Path" />
<xs:enumeration value="Paths" />
<xs:enumeration value="AnyPath" />
<xs:enumeration value="DefaultDir" />
<xs:enumeration value="RegPath" />
<xs:enumeration value="Formatted" />
<xs:enumeration value="Template" />
<xs:enumeration value="Condition" />
<xs:enumeration value="Guid" />
<xs:enumeration value="Version" />
<xs:enumeration value="Language" />
<xs:enumeration value="Binary" />
<xs:enumeration value="CustomSource" />
<xs:enumeration value="Cabinet" />
<xs:enumeration value="Shortcut" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Set" type="xs:string">
<xs:annotation>
<xs:documentation>Semicolon delimited list of permissible values.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Description" type="xs:string">
<xs:annotation>
<xs:documentation>Description of this column.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Modularize">
<xs:annotation>
<xs:documentation>How this column should be modularized, if at all.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="None">
<xs:annotation>
<xs:documentation>
Column should not be modularized. This is the default value.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Column">
<xs:annotation>
<xs:documentation>
Column should be modularized.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Condition">
<xs:annotation>
<xs:documentation>
Column is a condition and should be modularized.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Icon">
<xs:annotation>
<xs:documentation>
When the column is an primary or foreign key to the Icon table it should be modularized special.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Property">
<xs:annotation>
<xs:documentation>
Any Properties in the column should be modularized.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="SemicolonDelimited">
<xs:annotation>
<xs:documentation>
Semi-colon list of keys, all of which need to be modularized.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
Set of items for a particular ComboBox control tied to an install Property
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Property | string | Yes | Property tied to this group |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
1..1 | |||
ListItem | anyType (restriction) | 0..* | The value (and optional text) associated with an item in a ComboBox, ListBox, or ListView. |
<xs:element name="ComboBox">
<xs:annotation>
<xs:documentation>
Set of items for a particular ComboBox control tied to an install Property
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="ComboBox" href="http://msdn.microsoft.com/library/aa367872.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Control" href="http://msdn.microsoft.com/library/aa368044.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Dialog" href="http://msdn.microsoft.com/library/aa368286.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="ListItem" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>entry for ComboBox table</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="Property" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Property tied to this group</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Adds a row to the CCPSearch table.
Restricting anyType
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..* | |||
any | 1..1 | Allow any element from the ##other namespace. |
|
1..1 | |||
ComplianceDrive | anyType (restriction) | 0..1 | Sets the parent of a nested DirectorySearch element to CCP_DRIVE. |
ComponentSearch | anyType (restriction) | 0..* | Searches for file or directory and assigns to value of parent Property. |
RegistrySearch | anyType (restriction) | 0..* | Searches for file, directory or registry key and assigns to value of parent Property |
IniFileSearch | anyType (restriction) | 0..* | Searches for file, directory or registry key and assigns to value of parent Property |
DirectorySearch | anyType (restriction) | 0..* | Searches for directory and assigns to value of parent Property. |
<xs:element name="ComplianceCheck">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="Property" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="CCPSearch" href="http://msdn.microsoft.com/library/aa367846.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Signature" href="http://msdn.microsoft.com/library/aa371853.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Adds a row to the CCPSearch table.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:sequence>
<xs:element ref="ComplianceDrive" minOccurs="0">
<xs:annotation>
<xs:documentation>Starts searches from the CCP_DRIVE.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ComponentSearch" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="RegistrySearch" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="IniFileSearch" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="DirectorySearch" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>
Sets the parent of a nested DirectorySearch element to CCP_DRIVE.
Restricting anyType
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
1..1 | |||
DirectorySearch | anyType (restriction) | 1..1 | Searches for directory and assigns to value of parent Property. |
DirectorySearchRef | anyType (restriction) | 1..1 | References an existing DirectorySearch element. |
<xs:element name="ComplianceDrive">
<xs:annotation>
<xs:documentation>Sets the parent of a nested DirectorySearch element to CCP_DRIVE.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:element ref="DirectorySearch" />
<xs:element ref="DirectorySearchRef" />
</xs:choice>
</xs:complexType>
</xs:element>
Component for parent Directory
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Component identifier; this is the primary key for identifying components. |
|
ComPlusFlags | integer | No | Set this attribute to create a ComPlus entry. |
|
DisableRegistryReflection | YesNoType | No | Set this attribute to 'yes' in order to disable registry reflection on all existing and new registry keys affected by this component. |
|
Directory | string | No | Sets the Directory of the Component. |
|
DiskId | integer | No | This attribute must be set either on a Component element or all of its children File elements. |
|
Feature | string | No | Identifies a feature to which this component belongs, as a shorthand for a child ComponentRef element of the Feature element. |
|
Guid | ComponentGuid | Yes | This value should be a guid that uniquely identifies this component's contents, language, platform, and version. |
|
KeyPath | YesNoType | No | If this attribute's value is set to 'yes', then the Directory of this Component is used as the KeyPath. |
|
Location | NMTOKEN (restriction) | No | ||
NeverOverwrite | YesNoType | No | If this attribute is set to 'yes', the installer does not install or reinstall the component if a key path file or a key path registry entry for the component already exists. |
|
Permanent | YesNoType | No | If this attribute is set to 'yes', the installer does not remove the component during an uninstall. |
|
Shared | YesNoType | No | If this attribute's value is set to 'yes', enables advanced patching semantics for Components that are shared across multiple Products. |
|
SharedDllRefCount | YesNoType | No | If this attribute's value is set to 'yes', the installer increments the reference count in the shared DLL registry of the component's key file. |
|
Transitive | YesNoType | No | If this attribute is set to 'yes', the installer reevaluates the value of the statement in the Condition upon a reinstall. |
|
UninstallWhenSuperseded | YesNoType | No | If this attribute is set to 'yes', the installer will uninstall the Component's files and registry keys when it is superseded by a patch. |
|
Win64 | YesNoType | No | Set this attribute to 'yes' to mark this as a 64-bit component. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..* | |||
any | 1..1 | Allow any element from the ##other namespace. |
|
AppId | anyType (restriction) | 1..1 | Application ID containing DCOM information for the associated application GUID. |
Category | anyType (restriction) | 1..1 | Qualified published component for parent Component |
Class | anyType (restriction) | 1..1 | COM Class registration for parent Component. |
Condition | string (extension) | 1..1 | Conditions for components, controls, features, and products. |
CopyFile | anyType (restriction) | 1..1 | Copy or move an existing file on the target machine, or copy a file that is being installed, to another destination. |
CreateFolder | anyType (restriction) | 1..1 | Create folder as part of parent Component. |
Environment | anyType (restriction) | 1..1 | Environment variables added or removed for the parent component. |
Extension | anyType (restriction) | 1..1 | Extension for a Component |
File | anyType (restriction) | 1..1 | File specification for File table, must be child node of Component. |
IniFile | anyType (restriction) | 1..1 | Adds or removes .ini file entries. |
Interface | anyType (restriction) | 1..1 | COM Interface registration for parent Typelib. |
IsolateComponent | anyType (restriction) | 1..1 | Shared Component to be privately replicated in folder of parent Component |
ODBCDataSource | anyType (restriction) | 1..1 | ODBCDataSource for a Component |
ODBCDriver | anyType (restriction) | 1..1 | ODBCDriver for a Component |
ODBCTranslator | anyType (restriction) | 1..1 | ODBCTranslator for a Component |
ProgId | anyType (restriction) | 1..1 | ProgId registration for parent Component. |
Registry | anyType (restriction) | 1..1 | |
RegistryKey | anyType (restriction) | 1..1 | Used for organization of child RegistryValue elements or to create a registry key (and optionally remove it during uninstallation). |
RegistryValue | anyType (restriction) | 1..1 | Used to create a registry value. For multi-string values, this can be used to prepend or append values. |
RemoveFile | anyType (restriction) | 1..1 | Remove a file(s) if the parent component is selected for installation or removal. |
RemoveFolder | anyType (restriction) | 1..1 | Remove an empty folder if the parent component is selected for installation or removal. |
RemoveRegistryKey | anyType (restriction) | 1..1 | Used for removing registry keys and all child keys either during install or uninstall. |
RemoveRegistryValue | anyType (restriction) | 1..1 | Used to remove a registry value during installation. |
ReserveCost | anyType (restriction) | 1..1 | Disk cost to reserve in a folder for running locally and/or from source. |
ServiceControl | anyType (restriction) | 1..1 | Starts, stops, and removes services for parent Component. |
ServiceInstall | anyType (restriction) | 1..1 | Adds and removes services for parent Component. |
Shortcut | anyType (restriction) | 1..1 | Shortcut, default target is parent File, CreateFolder, or Component's Directory |
SymbolPath | anyType (restriction) | 1..1 | A path to symbols. |
TypeLib | anyType (restriction) | 1..1 | Register a type library (TypeLib). |
<xs:element name="Component">
<xs:annotation>
<xs:documentation>Component for parent Directory</xs:documentation>
<xs:appinfo>
<xse:seeAlso ref="ComponentRef" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="Media" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Component" href="http://msdn.microsoft.com/library/aa368007.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Condition" href="http://msdn.microsoft.com/library/aa368014.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Directory" href="http://msdn.microsoft.com/library/aa368295.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:howtoRef href="add_a_file.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Add a file to your installer</xse:howtoRef>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="AppId" />
<xs:element ref="Category" />
<xs:element ref="Class" />
<xs:element ref="Condition" />
<xs:element ref="CopyFile" />
<xs:element ref="CreateFolder" />
<xs:element ref="Environment" />
<xs:element ref="Extension" />
<xs:element ref="File" />
<xs:element ref="IniFile" />
<xs:element ref="Interface" />
<xs:element ref="IsolateComponent" />
<xs:element ref="ODBCDataSource" />
<xs:element ref="ODBCDriver" />
<xs:element ref="ODBCTranslator" />
<xs:element ref="ProgId" />
<xs:element ref="Registry" />
<xs:element ref="RegistryKey" />
<xs:element ref="RegistryValue" />
<xs:element ref="RemoveFile" />
<xs:element ref="RemoveFolder" />
<xs:element ref="RemoveRegistryKey" />
<xs:element ref="RemoveRegistryValue" />
<xs:element ref="ReserveCost" />
<xs:element ref="ServiceControl" />
<xs:element ref="ServiceInstall" />
<xs:element ref="Shortcut" />
<xs:element ref="SymbolPath" />
<xs:element ref="TypeLib" />
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Component identifier; this is the primary key for identifying components.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ComPlusFlags" type="xs:integer">
<xs:annotation>
<xs:documentation>
Set this attribute to create a ComPlus entry. The value should be the export flags used
during the generation of the .msi file. For more information see the COM+ documentation
in the Platform SDK.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DisableRegistryReflection" type="YesNoType">
<xs:annotation>
<xs:documentation>
Set this attribute to 'yes' in order to disable registry reflection on all existing and
new registry keys affected by this component.
When set to 'yes', the Windows Installer calls the RegDisableReflectionKey on each key
being accessed by the component.
This bit is available with Windows Installer version 4.0 and is ignored on 32-bit systems.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Directory" type="xs:string">
<xs:annotation>
<xs:documentation>
Sets the Directory of the Component. If this element is nested under a Directory element,
this value defaults to the value of the parent Directory/@Id.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DiskId" type="xs:integer">
<xs:annotation>
<xs:documentation>
This attribute must be set either on a Component element or all of its children File
elements. The value of this attribute should correspond to the Id attribute of a
Media element authored elsewhere. By creating this connection between a component (or
particular files), you set the packaging options to the values specified in the Media
element (values such as compression level, cab embedding, etc...).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Feature" type="xs:string">
<xs:annotation>
<xs:documentation>
Identifies a feature to which this component belongs, as a shorthand for a child
ComponentRef element of the Feature element. The value of this attribute should
correspond to the Id attribute of a Feature element authored elsewhere. Note that
a single component can belong to multiple features but this attribute allows you
to specify only a single feature.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Guid" type="ComponentGuid" use="required">
<xs:annotation>
<xs:documentation>
This value should be a guid that uniquely identifies this component's contents, language, platform, and version.
It's also possible to set the value to an empty string to specify an unmanaged component.
Unmanaged components are a security vulnerability because the component cannot be removed or repaired
by Windows Installer (it is essentially an unpatchable, permanent component). Therefore, a guid should
always be specified for any component which contains resources that may need to be patched in the future.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="KeyPath" type="YesNoType">
<xs:annotation>
<xs:documentation>
If this attribute's value is set to 'yes', then the Directory of this Component is used
as the KeyPath. To set a Registry key or File as the KeyPath of a component, set the
KeyPath attribute to 'yes' on one of those child elements.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Location">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="local">
<xs:annotation>
<xs:documentation>
Prevents the component from running from the source or the network (this is the default behavior if this attribute is not set).
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="source">
<xs:annotation>
<xs:documentation>
Enforces that the component can only be run from the source (it cannot be run from the user's computer).
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="either">
<xs:annotation>
<xs:documentation>
Allows the component to run from source or locally.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="NeverOverwrite" type="YesNoType">
<xs:annotation>
<xs:documentation>
If this attribute is set to 'yes', the installer does not install or reinstall the
component if a key path file or a key path registry entry for the component already
exists. The application does register itself as a client of the component. Use this
flag only for components that are being registered by the Registry table. Do not use
this flag for components registered by the AppId, Class, Extension, ProgId, MIME, and
Verb tables.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Permanent" type="YesNoType">
<xs:annotation>
<xs:documentation>
If this attribute is set to 'yes', the installer does not remove the component during
an uninstall. The installer registers an extra system client for the component in
the Windows Installer registry settings (which basically just means that at least one
product is always referencing this component). Note that this option differs from the
behavior of not setting a guid because although the component is permanent, it is still
patchable (because Windows Installer still tracks it), it's just not uninstallable.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Shared" type="YesNoType">
<xs:annotation>
<xs:documentation>
If this attribute's value is set to 'yes', enables advanced patching semantics for
Components that are shared across multiple Products. Specifically, the Windows Installer
will cache the shared files to improve patch uninstall. This functionality is available
in Windows Installer 4.5 and later.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SharedDllRefCount" type="YesNoType">
<xs:annotation>
<xs:documentation>
If this attribute's value is set to 'yes', the installer increments the reference count
in the shared DLL registry of the component's key file. If this bit is not set, the
installer increments the reference count only if the reference count already exists.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Transitive" type="YesNoType">
<xs:annotation>
<xs:documentation>
If this attribute is set to 'yes', the installer reevaluates the value of the statement
in the Condition upon a reinstall. If the value was previously False and has changed to
True, the installer installs the component. If the value was previously True and has
changed to False, the installer removes the component even if the component has other
products as clients.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="UninstallWhenSuperseded" type="YesNoType">
<xs:annotation>
<xs:documentation>
If this attribute is set to 'yes', the installer will uninstall the Component's files
and registry keys when it is superseded by a patch. This functionality is available in
Windows Installer 4.5 and later.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Win64" type="YesNoType">
<xs:annotation>
<xs:documentation>
Set this attribute to 'yes' to mark this as a 64-bit component. This attribute facilitates
the installation of packages that include both 32-bit and 64-bit components. If this bit
is not set, the component is registered as a 32-bit component. If this is a 64-bit
component replacing a 32-bit component, set this bit and assign a new GUID in the Guid attribute.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>
Groups together multiple components to be used in other locations.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Identifier for the ComponentGroup. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..* | |||
any | 1..1 | Allow any element from the ##other namespace. |
|
Component | anyType (restriction) | 1..1 | Component for parent Directory |
ComponentGroupRef | anyType (restriction) | 1..1 | Create a reference to a ComponentGroup in another Fragment. |
ComponentRef | anyType (restriction) | 1..1 | Create a reference to a Feature element in another Fragment. |
<xs:element name="ComponentGroup">
<xs:annotation>
<xs:documentation>
Groups together multiple components to be used in other locations.
</xs:documentation>
<xs:appinfo>
<xse:seeAlso ref="ComponentGroupRef" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Component" />
<xs:element ref="ComponentGroupRef" />
<xs:element ref="ComponentRef" />
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Identifier for the ComponentGroup.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>
Create a reference to a ComponentGroup in another Fragment.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | The identifier of the ComponentGroup to reference. |
|
Primary | YesNoType | No | Set this attribute to 'yes' in order to make the parent feature of this component the primary feature for this component. |
Always empty.
<xs:element name="ComponentGroupRef">
<xs:annotation>
<xs:documentation>Create a reference to a ComponentGroup in another Fragment.</xs:documentation>
<xs:appinfo>
<xse:seeAlso ref="ComponentGroup" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The identifier of the ComponentGroup to reference.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Primary" type="YesNoType">
<xs:annotation>
<xs:documentation>
Set this attribute to 'yes' in order to make the parent feature of this component
the primary feature for this component. Components may belong to multiple features.
By designating a feature as the primary feature of a component, you ensure that
whenever a component is selected for install-on-demand (IOD), the primary feature
will be the one to install it. This attribute should only be set if a component
actually nests under multiple features. If a component nests under only one feature,
that feature is the primary feature for the component. You cannot set more than one
feature as the primary feature of a given component.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>
Create a reference to a Feature element in another Fragment.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | The identifier of the Component element to reference. |
|
Primary | YesNoType | No | Set this attribute to 'yes' in order to make the parent feature of this component the primary feature for this component. |
Always empty.
<xs:element name="ComponentRef">
<xs:annotation>
<xs:documentation>Create a reference to a Feature element in another Fragment.</xs:documentation>
<xs:appinfo>
<xse:seeAlso ref="Component" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:howtoRef href="add_a_file.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Add a file to your installer</xse:howtoRef>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The identifier of the Component element to reference.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Primary" type="YesNoType">
<xs:annotation>
<xs:documentation>
Set this attribute to 'yes' in order to make the parent feature of this component
the primary feature for this component. Components may belong to multiple features.
By designating a feature as the primary feature of a component, you ensure that
whenever a component is selected for install-on-demand (IOD), the primary feature
will be the one to install it. This attribute should only be set if a component
actually nests under multiple features. If a component nests under only one feature,
that feature is the primary feature for the component. You cannot set more than one
feature as the primary feature of a given component.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>
Searches for file or directory and assigns to value of parent Property.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | ||
Guid | Guid | No | The component ID of the component whose key path is to be used for the search. |
|
Type | NMTOKEN (restriction) | No | Must be file if last child is FileSearch element and must be directory if last child is DirectorySearch element. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..1 | |||
DirectorySearch | anyType (restriction) | 1..1 | Searches for directory and assigns to value of parent Property. |
DirectorySearchRef | anyType (restriction) | 1..1 | References an existing DirectorySearch element. |
FileSearch | anyType (restriction) | 1..1 | Searches for file and assigns to fullpath value of parent Property |
FileSearchRef | anyType (restriction) | 1..1 | References an existing FileSearch element. |
<xs:element name="ComponentSearch">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="IniFileSearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="RegistrySearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="CompLocator" href="http://msdn.microsoft.com/library/aa368001.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Signature" href="http://msdn.microsoft.com/library/aa371853.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Searches for file or directory and assigns to value of parent Property.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0">
<xs:element ref="DirectorySearch" />
<xs:element ref="DirectorySearchRef" />
<xs:element ref="FileSearch" />
<xs:element ref="FileSearchRef" />
</xs:choice>
<xs:attribute name="Id" use="required" type="xs:string" />
<xs:attribute name="Guid" type="Guid">
<xs:annotation>
<xs:documentation>The component ID of the component whose key path is to be used for the search.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Must be file if last child is FileSearch element and must be directory if last child is DirectorySearch element.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="directory">
<xs:annotation>
<xs:documentation>
The key path of the component is a directory.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="file">
<xs:annotation>
<xs:documentation>
The key path of the component is a file. This is the default value.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
Conditions for components, controls, features, and products.
Extending string
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Action | NMTOKEN (restriction) | No | Used only under Control elements and is required. Allows specific actions to be applied to a control based on the result of this condition. |
|
Level | integer | No | Used only under Feature elements and is required. |
|
Message | string | No | Used only under Fragment or Product elements and is required. |
Contains text only.
The condition is specified in the inner text of the element.
<xs:element name="Condition">
<xs:annotation>
<xs:documentation>
Conditions for components, controls, features, and products. The condition is specified in the inner text of the element.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="Component" href="http://msdn.microsoft.com/library/aa368007.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="ControlCondition" href="http://msdn.microsoft.com/library/aa368035.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Condition" href="http://msdn.microsoft.com/library/aa368014.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="LaunchCondition" href="http://msdn.microsoft.com/library/aa369752.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:howtoRef href="block_install_on_os.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Block installation based on OS version</xse:howtoRef>
<xse:howtoRef href="check_the_version_number.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Check the version number of a file during installation</xse:howtoRef>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:annotation>
<xs:documentation>
Under a Component element, the condition becomes the condition of the component. Under a Control element,
the condition becomes a ControlCondition entry. Under a Feature element, the condition becomes a Condition
entry. Under a Fragment or Product element, the condition becomes a LaunchCondition entry.
</xs:documentation>
</xs:annotation>
<xs:attribute name="Action">
<xs:annotation>
<xs:documentation>
Used only under Control elements and is required. Allows specific actions to be applied to a control based
on the result of this condition.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="default">
<xs:annotation>
<xs:documentation>
Set the Control as the default. Only used under Control elements.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="enable">
<xs:annotation>
<xs:documentation>
Enable the Control. Only used under Control elements.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="disable">
<xs:annotation>
<xs:documentation>
Disable the Control. Only used under Control elements.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="hide">
<xs:annotation>
<xs:documentation>
Hide the Control. Only used under Control elements.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="show">
<xs:annotation>
<xs:documentation>
Display the Control. Only used under Control elements.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Level" type="xs:integer">
<xs:annotation>
<xs:documentation>
Used only under Feature elements and is required. Allows modifying the level of a Feature based on the
result of this condition.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Message" type="xs:string">
<xs:annotation>
<xs:documentation>
Used only under Fragment or Product elements and is required. Set the value to the text to display when the
condition fails and the installation must be terminated.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
Defines the configurable attributes of merge module.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Name | string | Yes | Defines the name of the configurable item. |
|
Format | string (restriction) | Yes | Specifies the format of the data being changed. |
|
Type | string | No | Specifies the type of the data being changed. |
|
ContextData | string | No | Specifies a semantic context for the requested data. |
|
DefaultValue | string | No | Specifies a default value for the item in this record if the merge tool declines to provide a value. |
|
KeyNoOrphan | YesNoType | No | Does not merge rule according to rules in MSI SDK. |
|
NonNullable | YesNoType | No | If yes, null is not a valid entry. |
|
DisplayName | string | No | Display name for authoring. |
|
Description | string | No | Description for authoring. |
|
HelpLocation | string | No | Location of chm file for authoring. |
|
HelpKeyword | string | No | Keyword into chm file for authoring. |
Always empty.
<xs:element name="Configuration">
<xs:annotation>
<xs:documentation>Defines the configurable attributes of merge module.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Name" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Defines the name of the configurable item.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Format" use="required">
<xs:annotation>
<xs:documentation>Specifies the format of the data being changed.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Text" />
<xs:enumeration value="Key" />
<xs:enumeration value="Integer" />
<xs:enumeration value="Bitfield" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Type" type="xs:string">
<xs:annotation>
<xs:documentation>Specifies the type of the data being changed.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ContextData" type="xs:string">
<xs:annotation>
<xs:documentation>Specifies a semantic context for the requested data.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DefaultValue" type="xs:string">
<xs:annotation>
<xs:documentation>Specifies a default value for the item in this record if the merge tool declines to provide a value.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="KeyNoOrphan" type="YesNoType">
<xs:annotation>
<xs:documentation>Does not merge rule according to rules in MSI SDK.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="NonNullable" type="YesNoType">
<xs:annotation>
<xs:documentation>If yes, null is not a valid entry.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DisplayName" type="xs:string">
<xs:annotation>
<xs:documentation>Display name for authoring.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Description" type="xs:string">
<xs:annotation>
<xs:documentation>Description for authoring.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="HelpLocation" type="xs:string">
<xs:annotation>
<xs:documentation>Location of chm file for authoring.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="HelpKeyword" type="xs:string">
<xs:annotation>
<xs:documentation>Keyword into chm file for authoring.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Data to use as input to a configurable merge module.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Name | string | Yes | Key into the ModuleConfiguration table. |
|
Value | string | Yes | Value to be passed to configurable merge module. |
Always empty.
<xs:element name="ConfigurationData">
<xs:annotation>
<xs:documentation>Data to use as input to a configurable merge module.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Name" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Key into the ModuleConfiguration table.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Value" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Value to be passed to configurable merge module.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Contains the controls that appear on each dialog.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Combined with the Dialog Id to make up the primary key of the Control table. |
|
Type | string | Yes | The type of the control. |
|
X | LocalizableInteger | Yes | Horizontal coordinate of the upper-left corner of the rectangular boundary of the control. |
|
Y | LocalizableInteger | Yes | Vertical coordinate of the upper-left corner of the rectangular boundary of the control. |
|
Width | LocalizableInteger | Yes | Width of the rectangular boundary of the control. |
|
Height | LocalizableInteger | Yes | Height of the rectangular boundary of the control. |
|
Property | string | No | The name of a defined property to be linked to this control. |
|
Text | string | No | A localizable string used to set the initial text contained in a control. |
|
Help | string | No | This attribute is reserved for future use. |
|
ToolTip | string | No | The string used for the Tooltip. |
|
CheckBoxValue | string | No | This attribute is only valid for CheckBox Controls. |
|
TabSkip | YesNoType | No | Set this attribute to "yes" to cause this Control to be skipped in the tab sequence. |
|
Default | YesNoType | No | Set this attribute to "yes" to cause this Control to be invoked by the return key. |
|
Cancel | YesNoType | No | Set this attribute to "yes" to cause this Control to be invoked by the escape key. |
|
Hidden | YesNoType | No | Set this attribute to "yes" to cause the Control to be hidden. |
|
Disabled | YesNoType | No | Set this attribute to "yes" to cause the Control to be disabled. |
|
Sunken | YesNoType | No | Set this attribute to "yes" to cause the Control to be sunken. |
|
Indirect | YesNoType | No | Specifies whether the value displayed or changed by this control is referenced indirectly. |
|
Integer | YesNoType | No | Set this attribute to "yes" to cause the linked Property value for the Control to be treated as an integer. Otherwise, the Property will be treated as a string. |
|
RightToLeft | YesNoType | No | Set this attribute to "yes" to cause the Control to display from right to left. |
|
RightAligned | YesNoType | No | Set this attribute to "yes" to cause the Control to be right aligned. |
|
LeftScroll | YesNoType | No | Set this attribute to "yes" to cause the scroll bar to display on the left side of the Control. |
|
Transparent | YesNoType | No | This attribute is only valid for Text Controls. |
|
NoPrefix | YesNoType | No | This attribute is only valid for Text Controls. |
|
NoWrap | YesNoType | No | This attribute is only valid for Text Controls. |
|
FormatSize | YesNoType | No | This attribute is only valid for Text Controls. |
|
UserLanguage | YesNoType | No | This attribute is only valid for Text Controls. |
|
Multiline | YesNoType | No | This attribute is only valid for Edit Controls. |
|
Password | YesNoType | No | This attribute is only valid for Edit Controls. |
|
ProgressBlocks | YesNoType | No | This attribute is only valid for ProgressBar Controls. |
|
Removable | YesNoType | No | This attribute is only valid for Volume and Directory Controls. |
|
Fixed | YesNoType | No | This attribute is only valid for Volume and Directory Controls. |
|
Remote | YesNoType | No | This attribute is only valid for Volume and Directory Controls. |
|
CDROM | YesNoType | No | This attribute is only valid for Volume and Directory Controls. |
|
RAMDisk | YesNoType | No | This attribute is only valid for Volume and Directory Controls. |
|
Floppy | YesNoType | No | This attribute is only valid for Volume and Directory Controls. |
|
ShowRollbackCost | YesNoType | No | This attribute is only valid for VolumeCostList Controls. |
|
Sorted | YesNoType | No | This attribute is only valid for Listbox, ListView, and ComboBox Controls. |
|
ComboList | YesNoType | No | This attribute is only valid for ComboBox Controls. |
|
Image | YesNoType | No | This attribute is only valid for RadioButton, PushButton, and Icon Controls. |
|
IconSize | NMTOKEN (restriction) | No | This attribute is only valid for RadioButton, PushButton, and Icon Controls. |
|
FixedSize | YesNoType | No | This attribute is only valid for RadioButton, PushButton, and Icon Controls. |
|
Icon | YesNoType | No | This attribute is only valid for RadioButton and PushButton Controls. |
|
Bitmap | YesNoType | No | This attribute is only valid for RadioButton and PushButton Controls. |
|
PushLike | YesNoType | No | This attribute is only valid for RadioButton and Checkbox Controls. |
|
HasBorder | YesNoType | No | This attribute is only valid for RadioButton Controls. |
|
ElevationShield | YesNoType | No | This attribute is only valid for PushButton controls. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
1..1 | |||
Text | string (extension) | 0..1 | An alternative to using the Text attribute when the value contains special XML characters like <, >, or &. |
ComboBox | anyType (restriction) | 0..1 | Set of items for a particular ComboBox control tied to an install Property |
ListBox | anyType (restriction) | 0..1 | Set of items for a particular ListBox control tied to an install Property |
ListView | anyType (restriction) | 0..1 | Set of items for a particular ListView control tied to an install Property |
RadioButtonGroup | anyType (restriction) | 0..1 | Set of radio buttons tied to the specified Property |
Property | anyType (restriction) | 0..1 | Property value for a Product or Module. |
Binary | anyType (restriction) | 0..1 | Binary data used for CustomAction elements and UI controls. |
0..* | |||
Condition | string (extension) | 1..1 | Conditions for components, controls, features, and products. |
Publish | string (extension) | 1..1 | |
Subscribe | anyType (restriction) | 1..1 | Sets attributes for events in the EventMapping table |
<xs:element name="Control">
<xs:annotation>
<xs:appinfo>
<xse:msiRef table="Control" href="http://msdn.microsoft.com/library/aa368044.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="ComboBox" href="http://msdn.microsoft.com/library/aa367872.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Dialog" href="http://msdn.microsoft.com/library/aa368286.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="ListBox" href="http://msdn.microsoft.com/library/aa369762.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="ListView" href="http://msdn.microsoft.com/library/aa369764.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="RadioButton" href="http://msdn.microsoft.com/library/aa370962.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Contains the controls that appear on each dialog.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="Text" minOccurs="0">
<xs:annotation>
<xs:documentation>alternative to Text attribute when CDATA is needed to escape XML delimiters</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ComboBox" minOccurs="0">
<xs:annotation>
<xs:documentation>ComboBox table with ListItem children</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ListBox" minOccurs="0">
<xs:annotation>
<xs:documentation>ListBox table with ListItem children</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ListView" minOccurs="0">
<xs:annotation>
<xs:documentation>ListView table with ListItem children</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RadioButtonGroup" minOccurs="0">
<xs:annotation>
<xs:documentation>RadioButton table with RadioButton children</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="Property" minOccurs="0">
<xs:annotation>
<xs:documentation>Property table entry for the Property table column associated with this control</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="Binary" minOccurs="0">
<xs:annotation>
<xs:documentation>Icon referenced in icon column of row</xs:documentation>
</xs:annotation>
</xs:element>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>child elements affecting operation of this control</xs:documentation>
</xs:annotation>
<xs:element ref="Condition">
<xs:annotation>
<xs:documentation>Condition to specify actions for this control based on the outcome of the condition.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="Publish" />
<xs:element ref="Subscribe" />
</xs:choice>
</xs:sequence>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Combined with the Dialog Id to make up the primary key of the Control table.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Type" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>The type of the control. Could be one of the following: Billboard, Bitmap, CheckBox, ComboBox, DirectoryCombo, DirectoryList, Edit, GroupBox, Icon, Line, ListBox, ListView, MaskedEdit, PathEdit, ProgressBar, PushButton, RadioButtonGroup, ScrollableText, SelectionTree, Text, VolumeCostList, VolumeSelectCombo</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="X" use="required" type="LocalizableInteger">
<xs:annotation>
<xs:documentation>Horizontal coordinate of the upper-left corner of the rectangular boundary of the control. This must be a non-negative number.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Y" use="required" type="LocalizableInteger">
<xs:annotation>
<xs:documentation>Vertical coordinate of the upper-left corner of the rectangular boundary of the control. This must be a non-negative number.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Width" use="required" type="LocalizableInteger">
<xs:annotation>
<xs:documentation>Width of the rectangular boundary of the control. This must be a non-negative number.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Height" use="required" type="LocalizableInteger">
<xs:annotation>
<xs:documentation>Height of the rectangular boundary of the control. This must be a non-negative number.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Property" type="xs:string">
<xs:annotation>
<xs:documentation>The name of a defined property to be linked to this control. This column is required for active controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Text" type="xs:string">
<xs:annotation>
<xs:documentation>A localizable string used to set the initial text contained in a control. This attribute can contain a formatted string that is processed at install time to insert the values of properties using [PropertyName] syntax. Also supported are environment variables, file installation paths, and component installation directories; see <a href="http://msdn2.microsoft.com/library/aa368609.aspx" target="_blank" xmlns="http://schemas.microsoft.com/wix/2006/wi">Formatted</a> for details.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Help" type="xs:string">
<xs:annotation>
<xs:documentation>This attribute is reserved for future use. There is no need to use this until Windows Installer uses it for something.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ToolTip" type="xs:string">
<xs:annotation>
<xs:documentation>The string used for the Tooltip.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="CheckBoxValue" type="xs:string">
<xs:annotation>
<xs:documentation>This attribute is only valid for CheckBox Controls. When set, the linked Property will be set to this value when the check box is checked.</xs:documentation>
</xs:annotation>
</xs:attribute>
<!-- Control ordering - order of declaration in Dialog determines tab ordering -->
<xs:attribute name="TabSkip" type="YesNoType">
<xs:annotation>
<xs:documentation>Set this attribute to "yes" to cause this Control to be skipped in the tab sequence.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Default" type="YesNoType">
<xs:annotation>
<xs:documentation>Set this attribute to "yes" to cause this Control to be invoked by the return key.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Cancel" type="YesNoType">
<xs:annotation>
<xs:documentation>Set this attribute to "yes" to cause this Control to be invoked by the escape key.</xs:documentation>
</xs:annotation>
</xs:attribute>
<!-- common Control attributes -->
<xs:attribute name="Hidden" type="YesNoType">
<xs:annotation>
<xs:documentation>Set this attribute to "yes" to cause the Control to be hidden.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Disabled" type="YesNoType">
<xs:annotation>
<xs:documentation>Set this attribute to "yes" to cause the Control to be disabled.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Sunken" type="YesNoType">
<xs:annotation>
<xs:documentation>Set this attribute to "yes" to cause the Control to be sunken.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Indirect" type="YesNoType">
<xs:annotation>
<xs:documentation>Specifies whether the value displayed or changed by this control is referenced indirectly. If this bit is set, the control displays or changes the value of the property that has the identifier listed in the Property column of the Control table.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Integer" type="YesNoType">
<xs:annotation>
<xs:documentation>Set this attribute to "yes" to cause the linked Property value for the Control to be treated as an integer. Otherwise, the Property will be treated as a string.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RightToLeft" type="YesNoType">
<xs:annotation>
<xs:documentation>Set this attribute to "yes" to cause the Control to display from right to left.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RightAligned" type="YesNoType">
<xs:annotation>
<xs:documentation>Set this attribute to "yes" to cause the Control to be right aligned.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="LeftScroll" type="YesNoType">
<xs:annotation>
<xs:documentation>Set this attribute to "yes" to cause the scroll bar to display on the left side of the Control.</xs:documentation>
</xs:annotation>
</xs:attribute>
<!-- attributes applied to specific Controls -->
<xs:attribute name="Transparent" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Text Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="NoPrefix" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Text Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="NoWrap" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Text Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="FormatSize" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Text Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="UserLanguage" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Text Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Multiline" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Edit Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Password" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Edit Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ProgressBlocks" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for ProgressBar Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Removable" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Volume and Directory Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Fixed" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Volume and Directory Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Remote" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Volume and Directory Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="CDROM" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Volume and Directory Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RAMDisk" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Volume and Directory Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Floppy" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Volume and Directory Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ShowRollbackCost" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for VolumeCostList Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Sorted" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for Listbox, ListView, and ComboBox Controls. Set
the value of this attribute to "yes" to have entries appear in the order specified under the Control.
If the attribute value is "no" or absent the entries in the control will appear in alphabetical order.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ComboList" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for ComboBox Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Image" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for RadioButton, PushButton, and Icon Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IconSize">
<xs:annotation>
<xs:documentation>This attribute is only valid for RadioButton, PushButton, and Icon Controls.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="16" />
<xs:enumeration value="32" />
<xs:enumeration value="48" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="FixedSize" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for RadioButton, PushButton, and Icon Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Icon" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for RadioButton and PushButton Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Bitmap" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for RadioButton and PushButton Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PushLike" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for RadioButton and Checkbox Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="HasBorder" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute is only valid for RadioButton Controls.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ElevationShield" type="YesNoType">
<xs:annotation>
<xs:documentation>
This attribute is only valid for PushButton controls.
Set this attribute to "yes" to add the User Account Control (UAC) elevation icon (shield icon) to the PushButton control.
If this attribute's value is "yes" and the installation is not yet running with elevated privileges,
the pushbutton control is created using the User Account Control (UAC) elevation icon (shield icon).
If this attribute's value is "yes" and the installation is already running with elevated privileges,
the pushbutton control is created using the other icon attributes.
Otherwise, the pushbutton control is created using the other icon attributes.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
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 | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Primary key used to identify this particular entry. |
|
FileId | string | No | This attribute cannot be specified if the element is nested under a File element. |
|
SourceDirectory | string | No | This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified. |
|
SourceProperty | string | No | This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified. |
|
SourceName | WildCardLongFileNameType | No | This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified. |
|
DestinationDirectory | string | No | Set this value to the destination directory where an existing file on the target machine should be moved or copied to. |
|
DestinationProperty | string | No | Set this value to a property that will have a value that resolves to the full path of the destination directory. |
|
DestinationName | LongFileNameType | No | In prior versions of the WiX toolset, this attribute specified the short file name. |
|
DestinationLongName | LongFileNameType | No | ||
DestinationShortName | ShortFileNameType | No | The short file name of the file in 8.3 format. |
|
Delete | YesNoType | No | This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified. |
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.
<xs:element name="CopyFile">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="RemoveFile" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="DuplicateFile" href="http://msdn.microsoft.com/library/aa368335.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="MoveFile" href="http://msdn.microsoft.com/library/aa370055.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>
Copy or move an existing file on the target machine, or copy a file that is being installed, to another destination. When
this element is nested under a File element, the parent file will be installed, then copied to the specified destination
if the parent component of the file is selected for installation or removal. When this element is nested under
a Component element and no FileId attribute is specified, the file to copy or move must already be on the target machine.
When this element is nested under a Component element and the FileId attribute is specified, the specified file is installed,
then copied to the specified destination if the parent component is selected for installation or removal (use
this option to control the copy of a file in a different component by the parent component's installation state). If the
specified destination directory is the same as the directory containing the original file and the name for the proposed source
file is the same as the original, then no action takes place.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Primary key used to identify this particular entry.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="FileId" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute cannot be specified if the element is nested under a File element. Set this attribute's value to the identifier
of a file from a different component to copy it based on the install state of the parent component.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SourceDirectory" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified. Set
this value to the source directory from which to copy or move an existing file on the target machine. This Directory must
exist in the installer database at creation time. This attribute cannot be specified in conjunction with SourceProperty.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SourceProperty" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified. Set
this value to a property that will have a value that resolves to the full path of the source directory (or full path
including file name if SourceName is not specified). The property does not have to exist in the installer database at
creation time; it could be created at installation time by a custom action, on the command line, etc. This attribute
cannot be specified in conjunction with SourceDirectory.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SourceName" type="WildCardLongFileNameType">
<xs:annotation>
<xs:documentation>
This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified. Set
this value to the localizable name of the file(s) to be copied or moved. All of the files that
match the wild card will be removed from the specified directory. The value is a filename that may also
contain the wild card characters "?" for any single character or "*" for zero or more occurrences of any character. If this
attribute is not specified (and this element is not nested under a File element or specify a FileId attribute) then the
SourceProperty attribute should be set to the name of a property that will resolve to the full path of the source filename.
If the value of this attribute contains a "*" wildcard and the DestinationName attribute is specified, all moved or copied
files retain the file names from their sources.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DestinationDirectory" type="xs:string">
<xs:annotation>
<xs:documentation>
Set this value to the destination directory where an existing file on the target machine should be moved or copied to. This
Directory must exist in the installer database at creation time. This attribute cannot be specified in conjunction with
DestinationProperty.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DestinationProperty" type="xs:string">
<xs:annotation>
<xs:documentation>
Set this value to a property that will have a value that resolves to the full path of the destination directory. The property
does not have to exist in the installer database at creation time; it could be created at installation time by a custom
action, on the command line, etc. This attribute cannot be specified in conjunction with DestinationDirectory.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DestinationName" type="LongFileNameType">
<xs:annotation>
<xs:documentation>
In prior versions of the WiX toolset, this attribute specified the short file name.
Now set this value to the localizable name to be given to the original file after it is moved or copied.
If this attribute is not specified, then the destination file is given the same name as the source file.
If a short file name is specified, the DestinationShortName attribute may not be specified.
If a long file name is specified, the DestinationLongName attribute may not be specified.
Also, if this value is a long file name, the DestinationShortName attribute may be omitted to
allow WiX to attempt to generate a unique short file name.
However, if this name collides with another file or you wish to manually specify
the short file name, then the DestinationShortName attribute may be specified.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DestinationLongName" type="LongFileNameType">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="DestinationName" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DestinationShortName" type="ShortFileNameType">
<xs:annotation>
<xs:documentation>
The short file name of the file in 8.3 format.
This attribute should only be set if there is a conflict between generated short file names
or you wish to manually specify the short file name.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Delete" type="YesNoType">
<xs:annotation>
<xs:documentation>
This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified. In other
cases, if the attribute is not specified, the default value is "no" and the file is copied, not moved. Set the value to "yes"
in order to move the file (thus deleting the source file) instead of copying it.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Ends the internal installation costing process begun by the CostInitialize action.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
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.
<xs:element name="CostFinalize" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="CostInitialize" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="FileCost" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef action="CostFinalize" href="http://msdn.microsoft.com/library/aa368048.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Ends the internal installation costing process begun by the CostInitialize action. Any standard or custom actions that affect costing should be sequenced before the CostInitialize action. Call the FileCost action immediately following the CostInitialize action and then call the CostFinalize action to make all final cost calculations available to the installer through the Component table. The CostFinalize action must be executed before starting any user interface sequence which allows the user to view or modify Feature table selections or directories. The CostFinalize action queries the Condition table to determine which features are scheduled to be installed. Costing is done for each component in the Component table. The CostFinalize action also verifies that all the target directories are writable before allowing the installation to continue. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Initiates the internal installation costing process.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
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.
<xs:element name="CostInitialize" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="FileCost" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="CostFinalize" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef action="CostInitialize" href="http://msdn.microsoft.com/library/aa368048.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Initiates the internal installation costing process. Any standard or custom actions that affect costing should be sequenced before the CostInitialize action. Call the FileCost action immediately following the CostInitialize action. Then call the CostFinalize action following the CostInitialize action to make all final cost calculations available to the installer through the Component table. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Create folder as part of parent Component.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Directory | string | No | Identifier of Directory to create. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..* | |||
any | 1..1 | Allow any element from the ##other namespace. |
|
Permission | anyType (restriction) | 0..* | Sets ACLs on File, Registry, or CreateFolder. |
Shortcut | anyType (restriction) | 0..* | Shortcut, default target is parent File, CreateFolder, or Component's Directory |
<xs:element name="CreateFolder">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="RemoveFolder" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="CreateFolder" href="http://msdn.microsoft.com/library/aa368053.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Create folder as part of parent Component.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Shortcut" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Non-advertised shortcut to this folder, Shortcut Target is preset to the folder</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="Permission" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>ACL permission</xs:documentation>
</xs:annotation>
</xs:element>
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
<xs:attribute name="Directory" type="xs:string">
<xs:annotation>
<xs:documentation>Identifier of Directory to create. Defaults to Directory of parent Component.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Creates empty folders for components that are set to be installed.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="CreateFolders" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="CreateFolders" href="http://msdn.microsoft.com/library/aa368052.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Creates empty folders for components that are set to be installed. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Manages the creation of shortcuts.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="CreateShortcuts" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="CreateShortcuts" href="http://msdn.microsoft.com/library/aa368054.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Manages the creation of shortcuts. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Use to sequence a custom action.
Extending string
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Action | string | Yes | The action to which the Custom element applies. |
|
OnExit | NMTOKEN (restriction) | No | Mutually exclusive with Before, After, and Sequence attributes |
|
Before | string | No | The name of the standard or custom action before which this action should be performed. Mutually exclusive with OnExit, After, and Sequence attributes |
|
After | string | No | The name of the standard or custom action after which this action should be performed. |
|
Overridable | YesNoType | No | If "yes", the sequencing of this action may be overridden by sequencing elsewhere. |
|
Sequence | integer | No | The sequence number for this action. |
Contains text only.
<xs:element name="Custom">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="CustomAction" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Use to sequence a custom action.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:annotation>
<xs:documentation>Text node specifies the condition of the action.</xs:documentation>
</xs:annotation>
<xs:attribute name="Action" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The action to which the Custom element applies.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="OnExit">
<xs:annotation>
<xs:documentation>Mutually exclusive with Before, After, and Sequence attributes</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="success" />
<xs:enumeration value="cancel" />
<xs:enumeration value="error" />
<xs:enumeration value="suspend" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Before" type="xs:string">
<xs:annotation>
<xs:documentation>The name of the standard or custom action before which this action should be performed. Mutually exclusive with OnExit, After, and Sequence attributes</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="After" type="xs:string">
<xs:annotation>
<xs:documentation>The name of the standard or custom action after which this action should be performed. Mutually exclusive with Before, OnExit, and Sequence attributes</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Overridable" type="YesNoType">
<xs:annotation>
<xs:documentation>
If "yes", the sequencing of this action may be overridden by sequencing elsewhere.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Sequence" type="xs:integer">
<xs:annotation>
<xs:documentation>The sequence number for this action. Mutually exclusive with Before, After, and OnExit attributes</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
Specifies a custom action to be added to the MSI CustomAction table.
Extending string
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | No | The identifier of the custom action. |
|
BinaryKey | string | No | This attribute is a reference to a Binary element with matching Id attribute. |
|
FileKey | string | No | This attribute specifies a reference to a File element with matching Id attribute that will execute the custom action code in the file after the file is installed. |
|
Property | string | No | This attribute specifies a reference to a Property element with matching Id attribute that specifies the Property to be used or updated on execution of this custom action. |
|
Directory | string | No | This attribute specifies a reference to a Directory element with matching Id attribute containing a directory path. |
|
DllEntry | string | No | This attribute specifies the name of a function in a custom action to execute. |
|
ExeCommand | string | No | This attribute specifies the command line parameters to supply to an externally run executable. |
|
JScriptCall | string | No | This attribute specifies the name of the JScript function to execute in a script. |
|
VBScriptCall | string | No | This attribute specifies the name of the VBScript Subroutine to execute in a script. |
|
Script | NMTOKEN (restriction) | No | Creates a type 37 or 38 custom action. |
|
SuppressModularization | YesNoType | No | Use to suppress modularization of this custom action name in merge modules. |
|
Value | string | No | This attribute specifies a string value to use in the custom action. |
|
Error | string | No | This attribute specifies an index in the MSI Error table to use as an error message for a type 19 custom action that displays the error message and aborts a product's installation. |
|
Return | NMTOKEN (restriction) | No | Set this attribute to set the return behavior of the custom action. |
|
Execute | NMTOKEN (restriction) | No | This attribute indicates the scheduling of the custom action. |
|
Impersonate | YesNoType | No | This attribute specifies whether the Windows Installer, which executes as LocalSystem, should impersonate the user context of the installing user when executing this custom action. |
|
PatchUninstall | YesNoType | No | This attribute specifies that the Windows Installer, execute the custom action only when a patch is being uninstalled. |
|
Win64 | YesNoType | No | Specifies that a script custom action targets a 64-bit platform. |
|
TerminalServerAware | YesNoType | No | This attribute specifies controls whether the custom action will impersonate the installing user during per-machine installs on Terminal Server machines. |
|
HideTarget | YesNoType | No | Ensures the installer does not log the CustomActionData for the deferred custom action. |
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.
<xs:element name="CustomAction">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="Custom" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="CustomActionRef" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="CustomAction" href="http://msdn.microsoft.com/library/aa368062.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>
Specifies a custom action to be added to the MSI CustomAction table. Various combinations of the attributes for this element
correspond to different custom action types. For more information about custom actions see the
<html:a href="http://msdn.microsoft.com/library/aa372048.aspx" target="_blank" xmlns:html="http://www.w3.org/1999/xhtml">
Custom Action Types</html:a> topic on MSDN.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:annotation>
<xs:documentation>
The text node is only valid if the Script attribute is specified. In that case, the text node contains the script to embed.
</xs:documentation>
</xs:annotation>
<xs:attribute name="Id" type="xs:string">
<xs:annotation>
<xs:documentation>
The identifier of the custom action.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<!-- CustomAction Source specification, sets source Attribute bits -->
<xs:attribute name="BinaryKey" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute is a reference to a Binary element with matching Id attribute. That binary stream contains
the custom action for use during install. The custom action will not be installed into a target directory. This attribute is
typically used with the DllEntry attribute to specify the custom action DLL to use for a type 1 custom action, with the ExeCommand
attribute to specify a type 17 custom action that runs an embedded executable, or with the VBScriptCall or JScriptCall attributes
to specify a type 5 or 6 custom action.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="FileKey" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute specifies a reference to a File element with matching Id attribute that
will execute the custom action code in the file after the file is installed. This
attribute is typically used with the ExeCommand attribute to specify a type 18 custom action
that runs an installed executable, with the DllEntry attribute to specify an installed custom
action DLL to use for a type 17 custom action, or with the VBScriptCall or JScriptCall
attributes to specify a type 21 or 22 custom action.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Property" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute specifies a reference to a Property element with matching Id attribute that specifies the Property
to be used or updated on execution of this custom action. This attribute is
typically used with the Value attribute to create a type 51 custom action that parses
the text in Value and places it into the specified Property. This attribute is also used with
the ExeCommand attribute to create a type 50 custom action that uses the value of the
given property to specify the path to the executable. Type 51 custom actions are often useful to
pass values to a deferred custom action.
See <html:a href="http://msdn.microsoft.com/library/aa370543.aspx" target="_blank" xmlns:html="http://www.w3.org/1999/xhtml">
http://msdn.microsoft.com/library/aa370543.aspx</html:a>
for more information.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Directory" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute specifies a reference to a Directory element with matching Id attribute containing a directory path.
This attribute is typically used with the ExeCommand attribute to specify the source executable for a type 34
custom action, or with the Value attribute to specify a formatted string to place in the specified Directory
table entry in a type 35 custom action.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<!-- CustomAction Target specification, sets target Attribute bits -->
<xs:attribute name="DllEntry" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute specifies the name of a function in a custom action to execute.
This attribute is used with the BinaryKey attribute to create a type 1 custom
action, or with the FileKey attribute to create a type 17 custom action.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ExeCommand" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute specifies the command line parameters to supply to an externally
run executable. This attribute is typically used with the BinaryKey attribute for a type 2 custom action,
the FileKey attribute for a type 18 custom action, the Property attribute for a type 50 custom action,
or the Directory attribute for a type 34 custom action that specify the executable to run.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="JScriptCall" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute specifies the name of the JScript function to execute in a script. The script must be
provided in a Binary element identified by the BinaryKey attribute described above. In other words, this
attribute must be specified in conjunction with the BinaryKey attribute.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="VBScriptCall" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute specifies the name of the VBScript Subroutine to execute in a script. The script must be
provided in a Binary element identified by the BinaryKey attribute described above. In other words, this
attribute must be specified in conjunction with the BinaryKey attribute.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Script">
<xs:annotation>
<xs:documentation>
Creates a type 37 or 38 custom action. The text of the element should contain the script to be embedded in the package.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="jscript" />
<xs:enumeration value="vbscript" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="SuppressModularization" type="YesNoType">
<xs:annotation>
<xs:documentation>
Use to suppress modularization of this custom action name in merge modules.
This should only be necessary for table-driven custom actions because the
table name which they interact with cannot be modularized, so there can only
be one instance of the table.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Value" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute specifies a string value to use in the custom action. This attribute
must be used with the Property attribute to set the property as part of a
type 51 custom action or with the Directory attribute to set a directory path in that
table in a type 35 custom action. The value can be a literal value or derived from a
Property element using the <html:a href="http://msdn.microsoft.com/library/aa368609.aspx" target="_blank" xmlns:html="http://www.w3.org/1999/xhtml">Formatted</html:a>
syntax.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Error" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute specifies an index in the MSI Error table to use as an error message for a
type 19 custom action that displays the error message and aborts a product's installation.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<!-- Other CustomAction type attributes -->
<xs:attribute name="Return">
<xs:annotation>
<xs:documentation>
Set this attribute to set the return behavior of the custom action.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="asyncNoWait">
<xs:annotation>
<xs:documentation>
Indicates that the custom action will run asyncronously and execution may continue after the installer terminates.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="asyncWait">
<xs:annotation>
<xs:documentation>
Indicates that the custom action will run asynchronously but the installer will wait for the return code at sequence end.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="check">
<xs:annotation>
<xs:documentation>
Indicates that the custom action will run synchronously and the return code will be checked for success. This is the default.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ignore">
<xs:annotation>
<xs:documentation>
Indicates that the custom action will run synchronously and the return code will not be checked.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Execute">
<xs:annotation>
<xs:documentation>
This attribute indicates the scheduling of the custom action.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="commit">
<xs:annotation>
<xs:documentation>
Indicates that the custom action will run after successful completion of the installation script (at the end of the installation).
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="deferred">
<xs:annotation>
<xs:documentation>
Indicates that the custom action runs in-script (possibly with elevated privileges).
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="firstSequence">
<xs:annotation>
<xs:documentation>
Indicates that the custom action will only run in the first sequence that runs it.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="immediate">
<xs:annotation>
<xs:documentation>
Indicates that the custom action will run during normal processing time with user privileges. This is the default.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="oncePerProcess">
<xs:annotation>
<xs:documentation>
Indicates that the custom action will only run in the first sequence that runs it in the same process.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="rollback">
<xs:annotation>
<xs:documentation>
Indicates that a custom action will run in the rollback sequence when a failure
occurs during installation, usually to undo changes made by a deferred custom action.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="secondSequence">
<xs:annotation>
<xs:documentation>
Indicates that a custom action should be run a second time if it was previously run in an earlier sequence.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Impersonate" type="YesNoType">
<xs:annotation>
<xs:documentation>
This attribute specifies whether the Windows Installer, which executes as LocalSystem,
should impersonate the user context of the installing user when executing this custom action.
Typically the value should be 'yes', except when the custom action needs elevated privileges
to apply changes to the machine.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PatchUninstall" type="YesNoType">
<xs:annotation>
<xs:documentation>
This attribute specifies that the Windows Installer, execute the custom action only when
a patch is being uninstalled. These custom actions should also be conditioned using the
MSIPATCHREMOVE property to ensure proper down level (less than Windows Installer 4.5)
behavior.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Win64" type="YesNoType">
<xs:annotation>
<xs:documentation>
Specifies that a script custom action targets a 64-bit platform. Valid only when used with
the Script, VBScriptCall, and JScriptCall attributes.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="TerminalServerAware" type="YesNoType">
<xs:annotation>
<xs:documentation>
This attribute specifies controls whether the custom action will impersonate the
installing user during per-machine installs on Terminal Server machines.
Deferred execution custom actions that do not specify this attribute, or explicitly set it 'no',
will run with no user impersonation on Terminal Server machines during
per-machine installations. This attribute is only applicable when installing on the
Windows Server 2003 family.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="HideTarget" type="YesNoType">
<xs:annotation>
<xs:documentation>Ensures the installer does not log the CustomActionData for the deferred custom action.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
This will cause the entire contents of the Fragment containing the referenced CustomAction to be included in the installer database.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | The identifier of the CustomAction to reference. |
Always empty.
<xs:element name="CustomActionRef">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="CustomAction" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>
This will cause the entire contents of the Fragment containing the referenced CustomAction to be
included in the installer database.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The identifier of the CustomAction to reference.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>
A custom property for the PatchMetadata table.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Company | string | Yes | The name of the company. |
|
Property | string | Yes | The name of the metadata property. |
|
Value | string | Yes | Value of the metadata property. |
Always empty.
<xs:element name="CustomProperty">
<xs:annotation>
<xs:documentation>A custom property for the PatchMetadata table.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Company" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The name of the company.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Property" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The name of the metadata property.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Value" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Value of the metadata property.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Defines a custom table for use from a custom action.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Identifier for the custom table. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
1..1 | |||
Column | anyType (restriction) | 0..* | Column definition for a Custom Table |
Row | anyType (restriction) | 0..* | Row data for a Custom Table |
<xs:element name="CustomTable">
<xs:annotation>
<xs:documentation>Defines a custom table for use from a custom action.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="Column" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Column definition for the custom table.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="Row" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Row definition for the custom table.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Identifier for the custom table.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Used for a Custom Table. Specifies the data for the parent Row and specified Column.
Extending string
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Column | string | Yes | Specifies in which column to insert this data. |
Contains text only.
<xs:element name="Data">
<xs:annotation>
<xs:documentation>Used for a Custom Table. Specifies the data for the parent Row and specified Column.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:annotation>
<xs:documentation>A data value</xs:documentation>
</xs:annotation>
<xs:attribute name="Column" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Specifies in which column to insert this data.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
Stops a service and removes its registration from the system.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="DeleteServices" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="DeleteServices" href="http://msdn.microsoft.com/library/aa368270.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Stops a service and removes its registration from the system. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Declares a dependency on another merge module.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
RequiredId | string | Yes | Identifier of the merge module required by the merge module. |
|
RequiredLanguage | integer | Yes | Numeric language ID of the merge module in RequiredID. |
|
RequiredVersion | string | No | Version of the merge module in RequiredID. |
Always empty.
<xs:element name="Dependency">
<xs:annotation>
<xs:documentation>Declares a dependency on another merge module.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="RequiredId" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Identifier of the merge module required by the merge module.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RequiredLanguage" type="xs:integer" use="required">
<xs:annotation>
<xs:documentation>Numeric language ID of the merge module in RequiredID.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RequiredVersion" type="xs:string">
<xs:annotation>
<xs:documentation>Version of the merge module in RequiredID.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Defines a dialog box in the Dialog Table.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Unique identifier for the dialog. |
|
X | integer | No | Horizontal placement of the dialog box as a percentage of screen width. |
|
Y | integer | No | Vertical placement of the dialog box as a percentage of screen height. |
|
Width | integer | Yes | The width of the dialog box in dialog units. |
|
Height | integer | Yes | The height of the dialog box in dialog units. |
|
Title | string | No | The title of the dialog box. |
|
Hidden | YesNoType | No | Used to hide the dialog. |
|
Modeless | YesNoType | No | Used to set the dialog as modeless. |
|
NoMinimize | YesNoType | No | Used to specify if the dialog can be minimized. |
|
SystemModal | YesNoType | No | Used to set the dialog as system modal. |
|
KeepModeless | YesNoType | No | Keep modeless dialogs alive when this dialog is created through DoAction. |
|
TrackDiskSpace | YesNoType | No | Have the dialog periodically call the installer to check if available disk space has changed. |
|
CustomPalette | YesNoType | No | Used to specify if pictures in the dialog box are rendered with a custom palette. |
|
RightToLeft | YesNoType | No | Used to specify if the text in the dialog should be displayed in right to left reading order. |
|
RightAligned | YesNoType | No | Align text on the right. |
|
LeftScroll | YesNoType | No | Used to align the scroll bar on the left. |
|
ErrorDialog | YesNoType | No | Specifies this dialog as an error dialog. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
1..1 | |||
Control | anyType (restriction) | 0..* | Contains the controls that appear on each dialog. |
<xs:element name="Dialog">
<xs:annotation>
<xs:appinfo>
<xse:msiRef table="Control" href="http://msdn.microsoft.com/library/aa368044.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="ComboBox" href="http://msdn.microsoft.com/library/aa367872.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Dialog" href="http://msdn.microsoft.com/library/aa368286.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="ListBox" href="http://msdn.microsoft.com/library/aa369762.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="ListView" href="http://msdn.microsoft.com/library/aa369764.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="RadioButton" href="http://msdn.microsoft.com/library/aa370962.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>
Defines a dialog box in the Dialog Table.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="Control" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Control elements belonging to this dialog.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Unique identifier for the dialog.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="X" type="xs:integer">
<xs:annotation>
<xs:documentation>Horizontal placement of the dialog box as a percentage of screen width. The default value is 50.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Y" type="xs:integer">
<xs:annotation>
<xs:documentation>Vertical placement of the dialog box as a percentage of screen height. The default value is 50.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Width" use="required" type="xs:integer">
<xs:annotation>
<xs:documentation>The width of the dialog box in dialog units.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Height" use="required" type="xs:integer">
<xs:annotation>
<xs:documentation>The height of the dialog box in dialog units.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Title" type="xs:string">
<xs:annotation>
<xs:documentation>The title of the dialog box.</xs:documentation>
</xs:annotation>
</xs:attribute>
<!-- 'Attributes' column integer value generated from XML attributes below -->
<xs:attribute name="Hidden" type="YesNoType">
<xs:annotation>
<xs:documentation>Used to hide the dialog.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Modeless" type="YesNoType">
<xs:annotation>
<xs:documentation>Used to set the dialog as modeless.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="NoMinimize" type="YesNoType">
<xs:annotation>
<xs:documentation>Used to specify if the dialog can be minimized.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SystemModal" type="YesNoType">
<xs:annotation>
<xs:documentation>Used to set the dialog as system modal.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="KeepModeless" type="YesNoType">
<xs:annotation>
<xs:documentation>Keep modeless dialogs alive when this dialog is created through DoAction.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="TrackDiskSpace" type="YesNoType">
<xs:annotation>
<xs:documentation>Have the dialog periodically call the installer to check if available disk space has changed.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="CustomPalette" type="YesNoType">
<xs:annotation>
<xs:documentation>Used to specify if pictures in the dialog box are rendered with a custom palette.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RightToLeft" type="YesNoType">
<xs:annotation>
<xs:documentation>Used to specify if the text in the dialog should be displayed in right to left reading order.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RightAligned" type="YesNoType">
<xs:annotation>
<xs:documentation>Align text on the right.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="LeftScroll" type="YesNoType">
<xs:annotation>
<xs:documentation>Used to align the scroll bar on the left.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ErrorDialog" type="YesNoType">
<xs:annotation>
<xs:documentation>Specifies this dialog as an error dialog.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Reference to a Dialog.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | 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.
<xs:element name="DialogRef">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="Dialog" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>
Reference to a Dialog. This will cause the entire referenced section's contents
to be included in the installer database.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The identifier of the Dialog to reference.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Adds a digital certificate.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Identifier for a certificate file. |
|
SourceFile | string | Yes | The path to the certificate file. |
Always empty.
<xs:element name="DigitalCertificate">
<xs:annotation>
<xs:documentation>
Adds a digital certificate.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="MsiDigitalCertificate" href="http://msdn.microsoft.com/library/aa370086.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Identifier for a certificate file.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SourceFile" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The path to the certificate file.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Adds a digital signature.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
SourceFile | string | No | The path to signature's optional hash file. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
1..1 | |||
DigitalCertificate | anyType (restriction) | 1..1 | Adds a digital certificate. |
<xs:element name="DigitalSignature">
<xs:annotation>
<xs:documentation>
Adds a digital signature.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="MsiDigitalSignature" href="http://msdn.microsoft.com/library/aa370087.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:element ref="DigitalCertificate" />
</xs:choice>
<xs:attribute name="SourceFile" type="xs:string">
<xs:annotation>
<xs:documentation>The path to signature's optional hash file.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Directory layout for the product.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | This value is the unique identifier of the directory entry. |
|
ComponentGuidGenerationSeed | Guid | No | The Component Guid Generation Seed is a guid that must be used when a Component with the generate guid directive ("*") is not rooted in a standard Windows Installer directory (for example, ProgramFilesFolder or CommonFilesFolder, etc). |
|
DiskId | integer | No | Sets the default disk identifier for the files contained in this directory. |
|
FileSource | string | No | Used to set the file system source for this directory's child elements. |
|
LongName | LongFileNameType | No | ||
LongSource | LongFileNameType | No | ||
Name | LongFileNameType | No | The name of the directory. |
|
ShortName | ShortFileNameType | No | The short name of the directory in 8.3 format. |
|
ShortSourceName | ShortFileNameType | No | The short name of the directory on the source media in 8.3 format. |
|
SourceName | LongFileNameType | No | The name of the directory on the source media. |
|
src | string | No |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..* | |||
any | 1..1 | Allow any element from the ##other namespace. |
|
Component | anyType (restriction) | 1..1 | Component for parent Directory |
Directory | anyType (restriction) | 1..1 | Directory layout for the product. |
Merge | anyType (restriction) | 1..1 | Merge directive to bring in a merge module that will be redirected to the parent directory. |
SymbolPath | anyType (restriction) | 1..1 | A path to symbols. |
Also specifies the mappings between source and target directories.
<xs:element name="Directory">
<xs:annotation>
<xs:documentation>Directory layout for the product. Also specifies the mappings between source and target directories.</xs:documentation>
<xs:appinfo>
<xse:seeAlso ref="DirectoryRef" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Directory" href="http://msdn.microsoft.com/library/aa368295.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:howtoRef href="add_a_file.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Add a file to your installer</xse:howtoRef>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Component" />
<xs:element ref="Directory" />
<xs:element ref="Merge" />
<xs:element ref="SymbolPath" />
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>This value is the unique identifier of the directory entry.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ComponentGuidGenerationSeed" type="Guid">
<xs:annotation>
<xs:documentation>
The Component Guid Generation Seed is a guid that must be used when a Component with the generate guid directive ("*")
is not rooted in a standard Windows Installer directory (for example, ProgramFilesFolder or CommonFilesFolder, etc).
It is recommended that this attribute be avoided and that developers install their Components under standard
directories with unique names instead (for example, "ProgramFilesFolder\Company Name Product Name Version"). It is
important to note that once a directory is assigned a Component Guid Generation Seed the value must not change until
the directory name changes.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DiskId" type="xs:integer">
<xs:annotation>
<xs:documentation>
Sets the default disk identifier for the files contained in this directory.
This attribute must be set on a Component, Directory, or DirectoryRef element or all of its children File
elements, else the default disk identifier of 1 is assumed. The value of this attribute should correspond to the Id attribute of a
Media element authored elsewhere. By creating this connection between a component (or
particular files), you set the packaging options to the values specified in the Media
element (values such as compression level, cab embedding, etc...).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="FileSource" type="xs:string">
<xs:annotation>
<xs:documentation>Used to set the file system source for this directory's child elements.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="LongName" type="LongFileNameType">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="Name" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="LongSource" type="LongFileNameType">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="SourceName" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="LongFileNameType">
<xs:annotation>
<xs:documentation>
The name of the directory.
Do not specify this attribute (or the LongName attribute) if this directory represents
the same directory as the parent (see the Windows Installer SDK's
<html:a href="http://msdn2.microsoft.com/library/Aa368295.aspx" target="_blank" xmlns:html="http://www.w3.org/1999/xhtml">Directory table</html:a>
topic for more information about the "." operator).
In prior versions of the WiX toolset, this attribute specified the short directory name.
This attribute's value may now be either a short or long directory name.
If a short directory name is specified, the ShortName attribute may not be specified.
If a long directory name is specified, the LongName attribute may not be specified.
Also, if this value is a long directory name, the ShortName attribute may be omitted to
allow WiX to attempt to generate a unique short directory name.
However, if this name collides with another directory or you wish to manually specify
the short directory name, then the ShortName attribute may be specified.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ShortName" type="ShortFileNameType">
<xs:annotation>
<xs:documentation>
The short name of the directory in 8.3 format.
This attribute should only be set if there is a conflict between generated short directory names
or the user wants to manually specify the short directory name.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ShortSourceName" type="ShortFileNameType">
<xs:annotation>
<xs:documentation>
The short name of the directory on the source media in 8.3 format.
This attribute should only be set if there is a conflict between generated short directory names
or the user wants to manually specify the short source directory name.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SourceName" type="LongFileNameType">
<xs:annotation>
<xs:documentation>
The name of the directory on the source media.
If this attribute is note specified, the Windows Installer will default to the Name attribute.
In prior versions of the WiX toolset, this attribute specified the short source directory name.
This attribute's value may now be either a short or long directory name.
If a short directory name is specified, the ShortSourceName attribute may not be specified.
If a long directory name is specified, the LongSource attribute may not be specified.
Also, if this value is a long directory name, the ShortSourceName attribute may be omitted to
allow WiX to attempt to generate a unique short directory name.
However, if this name collides with another directory or you wish to manually specify
the short directory name, then the ShortSourceName attribute may be specified.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="src" type="xs:string">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="FileSource" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Create a reference to a Directory element in another Fragment.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | The identifier of the Directory element to reference. |
|
DiskId | integer | No | Sets the default disk identifier for the files contained in this directory. |
|
FileSource | string | No | Used to set the file system source for this directory ref's child elements. |
|
src | string | No |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..* | |||
any | 1..1 | Allow any element from the ##other namespace. |
|
Component | anyType (restriction) | 1..1 | Component for parent Directory |
Directory | anyType (restriction) | 1..1 | Directory layout for the product. |
Merge | anyType (restriction) | 1..1 | Merge directive to bring in a merge module that will be redirected to the parent directory. |
<xs:element name="DirectoryRef">
<xs:annotation>
<xs:documentation>Create a reference to a Directory element in another Fragment.</xs:documentation>
<xs:appinfo>
<xse:seeAlso ref="Directory" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:howtoRef href="add_a_file.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Add a file to your installer</xse:howtoRef>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Component" />
<xs:element ref="Directory" />
<xs:element ref="Merge" />
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The identifier of the Directory element to reference.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DiskId" type="xs:integer">
<xs:annotation>
<xs:documentation>
Sets the default disk identifier for the files contained in this directory.
This attribute must be set on a Component, Directory, or DirectoryRef element or all of its children File
elements, else the default disk identifier of 1 is assumed. The value of this attribute should correspond to the Id attribute of a
Media element authored elsewhere. By creating this connection between a component (or
particular files), you set the packaging options to the values specified in the Media
element (values such as compression level, cab embedding, etc...).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="FileSource" type="xs:string">
<xs:annotation>
<xs:documentation>Used to set the file system source for this directory ref's child elements.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="src" type="xs:string">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="FileSource" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>
Searches for directory and assigns to value of parent Property.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Unique identifier for the directory search. |
|
Path | string | No | Path on the user's system. Either absolute, or relative to containing directories. |
|
Depth | integer | No | Depth below the path that the installer searches for the file or directory specified by the search. |
|
AssignToProperty | YesNoType | No | Set the result of this search to the value of the outer Property. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..1 | |||
DirectorySearch | anyType (restriction) | 1..1 | Searches for directory and assigns to value of parent Property. |
DirectorySearchRef | anyType (restriction) | 1..1 | References an existing DirectorySearch element. |
FileSearch | anyType (restriction) | 1..1 | Searches for file and assigns to fullpath value of parent Property |
FileSearchRef | anyType (restriction) | 1..1 | References an existing FileSearch element. |
<xs:element name="DirectorySearch">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="ComponentSearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="IniFileSearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="RegistrySearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="DrLocator" href="http://msdn.microsoft.com/library/aa368331.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Signature" href="http://msdn.microsoft.com/library/aa371853.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:howtoRef href="check_the_version_number.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Check the version number of a file during installation</xse:howtoRef>
</xs:appinfo>
<xs:documentation>Searches for directory and assigns to value of parent Property.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0">
<xs:element ref="DirectorySearch" />
<xs:element ref="DirectorySearchRef" />
<xs:element ref="FileSearch" />
<xs:element ref="FileSearchRef" />
</xs:choice>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Unique identifier for the directory search.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Path" type="xs:string">
<xs:annotation>
<xs:documentation>Path on the user's system. Either absolute, or relative to containing directories.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Depth" type="xs:integer">
<xs:annotation>
<xs:documentation>
Depth below the path that the installer searches for the file or directory specified by the search.
If this value is not specified, the depth is assumed to be 0.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AssignToProperty" type="YesNoType">
<xs:annotation>
<xs:documentation>Set the result of this search to the value of the outer Property.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
References an existing DirectorySearch element.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Id of the search being referred to. |
|
Parent | string | No | This attribute is the signature of the parent directory of the file or directory in the Signature_ column. |
|
Path | string | No | Path on the user's system. Either absolute, or relative to containing directories. |
|
AssignToProperty | YesNoType | No | Set the result of this search to the value of the outer Property. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..1 | |||
DirectorySearch | anyType (restriction) | 1..1 | Searches for directory and assigns to value of parent Property. |
DirectorySearchRef | anyType (restriction) | 1..1 | References an existing DirectorySearch element. |
FileSearch | anyType (restriction) | 1..1 | Searches for file and assigns to fullpath value of parent Property |
FileSearchRef | anyType (restriction) | 1..1 | References an existing FileSearch element. |
<xs:element name="DirectorySearchRef">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="ComponentSearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="IniFileSearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="RegistrySearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:remarks xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">
<html:p xmlns:html="http://www.w3.org/1999/xhtml">If you intend to use a DirectorySearchRef to reference a DirectorySearch but they have different parent elements, you must use a DirectorySearch instead of a DirectorySearchRef. This is because the DrLocator table in an installer package is keyed on the Id, Parent, and Path. When a DirectorySearch and a DirectorySearchRef element are under different parent elements, the Parent will automatically be different so a DirectorySearchRef will not have a DirectorySearch to reference.</html:p>
</xse:remarks>
</xs:appinfo>
<xs:documentation>References an existing DirectorySearch element.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0">
<xs:element ref="DirectorySearch" />
<xs:element ref="DirectorySearchRef" />
<xs:element ref="FileSearch" />
<xs:element ref="FileSearchRef" />
</xs:choice>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Id of the search being referred to.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Parent" type="xs:string">
<xs:annotation>
<xs:documentation>This attribute is the signature of the parent directory of the file or directory in the Signature_ column. If this field is null, and the Path column does not expand to a full path, then all the fixed drives of the user's system are searched by using the Path. This field is a key into one of the following tables: the RegLocator, the IniLocator, the CompLocator, or the DrLocator tables.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Path" type="xs:string">
<xs:annotation>
<xs:documentation>Path on the user's system. Either absolute, or relative to containing directories.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AssignToProperty" type="YesNoType">
<xs:annotation>
<xs:documentation>Set the result of this search to the value of the outer Property.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Disables rollback for the remainder of the installation.
Name | Type | Required? | Default | Description |
---|---|---|---|---|
After | string | No | The name of an action that this action should come after. |
|
Before | string | No | The name of an action that this action should come before. |
|
Overridable | YesNoType | No | If "yes", the sequencing of this action may be overridden by sequencing elsewhere. |
|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
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.
<xs:element name="DisableRollback" type="ActionModuleSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="DisableRollback" href="http://msdn.microsoft.com/library/aa368308.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Disables rollback for the remainder of the installation. Special actions don't have a built-in sequence number and thus must appear relative to another action. The suggested way to do this is by using the Before or After attribute. InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize.</xs:documentation>
</xs:annotation>
</xs:element>
Duplicates files installed by the InstallFiles action.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="DuplicateFiles" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="DuplicateFiles" href="http://msdn.microsoft.com/library/aa368334.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Duplicates files installed by the InstallFiles action. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Extending string
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Unique identifier for embedded chainer. |
|
CommandLine | string | No | Value to append to the transaction handle and passed to the chainer executable. |
|
BinarySource | string | No | Reference to the Binary element that contains the chainer executeable. |
|
FileSource | string | No | Reference to the File element that is the chainer executeable. |
|
PropertySource | string | No | Reference to a Property that resolves to the full path to the chainer executeable. |
Contains text only.
<xs:element name="EmbeddedChainer">
<xs:annotation>
<xs:appinfo>
<xse:msiRef table="MsiEmbeddedChainer " href="http://msdn.microsoft.com/library/bb736316.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="Binary" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="File" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="Property" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="EmbeddedChainerRef" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:annotation>
<xs:documentation>
Element value is the condition. CDATA may be used to when a condition contains many XML characters
that must be escaped. It is important to note that each EmbeddedChainer element must have a mutually exclusive condition
to ensure that only one embedded chainer will execute at a time. If the conditions are not mutually exclusive the chainer
that executes is undeterministic.
</xs:documentation>
</xs:annotation>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Unique identifier for embedded chainer.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="CommandLine" type="xs:string">
<xs:annotation>
<xs:documentation>Value to append to the transaction handle and passed to the chainer executable.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="BinarySource" type="xs:string">
<xs:annotation>
<xs:documentation>
Reference to the Binary element that contains the chainer executeable. Mutually exclusive with
the FileSource and PropertySource attributes.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="FileSource" type="xs:string">
<xs:annotation>
<xs:documentation>
Reference to the File element that is the chainer executeable. Mutually exclusive with
the BinarySource and PropertySource attributes.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PropertySource" type="xs:string">
<xs:annotation>
<xs:documentation>
Reference to a Property that resolves to the full path to the chainer executeable. Mutually exclusive with
the BinarySource and FileSource attributes.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
Reference to an EmbeddedChainer element.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes |
Always empty.
This will force the entire referenced Fragment's contents to be included in the installer database.
<xs:element name="EmbeddedChainerRef">
<xs:annotation>
<xs:documentation>
Reference to an EmbeddedChainer element. This will force the entire referenced Fragment's contents
to be included in the installer database.
</xs:documentation>
<xs:appinfo>
<xse:seeAlso ref="EmbeddedChainer" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required" />
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>
Element value is the condition.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Unique identifier for embedded UI. |
|
IgnoreFatalExit | YesNoType | No | Embedded UI will not recieve any INSTALLLOGMODE_FATALEXIT messages. |
|
IgnoreError | YesNoType | No | Embedded UI will not recieve any INSTALLLOGMODE_ERROR messages. |
|
IgnoreWarning | YesNoType | No | Embedded UI will not recieve any INSTALLLOGMODE_WARNING messages. |
|
IgnoreUser | YesNoType | No | Embedded UI will not recieve any INSTALLLOGMODE_USER messages. |
|
IgnoreInfo | YesNoType | No | Embedded UI will not recieve any INSTALLLOGMODE_INFO messages. |
|
IgnoreFilesInUse | YesNoType | No | Embedded UI will not recieve any INSTALLLOGMODE_FILESINUSE messages. |
|
IgnoreResolveSource | YesNoType | No | Embedded UI will not recieve any INSTALLLOGMODE_RESOLVESOURCE messages. |
|
IgnoreOutOfDiskSpace | YesNoType | No | Embedded UI will not recieve any INSTALLLOGMODE_OUTOFDISKSPACE messages. |
|
IgnoreActionStart | YesNoType | No | Embedded UI will not recieve any INSTALLLOGMODE_ACTIONSTART messages. |
|
IgnoreActionData | YesNoType | No | Embedded UI will not recieve any INSTALLLOGMODE_ACTIONDATA messages. |
|
IgnoreProgress | YesNoType | No | Embedded UI will not recieve any INSTALLLOGMODE_PROGRESS messages. |
|
IgnoreCommonData | YesNoType | No | Embedded UI will not recieve any INSTALLLOGMODE_COMMONDATA messages. |
|
IgnoreInitialize | YesNoType | No | Embedded UI will not recieve any INSTALLLOGMODE_INITIALIZE messages. |
|
IgnoreTerminate | YesNoType | No | Embedded UI will not recieve any INSTALLLOGMODE_TERMINATE messages. |
|
IgnoreShowDialog | YesNoType | No | Embedded UI will not recieve any INSTALLLOGMODE_SHOWDIALOG messages. |
|
IgnoreRMFilesInUse | YesNoType | No | Embedded UI will not recieve any INSTALLLOGMODE_RMFILESINUSE messages. |
|
Name | LongFileNameType | No | The name for the embedded UI DLL when it is extracted from the Product and executed. (Windows Installer does not support the typical short filename and long filename combination for embedded UI files as it does for other kinds of files.) |
|
SourceFile | string | Yes | Path to the binary file that is the embedded UI. |
|
SupportBasicUI | YesNoType | No | Set yes to allow the Windows Installer to display the embedded UI during basic UI level installation. |
Can contain a mix of text and the elements defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
1..1 | |||
EmbeddedUIResource | anyType (restriction) | 0..* | Defines a resource for use by the embedded UI. |
Use CDATA if message contains delimiter characters.
<xs:element name="EmbeddedUI">
<xs:annotation>
<xs:appinfo>
<xse:msiRef table="MsiEmbeddedUI" href="http://msdn.microsoft.com/library/bb736317.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Element value is the condition. Use CDATA if message contains delimiter characters.</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:sequence>
<xs:element ref="EmbeddedUIResource" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Specifies extra files to be extracted for use by the embedded UI, such as language resources.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Unique identifier for embedded UI.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreFatalExit" type="YesNoType">
<xs:annotation>
<xs:documentation>Embedded UI will not recieve any INSTALLLOGMODE_FATALEXIT messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreError" type="YesNoType">
<xs:annotation>
<xs:documentation>Embedded UI will not recieve any INSTALLLOGMODE_ERROR messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreWarning" type="YesNoType">
<xs:annotation>
<xs:documentation>Embedded UI will not recieve any INSTALLLOGMODE_WARNING messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreUser" type="YesNoType">
<xs:annotation>
<xs:documentation>Embedded UI will not recieve any INSTALLLOGMODE_USER messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreInfo" type="YesNoType">
<xs:annotation>
<xs:documentation>Embedded UI will not recieve any INSTALLLOGMODE_INFO messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreFilesInUse" type="YesNoType">
<xs:annotation>
<xs:documentation>Embedded UI will not recieve any INSTALLLOGMODE_FILESINUSE messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreResolveSource" type="YesNoType">
<xs:annotation>
<xs:documentation>Embedded UI will not recieve any INSTALLLOGMODE_RESOLVESOURCE messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreOutOfDiskSpace" type="YesNoType">
<xs:annotation>
<xs:documentation>Embedded UI will not recieve any INSTALLLOGMODE_OUTOFDISKSPACE messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreActionStart" type="YesNoType">
<xs:annotation>
<xs:documentation>Embedded UI will not recieve any INSTALLLOGMODE_ACTIONSTART messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreActionData" type="YesNoType">
<xs:annotation>
<xs:documentation>Embedded UI will not recieve any INSTALLLOGMODE_ACTIONDATA messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreProgress" type="YesNoType">
<xs:annotation>
<xs:documentation>Embedded UI will not recieve any INSTALLLOGMODE_PROGRESS messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreCommonData" type="YesNoType">
<xs:annotation>
<xs:documentation>Embedded UI will not recieve any INSTALLLOGMODE_COMMONDATA messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreInitialize" type="YesNoType">
<xs:annotation>
<xs:documentation>Embedded UI will not recieve any INSTALLLOGMODE_INITIALIZE messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreTerminate" type="YesNoType">
<xs:annotation>
<xs:documentation>Embedded UI will not recieve any INSTALLLOGMODE_TERMINATE messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreShowDialog" type="YesNoType">
<xs:annotation>
<xs:documentation>Embedded UI will not recieve any INSTALLLOGMODE_SHOWDIALOG messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreRMFilesInUse" type="YesNoType">
<xs:annotation>
<xs:documentation>Embedded UI will not recieve any INSTALLLOGMODE_RMFILESINUSE messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="LongFileNameType">
<xs:annotation>
<xs:documentation>
The name for the embedded UI DLL when it is extracted from the Product and executed. (Windows Installer
does not support the typical short filename and long filename combination for embedded UI files as it
does for other kinds of files.) If this attribute is not specified the Id attribute will be used.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SourceFile" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>
Path to the binary file that is the embedded UI. This must be a DLL that exports the following
three entry points: InitializeEmbeddedUI, EmbeddedUIHandler and ShutdownEmbeddedUI.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SupportBasicUI" type="YesNoType">
<xs:annotation>
<xs:documentation>Set yes to allow the Windows Installer to display the embedded UI during basic UI level installation.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Defines a resource for use by the embedded UI.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Identifier for the embedded UI resource. |
|
Name | LongFileNameType | Yes | The name for the resource when it is extracted from the Product for use by the embedded UI DLL. (Windows Installer does not support the typical short filename and long filename combination for embedded UI files as it does for other kinds of files.) |
|
SourceFile | string | Yes | Path to the binary file that is the embedded UI resource. |
Always empty.
<xs:element name="EmbeddedUIResource">
<xs:annotation>
<xs:documentation>
Defines a resource for use by the embedded UI.
</xs:documentation>
<xs:appinfo>
<xse:seeAlso ref="EmbeddedUI" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="MsiEmbeddedUI" href="http://msdn.microsoft.com/library/bb736317.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Identifier for the embedded UI resource.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="LongFileNameType" use="required">
<xs:annotation>
<xs:documentation>
The name for the resource when it is extracted from the Product for use by the embedded UI DLL. (Windows
Installer does not support the typical short filename and long filename combination for embedded UI files
as it does for other kinds of files.) If this attribute is not specified the Id attribute will be used.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SourceFile" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Path to the binary file that is the embedded UI resource.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Use this element to ensure that a table appears in the installer database, even if its empty.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | The name of the table. |
Always empty.
<xs:element name="EnsureTable">
<xs:annotation>
<xs:documentation>
Use this element to ensure that a table appears in the installer database, even if its empty.
</xs:documentation>
<xs:appinfo>
<xse:remarks xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">
This element is particularly useful for two problems that may occur while merging merge modules:
<html:ol xmlns:html="http://www.w3.org/1999/xhtml"><html:li>
The first likely problem is that in order to properly merge you need to have certain
tables present prior to merging. Using this element is one way to ensure those tables
are present prior to the merging.
</html:li><html:li>
The other common problem is that a merge module has incorrect validation information
about some tables. By ensuring these tables prior to merging, you can avoid this
problem because the correct validation information will go into the installer database
before the merge module has a chance to set it incorrectly.
</html:li></html:ol></xse:remarks>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>The name of the table.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Environment variables added or removed for the parent component.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Unique identifier for environment entry. |
|
Name | string | Yes | Name of the environment variable. |
|
Value | string | No | The value to set into the environment variable. |
|
Separator | string | No | Optional attribute to change the separator used between values. |
|
Action | NMTOKEN (restriction) | No | Specfies whether the environmental variable should be created, set or removed when the parent component is installed. |
|
Part | NMTOKEN (restriction) | No | ||
Permanent | YesNoType | No | Specifies that the environment variable should not be removed on uninstall. |
|
System | YesNoType | No | Specifies that the environment variable should be added to the system environment space. |
Always empty.
<xs:element name="Environment">
<xs:annotation>
<xs:documentation>
Environment variables added or removed for the parent component.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="Environment" href="http://msdn.microsoft.com/library/aa368369.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Unique identifier for environment entry.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Name of the environment variable.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Value" type="xs:string">
<xs:annotation>
<xs:documentation>
The value to set into the environment variable.
If this attribute is not set, the environment variable is removed during installation if it exists on the machine.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Separator" type="xs:string">
<xs:annotation>
<xs:documentation>Optional attribute to change the separator used between values. By default a semicolon is used.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Action">
<xs:annotation>
<xs:documentation>Specfies whether the environmental variable should be created, set or removed when the parent component is installed.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="create">
<xs:annotation>
<xs:documentation>Creates the environment variable if it does not exist, then set it during installation. This has no effect on the value of the environment variable if it already exists.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="set">
<xs:annotation>
<xs:documentation>Creates the environment variable if it does not exist, and then set it during installation. If the environment variable exists, set it during the installation.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="remove">
<xs:annotation>
<xs:documentation>
Removes the environment variable during an installation.
The installer only removes an environment variable during an installation if the name and value
of the variable match the entries in the Name and Value attributes.
If you want to remove an environment variable, regardless of its value, do not set the Value attribute.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Part">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="all">
<xs:annotation>
<xs:documentation>
This value is the entire environmental variable. This is the default.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="first">
<xs:annotation>
<xs:documentation>
This value is prefixed.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="last">
<xs:annotation>
<xs:documentation>
This value is appended.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Permanent" type="YesNoType">
<xs:annotation>
<xs:documentation>Specifies that the environment variable should not be removed on uninstall.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="System" type="YesNoType">
<xs:annotation>
<xs:documentation>
Specifies that the environment variable should be added to the system environment space. The default
is 'no' which indicates the environment variable is added to the user environment space.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Extending string
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | integer | No | Number of the error for which a message is being provided. |
Contains text only.
<xs:element name="Error">
<xs:annotation>
<xs:appinfo>
<xse:msiRef table="Error" href="http://msdn.microsoft.com/library/aa368554.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:annotation>
<xs:documentation>Element value is Message, use CDATA if message contains delimiter characters</xs:documentation>
</xs:annotation>
<xs:attribute name="Id" type="xs:integer">
<xs:annotation>
<xs:documentation>Number of the error for which a message is being provided. See MSI SDK for error definitions.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
Declares a merge module with which this merge module is incompatible.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
ExcludedId | string | Yes | Identifier of the merge module that is incompatible. |
|
ExcludeExceptLanguage | integer | No | Numeric language ID of the merge module in ExcludedID. |
|
ExcludeLanguage | integer | No | Numeric language ID of the merge module in ExcludedID. |
|
ExcludedMinVersion | string | No | Minimum version excluded from a range. |
|
ExcludedMaxVersion | string | No | Maximum version excluded from a range. |
Always empty.
<xs:element name="Exclusion">
<xs:annotation>
<xs:documentation>Declares a merge module with which this merge module is incompatible.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="ExcludedId" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Identifier of the merge module that is incompatible.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ExcludeExceptLanguage" type="xs:integer">
<xs:annotation>
<xs:documentation>Numeric language ID of the merge module in ExcludedID. All except this language will be excluded. Only one of ExcludeExceptLanguage and ExcludeLanguage may be specified.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ExcludeLanguage" type="xs:integer">
<xs:annotation>
<xs:documentation>Numeric language ID of the merge module in ExcludedID. The specified language will be excluded. Only one of ExcludeExceptLanguage and ExcludeLanguage may be specified.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ExcludedMinVersion" type="xs:string">
<xs:annotation>
<xs:documentation>Minimum version excluded from a range. If not set, all versions before max are excluded. If neither max nor min, no exclusion based on version.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ExcludedMaxVersion" type="xs:string">
<xs:annotation>
<xs:documentation>Maximum version excluded from a range. If not set, all versions after min are excluded. If neither max nor min, no exclusion based on version.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Initiates the execution sequence.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="ExecuteAction" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="ExecuteAction" href="http://msdn.microsoft.com/library/aa368565.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Initiates the execution sequence. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Extension for a Component
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | This is simply the file extension, like "doc" or "xml". Do not include the preceding period. |
|
ContentType | string | No | The MIME type that is to be written. |
|
Advertise | YesNoType | No | Whether this extension is to be advertised. The default is "no". |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..* | |||
MIME | anyType (restriction) | 1..1 | MIME content-type for an Extension |
Verb | anyType (restriction) | 1..1 | Verb definition for an Extension. |
<xs:element name="Extension">
<xs:annotation>
<xs:documentation>
Extension for a Component
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="MIME" href="http://msdn.microsoft.com/library/aa370035.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Verb" href="http://msdn.microsoft.com/library/aa372487.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Registry" href="http://msdn.microsoft.com/library/aa371168.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>MIME and Verbs can be associated with Extensions</xs:documentation>
</xs:annotation>
<xs:element ref="MIME" />
<xs:element ref="Verb" />
</xs:choice>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>This is simply the file extension, like "doc" or "xml". Do not include the preceding period.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ContentType" type="xs:string">
<xs:annotation>
<xs:documentation>The MIME type that is to be written.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Advertise" type="YesNoType">
<xs:annotation>
<xs:documentation>Whether this extension is to be advertised. The default is "no".</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>
Contains information about specific files that are not part of a regular target image.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
File | string | Yes | Foreign key into the File table. |
|
Source | string | No | Full path of the external file. |
|
src | string | No | ||
Order | int | Yes | Specifies the order of the external files to use when creating the patch. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
1..1 | |||
ProtectRange | anyType (restriction) | 1..* | Specifies part of a file that cannot be overwritten during patching. |
SymbolPath | anyType (restriction) | 1..* | A path to symbols. |
0..* | |||
IgnoreRange | anyType (restriction) | 1..1 | Specifies part of a file that is to be ignored during patching. |
<xs:element name="ExternalFile">
<xs:annotation>
<xs:documentation>Contains information about specific files that are not part of a regular target image.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="ProtectRange" maxOccurs="unbounded" />
<xs:element ref="SymbolPath" maxOccurs="unbounded" />
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="IgnoreRange" />
</xs:choice>
</xs:sequence>
<xs:attribute name="File" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Foreign key into the File table.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Source" type="xs:string">
<xs:annotation>
<xs:documentation>Full path of the external file.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="src" type="xs:string">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="Source" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Order" type="xs:int" use="required">
<xs:annotation>
<xs:documentation>Specifies the order of the external files to use when creating the patch.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Group of one or more upgraded images of a product.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
DiskId | int | No | Entered into the DiskId field of the new Media table record. |
|
DiskPrompt | string | No | Value to display in the "[1]" of the DiskPrompt Property. |
|
MediaSrcProp | string | No | Entered into the Source field of the new Media table entry of the upgraded image. |
|
Name | string | Yes | Identifier for the family. |
|
SequenceStart | int | No | Sequence number for the starting file. |
|
VolumeLabel | string | No | Entered into the VolumeLabel field of the new Media table record. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
1..1 | |||
UpgradeImage | anyType (restriction) | 1..* | Contains information about the upgraded images of the product. |
0..* | |||
ExternalFile | anyType (restriction) | 1..1 | Contains information about specific files that are not part of a regular target image. |
ProtectFile | anyType (restriction) | 1..1 | Specifies a file to be protected. |
<xs:element name="Family">
<xs:annotation>
<xs:documentation>Group of one or more upgraded images of a product.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="UpgradeImage" maxOccurs="unbounded" />
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="ExternalFile" />
<xs:element ref="ProtectFile" />
</xs:choice>
</xs:sequence>
<xs:attribute name="DiskId" type="xs:int">
<xs:annotation>
<xs:documentation>Entered into the DiskId field of the new Media table record.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DiskPrompt" type="xs:string">
<xs:annotation>
<xs:documentation>Value to display in the "[1]" of the DiskPrompt Property. Using this attribute will require you to define a DiskPrompt Property.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MediaSrcProp" type="xs:string">
<xs:annotation>
<xs:documentation>Entered into the Source field of the new Media table entry of the upgraded image.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Identifier for the family.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SequenceStart" type="xs:int">
<xs:annotation>
<xs:documentation>Sequence number for the starting file.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="VolumeLabel" type="xs:string">
<xs:annotation>
<xs:documentation>Entered into the VolumeLabel field of the new Media table record.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
A feature for the Feature table.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Unique identifier of the feature. |
|
Absent | NMTOKEN (restriction) | No | This attribute determines if a user will have the option to set a feature to absent in the user interface. |
|
AllowAdvertise | NMTOKEN (restriction) | No | This attribute determins the possible advertise states for this feature. |
|
ConfigurableDirectory | string | No | Specify the Id of a Directory that can be configured by the user at installation time. |
|
Description | string | No | Longer string of text describing the feature. |
|
Display | string | No | Determines the initial display of this feature in the feature tree. |
|
InstallDefault | NMTOKEN (restriction) | No | This attribute determines the default install/run location of a feature. |
|
Level | integer | Yes | Sets the install level of this feature. |
|
Title | string | No | Short string of text identifying the feature. |
|
TypicalDefault | NMTOKEN (restriction) | No | This attribute determines the default advertise state of the feature. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..* | |||
any | 1..1 | Allow any element from the ##other namespace. |
|
Component | anyType (restriction) | 1..1 | Component for parent Directory |
ComponentGroupRef | anyType (restriction) | 1..1 | Create a reference to a ComponentGroup in another Fragment. |
ComponentRef | anyType (restriction) | 1..1 | Create a reference to a Feature element in another Fragment. |
Condition | string (extension) | 1..1 | Conditions for components, controls, features, and products. |
Feature | anyType (restriction) | 1..1 | A feature for the Feature table. |
FeatureGroupRef | anyType (restriction) | 1..1 | Create a reference to a FeatureGroup in another Fragment. |
FeatureRef | anyType (restriction) | 1..1 | Create a reference to a Feature element in another Fragment. |
MergeRef | anyType (restriction) | 1..1 | Merge reference to connect a Merge Module to parent Feature |
Features are the smallest installable unit. See msi.chm for more detailed information on the myriad installation options for a feature.
<xs:element name="Feature">
<xs:annotation>
<xs:documentation>
A feature for the Feature table. Features are the smallest installable unit. See msi.chm for more
detailed information on the myriad installation options for a feature.
</xs:documentation>
<xs:appinfo>
<xse:seeAlso ref="FeatureRef" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Feature" href="http://msdn.microsoft.com/library/aa368585.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:howtoRef href="add_a_file.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Add a file to your installer</xse:howtoRef>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Component" />
<xs:element ref="ComponentGroupRef" />
<xs:element ref="ComponentRef" />
<xs:element ref="Condition" />
<xs:element ref="Feature" />
<xs:element ref="FeatureGroupRef" />
<xs:element ref="FeatureRef" />
<xs:element ref="MergeRef" />
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Unique identifier of the feature.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Absent">
<xs:annotation>
<xs:documentation>
This attribute determines if a user will have the option to set a feature to absent in the user interface.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="allow">
<xs:annotation>
<xs:documentation>
Allows the user interface to display an option to change the feature state to Absent.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="disallow">
<xs:annotation>
<xs:documentation>
Prevents the user interface from displaying an option to change the feature state
to Absent by setting the msidbFeatureAttributesUIDisallowAbsent attribute. This will force the feature
to the installation state, whether or not the feature is visible in the UI.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="AllowAdvertise">
<xs:annotation>
<xs:documentation>
This attribute determins the possible advertise states for this feature.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="no">
<xs:annotation>
<xs:documentation>
Prevents this feature from being advertised by settting the msidbFeatureAttributesDisallowAdvertise attribute.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="system">
<xs:annotation>
<xs:documentation>
Prevents advertising for this feature if the operating system shell does not support Windows Installer
descriptors by setting the msidbFeatureAttributesNoUnsupportedAdvertise attribute.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="yes">
<xs:annotation>
<xs:documentation>
Allows the feature to be advertised.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ConfigurableDirectory" type="xs:string">
<xs:annotation>
<xs:documentation>
Specify the Id of a Directory that can be configured by the user at installation time. This identifier
must be a public property and therefore completely uppercase.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Description" type="xs:string">
<xs:annotation>
<xs:documentation>
Longer string of text describing the feature. This localizable string is displayed by the
Text Control of the Selection Dialog.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Display" type="xs:string">
<xs:annotation>
<xs:documentation>
Determines the initial display of this feature in the feature tree.
This attribute's value should be one of the following:
<html:dl xmlns:html="http://www.w3.org/1999/xhtml"><html:dt class="enumerationValue"><html:dfn>collapse</html:dfn></html:dt><html:dd>Initially shows the feature collapsed. This is the default value.</html:dd><html:dt class="enumerationValue"><html:dfn>expand</html:dfn></html:dt><html:dd>Initially shows the feature expanded.</html:dd><html:dt class="enumerationValue"><html:dfn>hidden</html:dfn></html:dt><html:dd>Prevents the feature from displaying in the user interface.</html:dd><html:dt class="enumerationValue"><html:dfn><an explicit integer value></html:dfn></html:dt><html:dd>
For advanced users only, it is possible to directly set the integer value
of the display value that will appear in the Feature row.
</html:dd></html:dl></xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="InstallDefault">
<xs:annotation>
<xs:documentation>
This attribute determines the default install/run location of a feature. This attribute cannot be specified
if the value of the FollowParent attribute is 'yes' since that would ask the installer to force this feature
to follow the parent installation state and simultaneously favor a particular installation state just for this feature.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="followParent">
<xs:annotation>
<xs:documentation>
Forces the feature to follow the same installation state as its parent feature.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="local">
<xs:annotation>
<xs:documentation>
Favors installing this feature locally by setting the msidbFeatureAttributesFavorLocal attribute.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="source">
<xs:annotation>
<xs:documentation>
Favors running this feature from source by setting the msidbFeatureAttributesFavorSource attribute.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Level" type="xs:integer" use="required">
<xs:annotation>
<xs:documentation>
Sets the install level of this feature. A value of 0 will disable the feature. Processing the
Condition Table can modify the level value (this is set via the Condition child element).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Title" type="xs:string">
<xs:annotation>
<xs:documentation>
Short string of text identifying the feature. This string is listed as an item by the
SelectionTree control of the Selection Dialog.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="TypicalDefault">
<xs:annotation>
<xs:documentation>
This attribute determines the default advertise state of the feature.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="advertise">
<xs:annotation>
<xs:documentation>
Sets the feature to be advertised by setting the msidbFeatureAttributesFavorAdvertise attribute.
This value cannot be set if the value of the AllowAdvertise attribute is 'no' since that would ask the installer to
disallow the advertised state for this feature while at the same time favoring it.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="install">
<xs:annotation>
<xs:documentation>
Sets the feature to the default non-advertised installation option.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>
Groups together multiple components, features, and merges to be used in other locations.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Identifier for the FeatureGroup. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..* | |||
any | 1..1 | Allow any element from the ##other namespace. |
|
Component | anyType (restriction) | 1..1 | Component for parent Directory |
ComponentGroupRef | anyType (restriction) | 1..1 | Create a reference to a ComponentGroup in another Fragment. |
ComponentRef | anyType (restriction) | 1..1 | Create a reference to a Feature element in another Fragment. |
Feature | anyType (restriction) | 1..1 | A feature for the Feature table. |
FeatureGroupRef | anyType (restriction) | 1..1 | Create a reference to a FeatureGroup in another Fragment. |
FeatureRef | anyType (restriction) | 1..1 | Create a reference to a Feature element in another Fragment. |
MergeRef | anyType (restriction) | 1..1 | Merge reference to connect a Merge Module to parent Feature |
<xs:element name="FeatureGroup">
<xs:annotation>
<xs:documentation>
Groups together multiple components, features, and merges to be used in other locations.
</xs:documentation>
<xs:appinfo>
<xse:seeAlso ref="FeatureGroupRef" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Component" />
<xs:element ref="ComponentGroupRef" />
<xs:element ref="ComponentRef" />
<xs:element ref="Feature" />
<xs:element ref="FeatureGroupRef" />
<xs:element ref="FeatureRef" />
<xs:element ref="MergeRef" />
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Identifier for the FeatureGroup.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>
Create a reference to a FeatureGroup in another Fragment.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | The identifier of the FeatureGroup to reference. |
|
IgnoreParent | YesNoType | No | Normally feature group references that end up nested under a parent element create a connection to that parent. |
|
Primary | YesNoType | No | Set this attribute to 'yes' in order to make the parent feature of this group the primary feature for any components and merges contained in the group. |
Always empty.
<xs:element name="FeatureGroupRef">
<xs:annotation>
<xs:documentation>Create a reference to a FeatureGroup in another Fragment.</xs:documentation>
<xs:appinfo>
<xse:seeAlso ref="FeatureGroup" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The identifier of the FeatureGroup to reference.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreParent" type="YesNoType">
<xs:annotation>
<xs:documentation>
Normally feature group references that end up nested under a parent element create a
connection to that parent. This behavior is undesirable when trying to simply reference
to a FeatureGroup in a different Fragment. Specify 'yes' to have this feature group
reference not create a connection to its parent. The default is 'no'.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Primary" type="YesNoType">
<xs:annotation>
<xs:documentation>
Set this attribute to 'yes' in order to make the parent feature of this group
the primary feature for any components and merges contained in the group.
Features may belong to multiple features. By designating a feature as the
primary feature of a component or merge, you ensure that whenever a component is
selected for install-on-demand (IOD), the primary feature will be the one to install
it. This attribute should only be set if a component actually nests under multiple
features. If a component nests under only one feature, that feature is the primary
feature for the component. You cannot set more than one feature as the primary
feature of a given component.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>
Create a reference to a Feature element in another Fragment.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | The identifier of the Feature element to reference. |
|
IgnoreParent | YesNoType | No | Normally feature references that are nested under a parent element create a connection to that parent. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..* | |||
any | 1..1 | Allow any element from the ##other namespace. |
|
Component | anyType (restriction) | 1..1 | Component for parent Directory |
ComponentGroupRef | anyType (restriction) | 1..1 | Create a reference to a ComponentGroup in another Fragment. |
ComponentRef | anyType (restriction) | 1..1 | Create a reference to a Feature element in another Fragment. |
Feature | anyType (restriction) | 1..1 | A feature for the Feature table. |
FeatureGroup | anyType (restriction) | 1..1 | Groups together multiple components, features, and merges to be used in other locations. |
FeatureGroupRef | anyType (restriction) | 1..1 | Create a reference to a FeatureGroup in another Fragment. |
FeatureRef | anyType (restriction) | 1..1 | Create a reference to a Feature element in another Fragment. |
MergeRef | anyType (restriction) | 1..1 | Merge reference to connect a Merge Module to parent Feature |
<xs:element name="FeatureRef">
<xs:annotation>
<xs:documentation>Create a reference to a Feature element in another Fragment.</xs:documentation>
<xs:appinfo>
<xse:seeAlso ref="Feature" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Component" />
<xs:element ref="ComponentGroupRef" />
<xs:element ref="ComponentRef" />
<xs:element ref="Feature" />
<xs:element ref="FeatureRef" />
<xs:element ref="FeatureGroup" />
<xs:element ref="FeatureGroupRef" />
<xs:element ref="MergeRef" />
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The identifier of the Feature element to reference.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreParent" type="YesNoType">
<xs:annotation>
<xs:documentation>
Normally feature references that are nested under a parent element create a connection to that
parent. This behavior is undesirable when trying to simply reference a Feature in a different
Fragment. Specify 'yes' to have this feature reference not create a connection to its parent.
The default is 'no'.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>
File specification for File table, must be child node of Component.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | No | The unique identifier for this File element. |
|
CompanionFile | string | No | Set this attribute to make this file a companion child of another file. |
|
Name | LongFileNameType | No | In prior versions of the WiX toolset, this attribute specified the short file name. This attribute's value may now be either a short or long file name. |
|
LongName | LongFileNameType | No | ||
KeyPath | YesNoType | No | Set to yes in order to force this file to be the key path for the parent component. |
|
ShortName | ShortFileNameType | No | The short file name of the file in 8.3 format. |
|
ReadOnly | YesNoType | No | Set to yes in order to have the file's read-only attribute set when it is installed on the target machine. |
|
Hidden | YesNoType | No | Set to yes in order to have the file's hidden attribute set when it is installed on the target machine. |
|
System | YesNoType | No | Set to yes in order to have the file's system attribute set when it is installed on the target machine. |
|
Vital | YesNoType | No | If a file is vital, then installation cannot proceed unless the file is successfully installed. |
|
Checksum | YesNoType | No | This attribute should be set to "yes" for every executable file in the installation that has a valid checksum stored in the Portable Executable (PE) file header. |
|
Compressed | YesNoDefaultType | No | Sets the file's source type compression. |
|
BindPath | string | No | A list of paths, separated by semicolons, that represent the paths to be searched to find the imported DLLs. |
|
SelfRegCost | integer | No | The cost of registering the file in bytes. |
|
TrueType | YesNoType | No | Causes an entry to be generated for the file in the Font table with no FontTitle specified. |
|
FontTitle | string | No | Causes an entry to be generated for the file in the Font table with the specified FontTitle. |
|
DefaultLanguage | string | No | This is the default language of this file. |
|
DefaultSize | integer | No | This is the default size of this file. |
|
DefaultVersion | string | No | This is the default version of this file. |
|
Assembly | NMTOKEN (restriction) | No | Specifies if this File is a Win32 Assembly or .NET Assembly that needs to be installed into the Global Assembly Cache. |
|
AssemblyManifest | string | No | Specifies the file identifier of the manifest file that describes this assembly. |
|
AssemblyApplication | string | No | Specifies the file identifier of the application file. |
|
ProcessorArchitecture | NMTOKEN (restriction) | No | Specifies the architecture for this assembly. |
|
DiskId | integer | No | Specifies the Media this File should be sourced on. |
|
Source | string | No | Specifies the path to the File in the build process. |
|
src | string | No | ||
PatchGroup | integer | No | This attribute must be set for patch-added files. |
|
PatchIgnore | YesNoType | No | Prevents the updating of the file that is in fact changed in the upgraded image relative to the target images. |
|
PatchAllowIgnoreOnError | YesNoType | No | Set to indicate that the patch is non-vital. |
|
PatchWholeFile | YesNoType | No | Set if the entire file should be installed rather than creating a binary patch. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..* | |||
any | 1..1 | Allow any element from the ##other namespace. |
|
AppId | anyType (restriction) | 1..1 | Application ID containing DCOM information for the associated application GUID. |
AssemblyName | anyType (restriction) | 1..1 | The MsiAssemblyName table specifies the schema for the elements of a strong assembly cache name for a .NET Framework or Win32 assembly. |
Class | anyType (restriction) | 1..1 | COM Class registration for parent Component. |
CopyFile | anyType (restriction) | 1..1 | Copy or move an existing file on the target machine, or copy a file that is being installed, to another destination. |
ODBCDriver | anyType (restriction) | 1..1 | ODBCDriver for a Component |
ODBCTranslator | anyType (restriction) | 1..1 | ODBCTranslator for a Component |
Permission | anyType (restriction) | 1..1 | Sets ACLs on File, Registry, or CreateFolder. |
Shortcut | anyType (restriction) | 1..1 | Shortcut, default target is parent File, CreateFolder, or Component's Directory |
SymbolPath | anyType (restriction) | 1..1 | A path to symbols. |
TypeLib | anyType (restriction) | 1..1 | Register a type library (TypeLib). |
<xs:element name="File">
<xs:annotation>
<xs:documentation>
File specification for File table, must be child node of Component.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="File" href="http://msdn.microsoft.com/library/aa368596.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:howtoRef href="add_a_file.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Add a file to your installer</xse:howtoRef>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="AssemblyName" />
<xs:element ref="Permission">
<xs:annotation>
<xs:documentation>Used to configure the ACLs for this file.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="CopyFile">
<xs:annotation>
<xs:documentation>Used to create a duplicate of this file elsewhere.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="Shortcut">
<xs:annotation>
<xs:documentation>Target of the shortcut will be set to this file.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ODBCDriver" />
<xs:element ref="ODBCTranslator" />
<xs:element ref="SymbolPath" />
<xs:element ref="Class" />
<xs:element ref="AppId" />
<xs:element ref="TypeLib" />
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
<xs:attribute name="Id" type="xs:string">
<xs:annotation>
<xs:documentation>
The unique identifier for this File element. If you omit Id, it defaults to the file name portion of the Source attribute, if specified. May be referenced as a Property by specifying [#value].
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="CompanionFile" type="xs:string">
<xs:annotation>
<xs:documentation>Set this attribute to make this file a companion child of another file. The installation
state of a companion file depends not on its own file versioning information, but on the versioning of its
companion parent. A file that is the key path for its component can not be a companion file (that means
this attribute cannot be set if KeyPath="yes" for this file). The Version attribute cannot be set along
with this attribute since companion files are not installed based on their own version.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="LongFileNameType">
<xs:annotation>
<xs:documentation>
In prior versions of the WiX toolset, this attribute specified the short file name.
This attribute's value may now be either a short or long file name.
If a short file name is specified, the ShortName attribute may not be specified.
If a long file name is specified, the LongName attribute may not be specified.
Also, if this value is a long file name, the ShortName attribute may be omitted to
allow WiX to attempt to generate a unique short file name.
However, if this name collides with another file or you wish to manually specify
the short file name, then the ShortName attribute may be specified.
Finally, if this attribute is omitted then its default value is the file name portion
of the Source attribute, if one is specified, or the value of the Id attribute, if
the Source attribute is omitted or doesn't contain a file name.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="LongName" type="LongFileNameType">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="Name" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="KeyPath" type="YesNoType">
<xs:annotation>
<xs:documentation>Set to yes in order to force this file to be the key path for the parent component.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ShortName" type="ShortFileNameType">
<xs:annotation>
<xs:documentation>
The short file name of the file in 8.3 format.
This attribute should only be set if there is a conflict between generated short file names
or the user wants to manually specify the short file name.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<!-- 'Attributes' column integer value generated from XML attributes below -->
<xs:attribute name="ReadOnly" type="YesNoType">
<xs:annotation>
<xs:documentation>Set to yes in order to have the file's read-only attribute set when it is installed on the target machine.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Hidden" type="YesNoType">
<xs:annotation>
<xs:documentation>Set to yes in order to have the file's hidden attribute set when it is installed on the target machine.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="System" type="YesNoType">
<xs:annotation>
<xs:documentation>Set to yes in order to have the file's system attribute set when it is installed on the target machine.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Vital" type="YesNoType">
<xs:annotation>
<xs:documentation>If a file is vital, then installation cannot proceed unless the file is successfully installed. The user will have no option to ignore an error installing this file. If an error occurs, they can merely retry to install the file or abort the installation. The default is "yes," unless the -sfdvital switch (candle.exe) or SuppressFileDefaultVital property (.wixproj) is used.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Checksum" type="YesNoType">
<xs:annotation>
<xs:documentation>This attribute should be set to "yes" for every executable file in the installation that has a valid checksum stored in the Portable Executable (PE) file header. Only those files that have this attribute set will be verified for valid checksum during a reinstall.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Compressed" type="YesNoDefaultType">
<xs:annotation>
<xs:documentation>Sets the file's source type compression. A setting of "yes" or "no" will override the setting in the Word Count Summary Property.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="BindPath" type="xs:string">
<xs:annotation>
<xs:documentation>A list of paths, separated by semicolons, that represent the paths to be searched to find the imported DLLs. The list is usually a list of properties, with each property enclosed inside square brackets. The value may be set to an empty string. Including this attribute will cause an entry to be generated for the file in the BindImage table.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SelfRegCost" type="xs:integer">
<xs:annotation>
<xs:documentation>The cost of registering the file in bytes. This must be a non-negative number. Including this attribute will cause an entry to be generated for the file in the SelfReg table.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="TrueType" type="YesNoType">
<xs:annotation>
<xs:documentation>Causes an entry to be generated for the file in the Font table with no FontTitle specified. This attribute is intended to be used to register the file as a TrueType font.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="FontTitle" type="xs:string">
<xs:annotation>
<xs:documentation>Causes an entry to be generated for the file in the Font table with the specified FontTitle. This attribute is intended to be used to register the file as a non-TrueType font.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DefaultLanguage" type="xs:string">
<xs:annotation>
<xs:documentation>This is the default language of this file. The linker will replace this value from the value in the file if the suppress files option is not used.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DefaultSize" type="xs:integer">
<xs:annotation>
<xs:documentation>This is the default size of this file. The linker will replace this value from the value in the file if the suppress files option is not used.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DefaultVersion" type="xs:string">
<xs:annotation>
<xs:documentation>This is the default version of this file. The linker will replace this value from the value in the file if the suppress files option is not used.</xs:documentation>
</xs:annotation>
</xs:attribute>
<!-- assembly information -->
<xs:attribute name="Assembly">
<xs:annotation>
<xs:documentation>
Specifies if this File is a Win32 Assembly or .NET Assembly that needs to be installed into the
Global Assembly Cache. If the value is '.net' or 'win32', this file must also be the key path of the Component.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value=".net">
<xs:annotation>
<xs:documentation>
The file is a .NET Framework assembly.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="no">
<xs:annotation>
<xs:documentation>
The file is not a .NET Framework or Win32 assembly. This is the default value.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="win32">
<xs:annotation>
<xs:documentation>
The file is a Win32 assembly.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="AssemblyManifest" type="xs:string">
<xs:annotation>
<xs:documentation>
Specifies the file identifier of the manifest file that describes this assembly.
The manifest file should be in the same component as the assembly it describes.
This attribute may only be specified if the Assembly attribute is set to '.net' or 'win32'.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AssemblyApplication" type="xs:string">
<xs:annotation>
<xs:documentation>
Specifies the file identifier of the application file. This assembly will be isolated
to the same directory as the application file.
If this attribute is absent, the assembly will be installed to the Global Assembly Cache.
This attribute may only be specified if the Assembly attribute is set to '.net' or 'win32'.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ProcessorArchitecture">
<xs:annotation>
<xs:documentation>Specifies the architecture for this assembly. This attribute should only be used on .NET Framework 2.0 assemblies.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="msil">
<xs:annotation>
<xs:documentation>
The file is a .NET Framework assembly that is processor-neutral.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="x86">
<xs:annotation>
<xs:documentation>
The file is a .NET Framework assembly for the x86 processor.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="x64">
<xs:annotation>
<xs:documentation>
The file is a .NET Framework assembly for the x64 processor.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ia64">
<xs:annotation>
<xs:documentation>
The file is a .NET Framework assembly for the ia64 processor.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="DiskId" type="xs:integer">
<xs:annotation>
<xs:documentation>Specifies the Media this File should be sourced on. This attribute overrides the default DiskId attribute from the parent Component element. If no DiskId attribute is specifed, the default is "1".</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Source" type="xs:string">
<xs:annotation>
<xs:documentation>Specifies the path to the File in the build process. This attribute must be set if no source information can be gathered from parent directories.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="src" type="xs:string">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="Source" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PatchGroup" type="xs:integer">
<xs:annotation>
<xs:documentation>
This attribute must be set for patch-added files. Each patch should be assigned a different patch group number. Patch groups
numbers must be greater 0 and should be assigned consecutively. For example, the first patch should use PatchGroup='1', the
second patch will have PatchGroup='2', etc...
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PatchIgnore" type="YesNoType">
<xs:annotation>
<xs:documentation>Prevents the updating of the file that is in fact changed in the upgraded image relative to the target images.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PatchAllowIgnoreOnError" type="YesNoType">
<xs:annotation>
<xs:documentation>Set to indicate that the patch is non-vital.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PatchWholeFile" type="YesNoType">
<xs:annotation>
<xs:documentation>Set if the entire file should be installed rather than creating a binary patch.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>
Initiates dynamic costing of standard installation actions.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
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.
<xs:element name="FileCost" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="CostInitialize" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="CostFinalize" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef action="FileCost" href="http://msdn.microsoft.com/library/aa368589.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Initiates dynamic costing of standard installation actions. Any standard or custom actions that affect costing should sequenced before the CostInitialize action. Call the FileCost action immediately following the CostInitialize action. Then call the CostFinalize action following the FileCost action to make all final cost calculations available to the installer through the Component table. The CostInitialize action must be executed before the FileCost action. The installer then determines the disk-space cost of every file in the File table, on a per-component basis, taking both volume clustering and the presence of existing files that may need to be overwritten into account. All actions that consume or release disk space are also considered. If an existing file is found, a file version check is performed to determine whether the new file actually needs to be installed or not. If the existing file is of an equal or greater version number, the existing file is not overwritten and no disk-space cost is incurred. In all cases, the installer uses the results of version number checking to set the installation state of each file. The FileCost action initializes cost calculation with the installer. Actual dynamic costing does not occur until the CostFinalize action is executed. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Searches for file and assigns to fullpath value of parent Property
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | No | Unique identifier for the file search and external key into the Signature table. |
|
Name | LongFileNameType | No | In prior versions of the WiX toolset, this attribute specified the short file name. This attribute's value may now be either a short or long file name. |
|
LongName | LongFileNameType | No | ||
ShortName | ShortFileNameType | No | The short file name of the file in 8.3 format. |
|
MinSize | int | No | The minimum size of the file. |
|
MaxSize | int | No | The maximum size of the file. |
|
MinVersion | string | No | The minimum version of the file. |
|
MaxVersion | string | No | The maximum version of the file. |
|
MinDate | dateTime | No | The minimum modification date and time of the file. |
|
MaxDate | dateTime | No | The maximum modification date and time of the file. |
|
Languages | string | No | The languages supported by the file. |
Always empty.
<xs:element name="FileSearch">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="ComponentSearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="DirectorySearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="DirectorySearchRef" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="FileSearchRef" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="IniFileSearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="RegistrySearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="DrLocator" href="http://msdn.microsoft.com/library/aa368331.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Signature" href="http://msdn.microsoft.com/library/aa371853.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:howtoRef href="check_the_version_number.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Check the version number of a file during installation</xse:howtoRef>
</xs:appinfo>
<xs:documentation>Searches for file and assigns to fullpath value of parent Property</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string">
<xs:annotation>
<xs:documentation>Unique identifier for the file search and external key into the Signature table. This attribute is required if FileSearch is nested under a DirectorySearch or DirectorySearchRef element.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="LongFileNameType">
<xs:annotation>
<xs:documentation>
In prior versions of the WiX toolset, this attribute specified the short file name.
This attribute's value may now be either a short or long file name.
If a short file name is specified, the ShortName attribute may not be specified.
If a long file name is specified, the LongName attribute may not be specified.
If you wish to manually specify the short file name, then the ShortName
attribute may be specified.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="LongName" type="LongFileNameType">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="Name" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ShortName" type="ShortFileNameType">
<xs:annotation>
<xs:documentation>
The short file name of the file in 8.3 format.
There is a Windows Installer bug which prevents the FileSearch functionality from working
if both a short and long file name are specified. Since the Name attribute allows either
a short or long name to be specified, it is the only attribute related to file names which
should be specified.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MinSize" type="xs:int">
<xs:annotation>
<xs:documentation>The minimum size of the file.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MaxSize" type="xs:int">
<xs:annotation>
<xs:documentation>The maximum size of the file.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MinVersion" type="xs:string">
<xs:annotation>
<xs:documentation>The minimum version of the file.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MaxVersion" type="xs:string">
<xs:annotation>
<xs:documentation>The maximum version of the file.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MinDate" type="xs:dateTime">
<xs:annotation>
<xs:documentation>The minimum modification date and time of the file. Formatted as YYYY-MM-DDTHH:mm:ss, where YYYY is the year, MM is month, DD is day, 'T' is literal, HH is hour, mm is minute and ss is second.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MaxDate" type="xs:dateTime">
<xs:annotation>
<xs:documentation>The maximum modification date and time of the file. Formatted as YYYY-MM-DDTHH:mm:ss, where YYYY is the year, MM is month, DD is day, 'T' is literal, HH is hour, mm is minute and ss is second.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Languages" type="xs:string">
<xs:annotation>
<xs:documentation>The languages supported by the file.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
References an existing FileSearch element.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Specify the Id to the FileSearch to reference. |
Always empty.
<xs:element name="FileSearchRef">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="FileSearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:remarks xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">
<html:p xmlns:html="http://www.w3.org/1999/xhtml">If you intend to use a FileSearchRef to reference a FileSearch but they have different parent elements, you must use a FileSearch instead of a FileSearchRef. This is because the DrLocator table in an installer package is keyed on the Id, Parent, and Path. A file is associated with its parent directory in the DrLocator table. When a FileSearch and a FileSearchRef element are under different parent elements, the Parent will automatically be different so a FileSearchRef will not have a FileSearch to reference.</html:p>
</xse:remarks>
</xs:appinfo>
<xs:documentation>References an existing FileSearch element.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Specify the Id to the FileSearch to reference.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
FileType data for class Id registration.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Offset | integer | Yes | Offset into file. If positive, offset is from the beginning; if negative, offset is from the end. |
|
Mask | HexType | Yes | Hex value that is AND'd against the bytes in the file at Offset. |
|
Value | HexType | Yes | If the result of the AND'ing of Mask with the bytes in the file is Value, the file is a match for this File Type. |
Always empty.
<xs:element name="FileTypeMask">
<xs:annotation>
<xs:documentation>FileType data for class Id registration.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Offset" type="xs:integer" use="required">
<xs:annotation>
<xs:documentation>Offset into file. If positive, offset is from the beginning; if negative, offset is from the end.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Mask" type="HexType" use="required">
<xs:annotation>
<xs:documentation>Hex value that is AND'd against the bytes in the file at Offset.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Value" type="HexType" use="required">
<xs:annotation>
<xs:documentation>If the result of the AND'ing of Mask with the bytes in the file is Value, the file is a match for this File Type.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
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 | Required? | Default | Description |
---|---|---|---|---|
After | string | No | The name of an action that this action should come after. |
|
Before | string | No | The name of an action that this action should come before. |
|
Overridable | YesNoType | No | If "yes", the sequencing of this action may be overridden by sequencing elsewhere. |
|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
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.
<xs:element name="FindRelatedProducts" type="ActionModuleSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="Upgrade" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef action="FindRelatedProducts" href="http://msdn.microsoft.com/library/aa368600.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Runs through each record of the Upgrade table in sequence and compares the upgrade code, product version, and language in each row to products installed on the system. When FindRelatedProducts detects a correspondence between the upgrade information and an installed product, it appends the product code to the property specified in the ActionProperty column of the UpgradeTable. The FindRelatedProducts action only runs the first time the product is installed. The FindRelatedProducts action does not run during maintenance mode or uninstallation. FindRelatedProducts should be authored into the InstallUISequence table and InstallExecuteSequence tables. The installer prevents FindRelated Products from running in InstallExecuteSequence if the action has already run in InstallUISequence. The FindRelatedProducts action must come before the MigrateFeatureStates action and the RemoveExistingProducts action. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Prompts the user for a restart of the system during the installation.
Name | Type | Required? | Default | Description |
---|---|---|---|---|
After | string | No | The name of an action that this action should come after. |
|
Before | string | No | The name of an action that this action should come before. |
|
Overridable | YesNoType | No | If "yes", the sequencing of this action may be overridden by sequencing elsewhere. |
|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
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.
<xs:element name="ForceReboot" type="ActionModuleSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="ForceReboot" href="http://msdn.microsoft.com/library/aa368607.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Prompts the user for a restart of the system during the installation. Special actions don't have a built-in sequence number and thus must appear relative to another action. The suggested way to do this is by using the Before or After attribute. InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize.</xs:documentation>
</xs:annotation>
</xs:element>
The Fragment element is the building block of creating an installer database in WiX.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | No | Optional identifier for a Fragment. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..* | |||
any | 1..1 | Allow any element from the ##other namespace. |
|
AppId | anyType (restriction) | 1..1 | Application ID containing DCOM information for the associated application GUID. |
Binary | anyType (restriction) | 1..1 | Binary data used for CustomAction elements and UI controls. |
ComplianceCheck | anyType (restriction) | 1..1 | Adds a row to the CCPSearch table. |
Component | anyType (restriction) | 1..1 | Component for parent Directory |
ComponentGroup | anyType (restriction) | 1..1 | Groups together multiple components to be used in other locations. |
Condition | string (extension) | 1..1 | Conditions for components, controls, features, and products. |
CustomAction | string (extension) | 1..1 | Specifies a custom action to be added to the MSI CustomAction table. |
CustomActionRef | anyType (restriction) | 1..1 | This will cause the entire contents of the Fragment containing the referenced CustomAction to be included in the installer database. |
CustomTable | anyType (restriction) | 1..1 | Defines a custom table for use from a custom action. |
Directory | anyType (restriction) | 1..1 | Directory layout for the product. |
DirectoryRef | anyType (restriction) | 1..1 | Create a reference to a Directory element in another Fragment. |
EmbeddedChainer | string (extension) | 1..1 | |
EmbeddedChainerRef | anyType (restriction) | 1..1 | Reference to an EmbeddedChainer element. |
EnsureTable | anyType (restriction) | 1..1 | Use this element to ensure that a table appears in the installer database, even if its empty. |
Feature | anyType (restriction) | 1..1 | A feature for the Feature table. |
FeatureGroup | anyType (restriction) | 1..1 | Groups together multiple components, features, and merges to be used in other locations. |
FeatureRef | anyType (restriction) | 1..1 | Create a reference to a Feature element in another Fragment. |
Icon | anyType (restriction) | 1..1 | Icon used for Shortcut, ProgId, or Class elements (but not UI controls) |
IgnoreModularization | anyType (restriction) | 1..1 | This element has been deprecated. |
Media | anyType (restriction) | 1..1 | Media element describes a disk that makes up the source media for the installation. |
PatchCertificates | anyType (restriction) | 1..1 | Identifies the possible signer certificates used to digitally sign patches. |
PatchFamily | anyType (restriction) | 1..1 | Collection of items that should be kept from the differences between two products. |
Property | anyType (restriction) | 1..1 | Property value for a Product or Module. |
PropertyRef | anyType (restriction) | 1..1 | Reference to a Property value. |
1..1 | |||
InstallExecuteSequence | anyType (restriction) | 0..1 | |
InstallUISequence | anyType (restriction) | 0..1 | |
AdminExecuteSequence | anyType (restriction) | 0..1 | |
AdminUISequence | anyType (restriction) | 0..1 | |
AdvertiseExecuteSequence | anyType (restriction) | 0..1 | |
SetDirectory | string (extension) | 1..1 | Sets a Directory to a particular value. |
SetProperty | string (extension) | 1..1 | Sets a Property to a particular value. |
SFPCatalog | anyType (restriction) | 1..1 | Adds a system file protection update catalog file |
UI | anyType (restriction) | 1..1 | Enclosing element to compartmentalize UI specifications. |
UIRef | anyType (restriction) | 1..1 | Reference to a UI element. This will force the entire referenced Fragment's contents to be included in the installer database. |
Upgrade | anyType (restriction) | 1..1 | Upgrade info for a particular UpgradeCode |
WixVariable | anyType (restriction) | 1..1 | This element exposes advanced WiX functionality. |
Once defined, the Fragment becomes an immutable, atomic unit which can either be completely included or excluded from a product. The contents of a Fragment element can be linked into a product by utilizing one of the many *Ref elements. When linking in a Fragment, it will be necessary to link in all of its individual units. For instance, if a given Fragment contains two Component elements, you must link both under features using ComponentRef for each linked Component. Otherwise, you will get a linker warning and have a floating Component that does not appear under any Feature.
<xs:element name="Fragment">
<xs:annotation>
<xs:documentation>
The Fragment element is the building block of creating an installer database in WiX. Once defined,
the Fragment becomes an immutable, atomic unit which can either be completely included or excluded
from a product. The contents of a Fragment element can be linked into a product by utilizing one
of the many *Ref elements. When linking in a Fragment, it will be necessary to link in all of its
individual units. For instance, if a given Fragment contains two Component elements, you must link
both under features using ComponentRef for each linked Component. Otherwise, you will get a linker
warning and have a floating Component that does not appear under any Feature.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="AppId" />
<xs:element ref="Binary" />
<xs:element ref="ComplianceCheck" />
<xs:element ref="Component" />
<xs:element ref="ComponentGroup" />
<xs:element ref="Condition" />
<xs:element ref="CustomAction" />
<xs:element ref="CustomActionRef" />
<xs:element ref="CustomTable" />
<xs:element ref="Directory" />
<xs:element ref="DirectoryRef" />
<xs:element ref="EmbeddedChainer" />
<xs:element ref="EmbeddedChainerRef" />
<xs:element ref="EnsureTable" />
<xs:element ref="Feature" />
<xs:element ref="FeatureGroup" />
<xs:element ref="FeatureRef" />
<xs:element ref="Icon" />
<xs:element ref="IgnoreModularization" />
<xs:element ref="Media" />
<xs:element ref="PatchCertificates" />
<xs:element ref="PatchFamily" />
<xs:element ref="Property" />
<xs:element ref="PropertyRef" />
<xs:element ref="SetDirectory" />
<xs:element ref="SetProperty" />
<xs:element ref="SFPCatalog" />
<xs:element ref="UI" />
<xs:element ref="UIRef" />
<xs:element ref="Upgrade" />
<xs:element ref="WixVariable" />
<xs:sequence>
<xs:element ref="InstallExecuteSequence" minOccurs="0" />
<xs:element ref="InstallUISequence" minOccurs="0" />
<xs:element ref="AdminExecuteSequence" minOccurs="0" />
<xs:element ref="AdminUISequence" minOccurs="0" />
<xs:element ref="AdvertiseExecuteSequence" minOccurs="0" />
</xs:sequence>
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
<xs:attribute name="Id" type="xs:string">
<xs:annotation>
<xs:documentation>
Optional identifier for a Fragment. Should only be set by advanced users to tag sections.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Icon used for Shortcut, ProgId, or Class elements (but not UI controls)
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | The Id cannot by longer than 55 characters. |
|
SourceFile | string | No | Path to the icon file. |
|
src | string | No |
Always empty.
<xs:element name="Icon">
<xs:annotation>
<xs:documentation>
Icon used for Shortcut, ProgId, or Class elements (but not UI controls)
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="Icon" href="http://msdn.microsoft.com/library/aa369210.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:howtoRef href="configure_arp_appearance.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Set your installer's icon in Add/Remove Programs</xse:howtoRef>
<xse:howtoRef href="create_start_menu_shortcut.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Create a shortcut on the Start Menu</xse:howtoRef>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The Id cannot by longer than 55 characters. In order to prevent errors in cases where the Id is modularized, it should not be longer than 18 characters.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SourceFile" type="xs:string">
<xs:annotation>
<xs:documentation>Path to the icon file.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="src" type="xs:string">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="SourceFile" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Used only for PatchFamilies to include only a icon table entry in a patch.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | The identifier of the Icon element to reference. |
Always empty.
<xs:element name="IconRef">
<xs:annotation>
<xs:documentation>Used only for PatchFamilies to include only a icon table entry in a patch.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The identifier of the Icon element to reference.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>
This element has been deprecated.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Name | string | Yes | The name of the item to ignore modularization for. |
|
Type | NMTOKEN (restriction) | No | The type of the item to ignore modularization for. |
Always empty.
Use the Binary/@SuppressModularization, CustomAction/@SuppressModularization, or Property/@SuppressModularization attributes instead.
<xs:element name="IgnoreModularization">
<xs:annotation>
<xs:documentation>
This element has been deprecated.
Use the Binary/@SuppressModularization, CustomAction/@SuppressModularization, or Property/@SuppressModularization attributes instead.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Name" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>
The name of the item to ignore modularization for.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>
The type of the item to ignore modularization for.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Action" />
<xs:enumeration value="Property" />
<xs:enumeration value="Directory" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
Specifies part of a file that is to be ignored during patching.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Offset | int | Yes | Offset of the start of the range. |
|
Length | int | Yes | Length of the range. |
Always empty.
<xs:element name="IgnoreRange">
<xs:annotation>
<xs:documentation>Specifies part of a file that is to be ignored during patching.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Offset" type="xs:int" use="required">
<xs:annotation>
<xs:documentation>Offset of the start of the range.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Length" type="xs:int" use="required">
<xs:annotation>
<xs:documentation>Length of the range.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Specifies a table from the merge module that is not merged into an .msi file.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | The name of the table in the merge module that is not to be merged into the .msi file. |
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.
<xs:element name="IgnoreTable">
<xs:annotation>
<xs:documentation>
Specifies a table from the merge module that is not merged into an .msi file.
If the table already exists in an .msi file, it is not modified by the merge.
The specified table can therefore contain data that is unneeded after the merge.
To minimize the size of the .msm file, it is recommended that developers remove
unused tables from modules intended for redistribution rather than creating
IgnoreTable elements for those tables.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>
The name of the table in the merge module that is not to be merged into the .msi file.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
This is the top-level container element for every wxi file.
Restricting anyType
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..* | |||
any | 1..1 | Allow any element from the ##any namespace. |
|
<xs:element name="Include">
<xs:annotation>
<xs:documentation>
This is the top-level container element for every wxi file.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:any namespace="##any" processContents="lax" />
</xs:choice>
</xs:complexType>
</xs:element>
Adds or removes .ini file entries.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Identifier for ini file. |
|
Action | NMTOKEN (restriction) | Yes | The type of modification to be made. |
|
Directory | string | No | Name of a property, the value of which is the full path of the folder containing the .ini file. |
|
Key | string | Yes | The localizable .ini file key within the section. |
|
LongName | LongFileNameType | No | ||
Name | LongFileNameType | Yes | In prior versions of the WiX toolset, this attribute specified the short name. This attribute's value may now be either a short or long name. |
|
Section | string | Yes | The localizable .ini file section. |
|
ShortName | ShortFileNameType | No | The short name of the in 8.3 format. |
|
Value | string | No | The localizable value to be written or deleted. This attribute must be set if the Action attribute's value is "addLine", "addTag", or "createLine". |
Always empty.
<xs:element name="IniFile">
<xs:annotation>
<xs:documentation>
Adds or removes .ini file entries.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="IniFile" href="http://msdn.microsoft.com/library/aa369282.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="RemoveIniFile" href="http://msdn.microsoft.com/library/aa371204.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Identifier for ini file.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Action" use="required">
<xs:annotation>
<xs:documentation>The type of modification to be made.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="addLine">
<xs:annotation>
<xs:documentation>Creates or updates an .ini entry.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="addTag">
<xs:annotation>
<xs:documentation>Creates a new entry or appends a new comma-separated value to an existing entry.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="createLine">
<xs:annotation>
<xs:documentation>Creates an .ini entry only if the entry does no already exist.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="removeLine">
<xs:annotation>
<xs:documentation>Removes an .ini entry.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="removeTag">
<xs:annotation>
<xs:documentation>Removes a tag from an .ini entry.</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Directory" type="xs:string">
<xs:annotation>
<xs:documentation>Name of a property, the value of which is the full path of the folder containing the .ini file. Can be name of a directory in the Directory table, a property set by the AppSearch table, or any other property representing a full path.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Key" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>The localizable .ini file key within the section.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="LongName" type="LongFileNameType">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="Name" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="LongFileNameType" use="required">
<xs:annotation>
<xs:documentation>
In prior versions of the WiX toolset, this attribute specified the short name.
This attribute's value may now be either a short or long name.
If a short name is specified, the ShortName attribute may not be specified.
If a long name is specified, the LongName attribute may not be specified.
Also, if this value is a long name, the ShortName attribute may be omitted to
allow WiX to attempt to generate a unique short name.
However, if this name collides with another file or you wish to manually specify
the short name, then the ShortName attribute may be specified.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Section" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>The localizable .ini file section.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ShortName" type="ShortFileNameType">
<xs:annotation>
<xs:documentation>
The short name of the in 8.3 format.
This attribute should only be set if there is a conflict between generated short names
or the user wants to manually specify the short name.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Value" type="xs:string">
<xs:annotation>
<xs:documentation>
The localizable value to be written or deleted. This attribute must be set if
the Action attribute's value is "addLine", "addTag", or "createLine".
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Searches for file, directory or registry key and assigns to value of parent Property
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | External key into the Signature table. |
|
Field | integer | No | The field in the .ini line. If field is Null or 0, the entire line is read. |
|
Key | string | Yes | The key value within the section. |
|
LongName | LongFileNameType | No | ||
Name | LongFileNameType | Yes | In prior versions of the WiX toolset, this attribute specified the short name. This attribute's value may now be either a short or long name. |
|
Section | string | Yes | The localizable .ini file section. |
|
ShortName | ShortFileNameType | No | The short name of the file in 8.3 format. |
|
Type | NMTOKEN (restriction) | No | Must be file if last child is FileSearch element and must be directory if last child is DirectorySearch element. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..1 | |||
DirectorySearch | anyType (restriction) | 1..1 | Searches for directory and assigns to value of parent Property. |
DirectorySearchRef | anyType (restriction) | 1..1 | References an existing DirectorySearch element. |
FileSearch | anyType (restriction) | 1..1 | Searches for file and assigns to fullpath value of parent Property |
FileSearchRef | anyType (restriction) | 1..1 | References an existing FileSearch element. |
<xs:element name="IniFileSearch">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="ComponentSearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="RegistrySearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="IniLocator" href="http://msdn.microsoft.com/library/aa369283.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Signature" href="http://msdn.microsoft.com/library/aa371853.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Searches for file, directory or registry key and assigns to value of parent Property</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0">
<xs:element ref="DirectorySearch" />
<xs:element ref="DirectorySearchRef" />
<xs:element ref="FileSearch" />
<xs:element ref="FileSearchRef" />
</xs:choice>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>External key into the Signature table.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Field" type="xs:integer">
<xs:annotation>
<xs:documentation>The field in the .ini line. If field is Null or 0, the entire line is read.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Key" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>The key value within the section.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="LongName" type="LongFileNameType">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="Name" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="LongFileNameType" use="required">
<xs:annotation>
<xs:documentation>
In prior versions of the WiX toolset, this attribute specified the short name.
This attribute's value may now be either a short or long name.
If a short name is specified, the ShortName attribute may not be specified.
If a long name is specified, the LongName attribute may not be specified.
Also, if this value is a long name, the ShortName attribute may be omitted to
allow WiX to attempt to generate a unique short name.
However, if you wish to manually specify the short name, then the ShortName
attribute may be specified.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Section" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>The localizable .ini file section.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ShortName" type="ShortFileNameType">
<xs:annotation>
<xs:documentation>
The short name of the file in 8.3 format.
This attribute should only be set if the user wants to manually specify the short name.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Must be file if last child is FileSearch element and must be directory if last child is DirectorySearch element.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="directory">
<xs:annotation>
<xs:documentation>A directory location.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="file">
<xs:annotation>
<xs:documentation>A file location. This is the default value.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="raw">
<xs:annotation>
<xs:documentation>A raw .ini value.</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
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 | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
<xs:element name="InstallAdminPackage" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="InstallAdminPackage" href="http://msdn.microsoft.com/library/aa369287.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Copies the product database to the administrative installation point. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Runs a script containing all operations spooled since either the start of the installation or the last InstallExecute action, or InstallExecuteAgain action.
Name | Type | Required? | Default | Description |
---|---|---|---|---|
After | string | No | The name of an action that this action should come after. |
|
Before | string | No | The name of an action that this action should come before. |
|
Overridable | YesNoType | No | If "yes", the sequencing of this action may be overridden by sequencing elsewhere. |
|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
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.
<xs:element name="InstallExecute" type="ActionModuleSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="InstallExecute" href="http://msdn.microsoft.com/library/aa369502.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Runs a script containing all operations spooled since either the start of the installation or the last InstallExecute action, or InstallExecuteAgain action. Special actions don't have a built-in sequence number and thus must appear relative to another action. The suggested way to do this is by using the Before or After attribute. InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize.</xs:documentation>
</xs:annotation>
</xs:element>
Runs a script containing all operations spooled since either the start of the installation or the last InstallExecute action, or InstallExecuteAgain action.
Name | Type | Required? | Default | Description |
---|---|---|---|---|
After | string | No | The name of an action that this action should come after. |
|
Before | string | No | The name of an action that this action should come before. |
|
Overridable | YesNoType | No | If "yes", the sequencing of this action may be overridden by sequencing elsewhere. |
|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
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.
<xs:element name="InstallExecuteAgain" type="ActionModuleSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="InstallExecuteAgain" href="http://msdn.microsoft.com/library/aa369497.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Runs a script containing all operations spooled since either the start of the installation or the last InstallExecute action, or InstallExecuteAgain action. Should only be used after InstallExecute. Special actions don't have a built-in sequence number and thus must appear relative to another action. The suggested way to do this is by using the Before or After attribute. InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize.</xs:documentation>
</xs:annotation>
</xs:element>
Restricting anyType
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..* | |||
AllocateRegistrySpace | ActionSequenceType | 0..1 | Ensures the needed amount of space exists in the registry. |
AppSearch | ActionModuleSequenceType | 0..1 | Uses file signatures to search for existing versions of products. |
BindImage | ActionSequenceType | 0..1 | Binds each executable or DLL that must be bound to the DLLs imported by it. |
CCPSearch | ActionModuleSequenceType | 1..1 | Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed. |
CostFinalize | ActionSequenceType | 1..1 | Ends the internal installation costing process begun by the CostInitialize action. |
CostInitialize | ActionSequenceType | 1..1 | Initiates the internal installation costing process. |
CreateFolders | ActionSequenceType | 0..1 | Creates empty folders for components that are set to be installed. |
CreateShortcuts | ActionSequenceType | 0..1 | Manages the creation of shortcuts. |
Custom | string (extension) | 0..* | Use to sequence a custom action. |
DeleteServices | ActionSequenceType | 1..1 | Stops a service and removes its registration from the system. |
DisableRollback | ActionModuleSequenceType | 0..1 | Disables rollback for the remainder of the installation. |
DuplicateFiles | ActionSequenceType | 1..1 | Duplicates files installed by the InstallFiles action. |
FileCost | ActionSequenceType | 1..1 | Initiates dynamic costing of standard installation actions. |
FindRelatedProducts | ActionModuleSequenceType | 0..1 | Runs through each record of the Upgrade table in sequence and compares the upgrade code, product version, and language in each row to products installed on the system. |
ForceReboot | ActionModuleSequenceType | 0..1 | Prompts the user for a restart of the system during the installation. |
InstallExecute | ActionModuleSequenceType | 0..1 | Runs a script containing all operations spooled since either the start of the installation or the last InstallExecute action, or InstallExecuteAgain action. |
InstallExecuteAgain | ActionModuleSequenceType | 0..1 | Runs a script containing all operations spooled since either the start of the installation or the last InstallExecute action, or InstallExecuteAgain action. |
InstallFiles | ActionSequenceType | 0..1 | Copies files specified in the File table from the source directory to the destination directory. |
InstallFinalize | ActionSequenceType | 1..1 | Marks the end of a sequence of actions that change the system. |
InstallInitialize | ActionSequenceType | 1..1 | Marks the beginning of a sequence of actions that change the system. |
InstallODBC | ActionSequenceType | 1..1 | Installs the drivers, translators, and data sources in the ODBCDriver table, ODBCTranslator table, and ODBCDataSource table. |
InstallServices | ActionSequenceType | 1..1 | Registers a service for the system. |
InstallValidate | ActionSequenceType | 1..1 | Verifies that all costed volumes have enough space for the installation. |
IsolateComponents | ActionSequenceType | 1..1 | Installs a copy of a component (commonly a shared DLL) into a private location for use by a specific application (typically an .exe). |
LaunchConditions | ActionModuleSequenceType | 0..1 | Queries the LaunchCondition table and evaluates each conditional statement recorded there. |
MigrateFeatureStates | ActionSequenceType | 1..1 | Used for upgrading or installing over an existing application. |
MoveFiles | ActionSequenceType | 1..1 | Locates existing files on the system and moves or copies those files to a new location. |
MsiPublishAssemblies | ActionSequenceType | 1..1 | Manages the advertisement of CLR and Win32 assemblies. |
MsiUnpublishAssemblies | ActionSequenceType | 1..1 | Manages the unadvertisement of CLR and Win32 assemblies that are being removed. |
PatchFiles | ActionSequenceType | 1..1 | Queries the Patch table to determine which patches are to be applied. |
ProcessComponents | ActionSequenceType | 1..1 | Registers and unregisters components, their key paths, and the component clients. |
PublishComponents | ActionSequenceType | 0..1 | Manages the advertisement of the components from the PublishComponent table. |
PublishFeatures | ActionSequenceType | 0..1 | Writes each feature's state into the system registry. |
PublishProduct | ActionSequenceType | 0..1 | Manages the advertisement of the product information with the system. |
RegisterClassInfo | ActionSequenceType | 0..1 | Manages the registration of COM class information with the system. |
RegisterComPlus | ActionSequenceType | 1..1 | Registers COM+ applications. |
RegisterExtensionInfo | ActionSequenceType | 1..1 | Manages the registration of extension related information with the system. |
RegisterFonts | ActionSequenceType | 1..1 | Registers installed fonts with the system. |
RegisterMIMEInfo | ActionSequenceType | 1..1 | Registers MIME-related registry information with the system. |
RegisterProduct | ActionSequenceType | 0..1 | Registers the product information with the installer. |
RegisterProgIdInfo | ActionSequenceType | 0..1 | Manages the registration of OLE ProgId information with the system. |
RegisterTypeLibraries | ActionSequenceType | 0..1 | Registers type libraries with the system. |
RegisterUser | ActionSequenceType | 0..1 | Registers the user information with the installer to identify the user of a product. |
RemoveDuplicateFiles | ActionSequenceType | 1..1 | Deletes files installed by the DuplicateFiles action. |
RemoveEnvironmentStrings | ActionSequenceType | 1..1 | Modifies the values of environment variables. |
RemoveExistingProducts | ActionModuleSequenceType | 1..1 | Goes through the product codes listed in the ActionProperty column of the Upgrade table and removes the products in sequence. |
RemoveFiles | ActionSequenceType | 0..1 | Removes files previously installed by the InstallFiles action. |
RemoveFolders | ActionSequenceType | 0..1 | Removes any folders linked to components set to be removed or run from source. |
RemoveIniValues | ActionSequenceType | 1..1 | Removes .ini file information specified for removal in the RemoveIniFile table if the component is set to be installed locally or run from source. |
RemoveODBC | ActionSequenceType | 1..1 | Removes the data sources, translators, and drivers listed for removal during the installation. |
RemoveRegistryValues | ActionSequenceType | 0..1 | Removes a registry value that has been authored into the registry table if the associated component was installed locally or as run from source, and is now set to be uninstalled. |
RemoveShortcuts | ActionSequenceType | 0..1 | Manages the removal of an advertised shortcut whose feature is selected for uninstallation or a nonadvertised shortcut whose component is selected for uninstallation. |
ResolveSource | ActionModuleSequenceType | 0..1 | Determines the location of the source and sets the SourceDir property if the source has not been resolved yet. |
RMCCPSearch | ActionModuleSequenceType | 1..1 | Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed. |
ScheduleReboot | ActionModuleSequenceType | 0..1 | Prompts the user to restart the system at the end of installation. |
SelfRegModules | ActionSequenceType | 0..1 | Processes all modules listed in the SelfReg table and registers all installed modules with the system. |
SelfUnregModules | ActionSequenceType | 0..1 | Unregisters all modules listed in the SelfReg table that are scheduled to be uninstalled. |
SetODBCFolders | ActionSequenceType | 1..1 | Checks for existing ODBC drivers and sets the target directory for each new driver to the location of an existing driver. |
StartServices | ActionSequenceType | 1..1 | Starts system services. |
StopServices | ActionSequenceType | 1..1 | Stops system services. |
UnpublishComponents | ActionSequenceType | 0..1 | Manages the unadvertisement of components listed in the PublishComponent table. |
UnpublishFeatures | ActionSequenceType | 0..1 | Removes selection-state and feature-component mapping information from the registry. |
UnregisterClassInfo | ActionSequenceType | 0..1 | Manages the removal of COM class information from the system registry. |
UnregisterComPlus | ActionSequenceType | 1..1 | Removes COM+ applications from the registry. |
UnregisterExtensionInfo | ActionSequenceType | 1..1 | Manages the removal of extension-related information from the system registry. |
UnregisterFonts | ActionSequenceType | 1..1 | Removes registration information about installed fonts from the system. |
UnregisterMIMEInfo | ActionSequenceType | 1..1 | Unregisters MIME-related registry information from the system. |
UnregisterProgIdInfo | ActionSequenceType | 0..1 | Manages the unregistration of OLE ProgId information with the system. |
UnregisterTypeLibraries | ActionSequenceType | 0..1 | Unregisters type libraries from the system. |
ValidateProductID | ActionSequenceType | 1..1 | Sets the ProductID property to the full product identifier. |
WriteEnvironmentStrings | ActionSequenceType | 1..1 | Modifies the values of environment variables. |
WriteIniValues | ActionSequenceType | 1..1 | Writes the .ini file information that the application needs written to its .ini files. |
WriteRegistryValues | ActionSequenceType | 0..1 | Sets up an application's registry information. |
<xs:element name="InstallExecuteSequence">
<xs:annotation>
<xs:appinfo>
<xse:msiRef table="InstallExecuteSequence" href="http://msdn.microsoft.com/library/aa369500.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<!-- used only to supply default op for child action elements -->
<xs:element ref="Custom" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Use to sequence a custom action.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ScheduleReboot" minOccurs="0">
<xs:annotation>
<xs:documentation>Prompts the user to restart the system at the end of installation. Not fixed sequence.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ForceReboot" minOccurs="0">
<xs:annotation>
<xs:documentation>Prompts the user for a restart of the system during the installation. Not fixed sequence.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ResolveSource" minOccurs="0">
<xs:annotation>
<xs:documentation>Determines the location of the source and sets the SourceDir property if the source has not been resolved yet. Not fixed sequence.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="LaunchConditions" minOccurs="0">
<xs:annotation>
<xs:documentation>Queries the LaunchCondition table and evaluates each conditional statement recorded there.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="FindRelatedProducts" minOccurs="0">
<xs:annotation>
<xs:documentation>Runs through each record of the Upgrade table in sequence and compares the upgrade code, product version, and language in each row to products installed on the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="AppSearch" minOccurs="0">
<xs:annotation>
<xs:documentation>Uses file signatures to search for existing versions of products.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="CCPSearch">
<xs:annotation>
<xs:documentation>Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RMCCPSearch">
<xs:annotation>
<xs:documentation>Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ValidateProductID">
<xs:annotation>
<xs:documentation>Sets the ProductID property to the full product identifier.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="CostInitialize">
<xs:annotation>
<xs:documentation>Initiates the internal installation costing process.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="FileCost">
<xs:annotation>
<xs:documentation>Initiates dynamic costing of standard installation actions.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="IsolateComponents">
<xs:annotation>
<xs:documentation>Installs a copy of a component (commonly a shared DLL) into a private location for use by a specific application (typically an .exe).</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="CostFinalize">
<xs:annotation>
<xs:documentation>Ends the internal installation costing process begun by the CostInitialize action.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="SetODBCFolders">
<xs:annotation>
<xs:documentation>Checks for existing ODBC drivers and sets the target directory for each new driver to the location of an existing driver.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="MigrateFeatureStates">
<xs:annotation>
<xs:documentation>Used for upgrading or installing over an existing application.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallValidate">
<xs:annotation>
<xs:documentation>Verifies that all costed volumes have enough space for the installation.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallInitialize">
<xs:annotation>
<xs:documentation>Marks the beginning of a sequence of actions that change the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="AllocateRegistrySpace" minOccurs="0">
<xs:annotation>
<xs:documentation>Ensures the needed amount of space exists in the registry.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ProcessComponents">
<xs:annotation>
<xs:documentation>Registers and unregisters components, their key paths, and the component clients.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="UnpublishComponents" minOccurs="0">
<xs:annotation>
<xs:documentation>Manages the unadvertisement of components listed in the PublishComponent table.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="UnpublishFeatures" minOccurs="0">
<xs:annotation>
<xs:documentation>Removes selection-state and feature-component mapping information from the registry.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="StopServices">
<xs:annotation>
<xs:documentation>Stops system services.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="DeleteServices">
<xs:annotation>
<xs:documentation>Stops a service and removes its registration from the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="UnregisterComPlus">
<xs:annotation>
<xs:documentation>Removes COM+ applications from the registry.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="SelfUnregModules" minOccurs="0">
<xs:annotation>
<xs:documentation>Unregisters all modules listed in the SelfReg table that are scheduled to be uninstalled.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="UnregisterTypeLibraries" minOccurs="0">
<xs:annotation>
<xs:documentation>Unregisters type libraries from the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RemoveODBC">
<xs:annotation>
<xs:documentation>Removes the data sources, translators, and drivers listed for removal during the installation.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="UnregisterFonts">
<xs:annotation>
<xs:documentation>Removes registration information about installed fonts from the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RemoveRegistryValues" minOccurs="0">
<xs:annotation>
<xs:documentation>Removes a registry value that has been authored into the registry table if the associated component was installed locally or as run from source, and is now set to be uninstalled.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="UnregisterClassInfo" minOccurs="0">
<xs:annotation>
<xs:documentation>Manages the removal of COM class information from the system registry.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="UnregisterExtensionInfo">
<xs:annotation>
<xs:documentation>Manages the removal of extension-related information from the system registry.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="UnregisterProgIdInfo" minOccurs="0">
<xs:annotation>
<xs:documentation>Manages the unregistration of OLE ProgId information with the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="UnregisterMIMEInfo">
<xs:annotation>
<xs:documentation>Unregisters MIME-related registry information from the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RemoveIniValues">
<xs:annotation>
<xs:documentation>Removes .ini file information specified for removal in the RemoveIniFile table if the component is set to be installed locally or run from source.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RemoveShortcuts" minOccurs="0">
<xs:annotation>
<xs:documentation>Manages the removal of an advertised shortcut whose feature is selected for uninstallation or a nonadvertised shortcut whose component is selected for uninstallation.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RemoveEnvironmentStrings">
<xs:annotation>
<xs:documentation>Modifies the values of environment variables.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RemoveDuplicateFiles">
<xs:annotation>
<xs:documentation>Deletes files installed by the DuplicateFiles action.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RemoveFiles" minOccurs="0">
<xs:annotation>
<xs:documentation>Removes files previously installed by the InstallFiles action.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RemoveFolders" minOccurs="0">
<xs:annotation>
<xs:documentation>Removes any folders linked to components set to be removed or run from source.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="CreateFolders" minOccurs="0">
<xs:annotation>
<xs:documentation>Creates empty folders for components that are set to be installed.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="MoveFiles">
<xs:annotation>
<xs:documentation>Locates existing files on the system and moves or copies those files to a new location.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallFiles" minOccurs="0">
<xs:annotation>
<xs:documentation>Copies files specified in the File table from the source directory to the destination directory.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="DuplicateFiles">
<xs:annotation>
<xs:documentation>Duplicates files installed by the InstallFiles action.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PatchFiles">
<xs:annotation>
<xs:documentation>Queries the Patch table to determine which patches are to be applied.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="BindImage" minOccurs="0">
<xs:annotation>
<xs:documentation>Binds each executable or DLL that must be bound to the DLLs imported by it.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="CreateShortcuts" minOccurs="0">
<xs:annotation>
<xs:documentation>Manages the creation of shortcuts.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RegisterClassInfo" minOccurs="0">
<xs:annotation>
<xs:documentation>Manages the registration of COM class information with the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RegisterExtensionInfo">
<xs:annotation>
<xs:documentation>Manages the registration of extension related information with the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RegisterProgIdInfo" minOccurs="0">
<xs:annotation>
<xs:documentation>Manages the registration of OLE ProgId information with the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RegisterMIMEInfo">
<xs:annotation>
<xs:documentation>Registers MIME-related registry information with the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="WriteRegistryValues" minOccurs="0">
<xs:annotation>
<xs:documentation>Sets up an application's registry information.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="WriteIniValues">
<xs:annotation>
<xs:documentation>Writes the .ini file information that the application needs written to its .ini files.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="WriteEnvironmentStrings">
<xs:annotation>
<xs:documentation>Modifies the values of environment variables.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RegisterFonts">
<xs:annotation>
<xs:documentation>Registers installed fonts with the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallODBC">
<xs:annotation>
<xs:documentation>Installs the drivers, translators, and data sources in the ODBCDriver table, ODBCTranslator table, and ODBCDataSource table.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RegisterTypeLibraries" minOccurs="0">
<xs:annotation>
<xs:documentation>Registers type libraries with the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="SelfRegModules" minOccurs="0">
<xs:annotation>
<xs:documentation>Processes all modules listed in the SelfReg table and registers all installed modules with the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RegisterComPlus">
<xs:annotation>
<xs:documentation>Registers COM+ applications.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallServices">
<xs:annotation>
<xs:documentation>Registers a service for the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="StartServices">
<xs:annotation>
<xs:documentation>Starts system services.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RegisterUser" minOccurs="0">
<xs:annotation>
<xs:documentation>Registers the user information with the installer to identify the user of a product.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RegisterProduct" minOccurs="0">
<xs:annotation>
<xs:documentation>Registers the product information with the installer.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PublishComponents" minOccurs="0">
<xs:annotation>
<xs:documentation>Manages the advertisement of the components from the PublishComponent table.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PublishFeatures" minOccurs="0">
<xs:annotation>
<xs:documentation>Writes each feature's state into the system registry.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PublishProduct" minOccurs="0">
<xs:annotation>
<xs:documentation>Manages the advertisement of the product information with the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallFinalize">
<xs:annotation>
<xs:documentation>Marks the end of a sequence of actions that change the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RemoveExistingProducts">
<xs:annotation>
<xs:documentation>Goes through the product codes listed in the ActionProperty column of the Upgrade table and removes the products in sequence.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="DisableRollback" minOccurs="0">
<xs:annotation>
<xs:documentation>Disables rollback for the remainder of the installation.</xs:documentation>
</xs:annotation>
</xs:element>
<!-- InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize -->
<xs:element ref="InstallExecute" minOccurs="0">
<xs:annotation>
<xs:documentation>Runs a script containing all operations spooled since either the start of the installation or the last InstallExecute action, or InstallExecuteAgain action.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstallExecuteAgain" minOccurs="0">
<xs:annotation>
<xs:documentation>Runs a script containing all operations spooled since either the start of the installation or the last InstallExecute action, or InstallExecuteAgain action.</xs:documentation>
</xs:annotation>
</xs:element>
<!-- Windows Installer 1.5 actions -->
<xs:element ref="MsiPublishAssemblies">
<xs:annotation>
<xs:documentation>Manages the advertisement of CLR and Win32 assemblies.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="MsiUnpublishAssemblies">
<xs:annotation>
<xs:documentation>Manages the unadvertisement of CLR and Win32 assemblies that are being removed.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
Copies files specified in the File table from the source directory to the destination directory.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="InstallFiles" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="InstallFiles" href="http://msdn.microsoft.com/library/aa369503.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Copies files specified in the File table from the source directory to the destination directory. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Marks the end of a sequence of actions that change the system.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="InstallFinalize" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="InstallInitialize" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef action="InstallFinalize" href="http://msdn.microsoft.com/library/aa369505.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Marks the end of a sequence of actions that change the system. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Marks the beginning of a sequence of actions that change the system.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="InstallInitialize" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="InstallFinalize" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef action="InstallInitialize" href="http://msdn.microsoft.com/library/aa369535.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Marks the beginning of a sequence of actions that change the system. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Installs the drivers, translators, and data sources in the ODBCDriver table, ODBCTranslator table, and ODBCDataSource table.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="InstallODBC" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="InstallODBC" href="http://msdn.microsoft.com/library/aa369538.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Installs the drivers, translators, and data sources in the ODBCDriver table, ODBCTranslator table, and ODBCDataSource table. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Registers a service for the system.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="InstallServices" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="InstallServices" href="http://msdn.microsoft.com/library/aa369540.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Registers a service for the system. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Restricting anyType
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..* | |||
AppSearch | ActionModuleSequenceType | 0..1 | Uses file signatures to search for existing versions of products. |
CCPSearch | ActionModuleSequenceType | 0..1 | Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed. |
CostFinalize | ActionSequenceType | 1..1 | Ends the internal installation costing process begun by the CostInitialize action. |
CostInitialize | ActionSequenceType | 1..1 | Initiates the internal installation costing process. |
Custom | string (extension) | 0..* | Use to sequence a custom action. |
ExecuteAction | ActionSequenceType | 0..1 | Initiates the execution sequence. |
FileCost | ActionSequenceType | 1..1 | Initiates dynamic costing of standard installation actions. |
FindRelatedProducts | ActionModuleSequenceType | 0..1 | Runs through each record of the Upgrade table in sequence and compares the upgrade code, product version, and language in each row to products installed on the system. |
IsolateComponents | ActionSequenceType | 1..1 | Installs a copy of a component (commonly a shared DLL) into a private location for use by a specific application (typically an .exe). |
LaunchConditions | ActionModuleSequenceType | 0..1 | Queries the LaunchCondition table and evaluates each conditional statement recorded there. |
MigrateFeatureStates | ActionSequenceType | 1..1 | Used for upgrading or installing over an existing application. |
ResolveSource | ActionModuleSequenceType | 0..1 | Determines the location of the source and sets the SourceDir property if the source has not been resolved yet. |
RMCCPSearch | ActionModuleSequenceType | 0..1 | Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed. |
ScheduleReboot | ActionModuleSequenceType | 0..1 | Prompts the user to restart the system at the end of installation. |
Show | string (extension) | 0..* | |
ValidateProductID | ActionSequenceType | 1..1 | Sets the ProductID property to the full product identifier. |
<xs:element name="InstallUISequence">
<xs:annotation>
<xs:appinfo>
<xse:msiRef table="InstallUISequence" href="http://msdn.microsoft.com/library/aa369543.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Custom" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Use to sequence a custom action.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="Show" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Displays a Dialog.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ScheduleReboot" minOccurs="0">
<xs:annotation>
<xs:documentation>Prompts the user to restart the system at the end of installation. Not fixed sequence.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="LaunchConditions" minOccurs="0">
<xs:annotation>
<xs:documentation>Queries the LaunchCondition table and evaluates each conditional statement recorded there.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="FindRelatedProducts" minOccurs="0">
<xs:annotation>
<xs:documentation>Runs through each record of the Upgrade table in sequence and compares the upgrade code, product version, and language in each row to products installed on the system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="AppSearch" minOccurs="0">
<xs:annotation>
<xs:documentation>Uses file signatures to search for existing versions of products.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="CCPSearch" minOccurs="0">
<xs:annotation>
<xs:documentation>Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RMCCPSearch" minOccurs="0">
<xs:annotation>
<xs:documentation>Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ValidateProductID">
<xs:annotation>
<xs:documentation>Sets the ProductID property to the full product identifier.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="CostInitialize">
<xs:annotation>
<xs:documentation>Initiates the internal installation costing process.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="FileCost">
<xs:annotation>
<xs:documentation>Initiates dynamic costing of standard installation actions.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="IsolateComponents">
<xs:annotation>
<xs:documentation>Installs a copy of a component (commonly a shared DLL) into a private location for use by a specific application (typically an .exe).</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ResolveSource" minOccurs="0">
<xs:annotation>
<xs:documentation>Determines the location of the source and sets the SourceDir property if the source has not been resolved yet.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="CostFinalize">
<xs:annotation>
<xs:documentation>Ends the internal installation costing process begun by the CostInitialize action.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="MigrateFeatureStates">
<xs:annotation>
<xs:documentation>Used for upgrading or installing over an existing application.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ExecuteAction" minOccurs="0">
<xs:annotation>
<xs:documentation>Initiates the execution sequence.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
Verifies that all costed volumes have enough space for the installation.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="InstallValidate" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="InstallValidate" href="http://msdn.microsoft.com/library/aa369546.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Verifies that all costed volumes have enough space for the installation. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Defines an instance transform for your product.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | The identity of the instance transform. |
|
ProductCode | string | Yes | The ProductCode for this instance. |
|
ProductName | string | No | The ProductName for this instance. |
Always empty.
<xs:element name="Instance">
<xs:annotation>
<xs:documentation>
Defines an instance transform for your product.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>
The identity of the instance transform. This value will define the name by which the instance
should be referred to on the command line. In addition, the value of the this attribute will
determine what the value of the property specified in Property attribute on InstanceTransforms
will change to for each instance.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ProductCode" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The ProductCode for this instance.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ProductName" type="xs:string">
<xs:annotation>
<xs:documentation>The ProductName for this instance.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Use this element to contain definitions for instance transforms.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Property | string | Yes | The Id of the Property who's value should change for each instance. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..* | |||
Instance | anyType (restriction) | 1..1 | Defines an instance transform for your product. |
<xs:element name="InstanceTransforms">
<xs:annotation>
<xs:documentation>
Use this element to contain definitions for instance transforms.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Instance" />
</xs:choice>
<xs:attribute name="Property" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The Id of the Property who's value should change for each instance.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
COM Interface registration for parent Typelib.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | Guid | Yes | GUID identifier for COM Interface. |
|
Name | string | Yes | Name for COM Interface. |
|
ProxyStubClassId | Guid | No | GUID CLSID for proxy stub to COM Interface. |
|
ProxyStubClassId32 | Guid | No | GUID CLSID for 32-bit proxy stub to COM Interface. |
|
NumMethods | integer | No | Number of methods implemented on COM Interface. |
|
Versioned | YesNoType | No | Determines whether a Typelib version entry should be created with the other COM Interface registry keys. |
Always empty.
<xs:element name="Interface">
<xs:annotation>
<xs:documentation>COM Interface registration for parent Typelib.</xs:documentation>
<xs:appinfo>
<xse:msiRef table="Registry" href="http://msdn.microsoft.com/library/aa371168.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="Guid" use="required">
<xs:annotation>
<xs:documentation>GUID identifier for COM Interface.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Name for COM Interface.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ProxyStubClassId" type="Guid">
<xs:annotation>
<xs:documentation>GUID CLSID for proxy stub to COM Interface.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ProxyStubClassId32" type="Guid">
<xs:annotation>
<xs:documentation>GUID CLSID for 32-bit proxy stub to COM Interface.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="NumMethods" type="xs:integer">
<xs:annotation>
<xs:documentation>Number of methods implemented on COM Interface.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Versioned" type="YesNoType">
<xs:annotation>
<xs:documentation>Determines whether a Typelib version entry should be created with the other COM Interface registry keys. Default is 'yes'.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Shared Component to be privately replicated in folder of parent Component
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Shared | string | Yes | Shared Component for this application Component. |
Always empty.
<xs:element name="IsolateComponent">
<xs:annotation>
<xs:documentation>
Shared Component to be privately replicated in folder of parent Component
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="IsolateComponent" href="http://msdn.microsoft.com/library/aa369730.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Shared" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Shared Component for this application Component.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
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 | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
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.
<xs:element name="IsolateComponents" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="IsolateComponent" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef action="IsolateComponents" href="http://msdn.microsoft.com/library/aa369561.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Installs a copy of a component (commonly a shared DLL) into a private location for use by a specific application (typically an .exe). This isolates the application from other copies of the component that may be installed to a shared location on the computer. The action refers to each record of the IsolatedComponent table and associates the files of the component listed in the Component_Shared field with the component listed in the Component_Application field. The installer installs the files of Component_Shared into the same directory as Component_Application. The installer generates a file in this directory, zero bytes in length, having the short filename name of the key file for Component_Application (typically this is the same file name as the .exe) appended with .local. The IsolatedComponent action does not affect the installation of Component_Application. Uninstalling Component_Application also removes the Component_Shared files and the .local file from the directory. The IsolateComponents action can be used only in the InstallUISequence table and the InstallExecuteSequence table. This action must come after the CostInitialize action and before the CostFinalize action. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Queries the LaunchCondition table and evaluates each conditional statement recorded there.
Name | Type | Required? | Default | Description |
---|---|---|---|---|
After | string | No | The name of an action that this action should come after. |
|
Before | string | No | The name of an action that this action should come before. |
|
Overridable | YesNoType | No | If "yes", the sequencing of this action may be overridden by sequencing elsewhere. |
|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
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.
<xs:element name="LaunchConditions" type="ActionModuleSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="Condition" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef action="LaunchConditions" href="http://msdn.microsoft.com/library/aa369751.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Queries the LaunchCondition table and evaluates each conditional statement recorded there. If any of these conditional statements fail, an error message is displayed to the user and the installation is terminated. The LaunchConditions action is optional. This action is normally the first in the sequence, but the AppSearch Action may be sequenced before the LaunchConditions action. If there are launch conditions that do not apply to all installation modes, the appropriate installation mode property should be used in a conditional expression in the appropriate sequence table. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Set of items for a particular ListBox control tied to an install Property
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Property | string | Yes | Property tied to this group |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
1..1 | |||
ListItem | anyType (restriction) | 0..* | The value (and optional text) associated with an item in a ComboBox, ListBox, or ListView. |
<xs:element name="ListBox">
<xs:annotation>
<xs:documentation>
Set of items for a particular ListBox control tied to an install Property
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="Control" href="http://msdn.microsoft.com/library/aa368044.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Dialog" href="http://msdn.microsoft.com/library/aa368286.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="ListView" href="http://msdn.microsoft.com/library/aa369764.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="ListItem" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>entry for ListBox table</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="Property" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Property tied to this group</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
The value (and optional text) associated with an item in a ComboBox, ListBox, or ListView.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Value | string | Yes | The value assigned to the associated ComboBox, ListBox, or ListView property if this item is selected. |
|
Text | string | No | The localizable, visible text to be assigned to the item. |
|
Icon | string | No | The identifier of the Binary (not Icon) element containing the icon to associate with this item. |
Always empty.
<xs:element name="ListItem">
<xs:annotation>
<xs:documentation>
The value (and optional text) associated with an item in a ComboBox, ListBox, or ListView.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="ComboBox" href="http://msdn.microsoft.com/library/aa367872.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="ListBox" href="http://msdn.microsoft.com/library/aa369762.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="ListView" href="http://msdn.microsoft.com/library/aa369764.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Value" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>
The value assigned to the associated ComboBox, ListBox, or ListView property if this item is selected.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Text" type="xs:string">
<xs:annotation>
<xs:documentation>
The localizable, visible text to be assigned to the item.
If not specified, this will default to the value of the Value attribute.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Icon" type="xs:string">
<xs:annotation>
<xs:documentation>
The identifier of the Binary (not Icon) element containing the icon to associate with this item.
This value is only valid when nested under a ListView element.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Set of items for a particular ListView control tied to an install Property
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Property | string | Yes | Property tied to this group |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
1..1 | |||
ListItem | anyType (restriction) | 0..* | The value (and optional text) associated with an item in a ComboBox, ListBox, or ListView. |
<xs:element name="ListView">
<xs:annotation>
<xs:documentation>
Set of items for a particular ListView control tied to an install Property
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="ListView" href="http://msdn.microsoft.com/library/aa369764.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Control" href="http://msdn.microsoft.com/library/aa368044.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Dialog" href="http://msdn.microsoft.com/library/aa368286.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="ListItem" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>entry for ListView table</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="Property" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Property tied to this group</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Media element describes a disk that makes up the source media for the installation.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | integer | Yes | Disk identifier for Media table. |
|
Cabinet | string | No | The name of the cabinet if some or all of the files stored on the media are in a cabinet file. |
|
CompressionLevel | NMTOKEN (restriction) | No | Indicates the compression level for the Media's cabinet. |
|
DiskPrompt | string | No | The disk name, which is usually the visible text printed on the disk. |
|
EmbedCab | YesNoType | No | Instructs the binder to embed the cabinet in the product if 'yes'. |
|
Layout | string | No | This attribute specifies the root directory for the uncompressed files that are a part of this Media element. |
|
src | string | No | ||
VolumeLabel | string | No | The label attributed to the volume. |
|
Source | string | No | Optional property that identifies the source of the embedded cabinet. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
1..1 | |||
0..* | |||
DigitalSignature | anyType (restriction) | 0..1 | Adds a digital signature. |
PatchBaseline | anyType (restriction) | 0..* | Identifies a set of product versions. |
SymbolPath | anyType (restriction) | 1..1 | A path to symbols. |
<xs:element name="Media">
<xs:annotation>
<xs:documentation>Media element describes a disk that makes up the source media for the installation.</xs:documentation>
<xs:appinfo>
<xse:msiRef table="Media" href="http://msdn.microsoft.com/library/aa369801.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="DigitalSignature" minOccurs="0" />
<xs:element ref="PatchBaseline" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="SymbolPath" />
</xs:choice>
</xs:sequence>
<xs:attribute name="Id" type="xs:integer" use="required">
<xs:annotation>
<xs:documentation>Disk identifier for Media table. This number must be equal to or greater than 1.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Cabinet" type="xs:string">
<xs:annotation>
<xs:documentation>The name of the cabinet if some or all of the files stored on the media are in a cabinet file. If no cabinets are used, this attribute must not be set.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="CompressionLevel">
<xs:annotation>
<xs:documentation>
Indicates the compression level for the Media's cabinet. This attribute can
only be used in conjunction with the Cabinet attribute. The default is 'mszip'.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="high" />
<xs:enumeration value="low" />
<xs:enumeration value="medium" />
<xs:enumeration value="mszip" />
<xs:enumeration value="none" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="DiskPrompt" type="xs:string">
<xs:annotation>
<xs:documentation>The disk name, which is usually the visible text printed on the disk. This localizable text is used to prompt the user when this disk needs to be inserted. This value will be used in the "[1]" of the DiskPrompt Property. Using this attribute will require you to define a DiskPrompt Property.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="EmbedCab" type="YesNoType">
<xs:annotation>
<xs:documentation>Instructs the binder to embed the cabinet in the product if 'yes'. This attribute can only be specified in conjunction with the Cabinet attribute.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Layout" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute specifies the root directory for the uncompressed files that
are a part of this Media element. By default, the src will be the output
directory for the final image. The default value ensures the binder generates
an installable image. If a relative path is specified in the src attribute,
the value will be appended to the image's output directory. If an absolute
path is provided, that path will be used without modification. The latter two
options are provided to ease the layout of an image onto multiple medias (CDs/DVDs).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="src" type="xs:string">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="Layout" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="VolumeLabel" type="xs:string">
<xs:annotation>
<xs:documentation>
The label attributed to the volume. This is the volume label returned
by the GetVolumeInformation function. If the SourceDir property refers
to a removable (floppy or CD-ROM) volume, then this volume label is
used to verify that the proper disk is in the drive before attempting
to install files. The entry in this column must match the volume label
of the physical media.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Source" type="xs:string">
<xs:annotation>
<xs:documentation>
Optional property that identifies the source of the embedded cabinet.
If a cabinet is specified for a patch, this property should be defined
and unique to each patch so that the embedded cabinet containing patched
and new files can be located in the patch package. If the cabinet is not
embedded - this is not typical - the cabinet can be found in the directory
referenced in this column. If empty, the external cabinet must be located
in the SourceDir directory.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Merge directive to bring in a merge module that will be redirected to the parent directory.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | The unique identifier for the Merge element in the source code. |
|
DiskId | string | No | The value of this attribute should correspond to the Id attribute of a Media element authored elsewhere. |
|
FileCompression | YesNoType | No | Specifies if the files in the merge module should be compressed. |
|
Language | LocalizableInteger | Yes | Specifies the decimal LCID or localization token for the language to merge the Module in as. |
|
SourceFile | string | No | Path to the source location of the merge module. |
|
src | string | No |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..* | |||
ConfigurationData | anyType (restriction) | 1..1 | Data to use as input to a configurable merge module. |
<xs:element name="Merge">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="MergeRef" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:howtoRef href="install_vcredist.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Install the Visual C++ Redistributable with your installer</xse:howtoRef>
</xs:appinfo>
<xs:documentation>Merge directive to bring in a merge module that will be redirected to the parent directory.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="ConfigurationData">
<xs:annotation>
<xs:documentation>Data to use as input to a configurable merge module.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The unique identifier for the Merge element in the source code. Referenced by the MergeRef/@Id.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DiskId" type="xs:string">
<xs:annotation>
<xs:documentation>The value of this attribute should correspond to the Id attribute of a
Media element authored elsewhere. By creating this connection between the Merge Module and Media
element, you set the packaging options to the values specified in the Media
element (values such as compression level, cab embedding, etc...).</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="FileCompression" type="YesNoType">
<xs:annotation>
<xs:documentation>Specifies if the files in the merge module should be compressed.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Language" type="LocalizableInteger" use="required">
<xs:annotation>
<xs:documentation>Specifies the decimal LCID or localization token for the language to merge the Module in as.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SourceFile" type="xs:string">
<xs:annotation>
<xs:documentation>Path to the source location of the merge module.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="src" type="xs:string">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="SourceFile" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Merge reference to connect a Merge Module to parent Feature
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | The unique identifier for the Merge element to be referenced. |
|
Primary | YesNoType | No | Specifies whether the feature containing this MergeRef is the primary feature for advertising the merge module's components. |
Always empty.
<xs:element name="MergeRef">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="Merge" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:howtoRef href="install_vcredist.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Install the Visual C++ Redistributable with your installer</xse:howtoRef>
</xs:appinfo>
<xs:documentation>Merge reference to connect a Merge Module to parent Feature</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The unique identifier for the Merge element to be referenced.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Primary" type="YesNoType">
<xs:annotation>
<xs:documentation>Specifies whether the feature containing this MergeRef is the primary feature for advertising the merge module's components.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>
Used for upgrading or installing over an existing application.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
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.
<xs:element name="MigrateFeatureStates" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="MigrateFeatureStates" href="http://msdn.microsoft.com/library/aa370034.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Used for upgrading or installing over an existing application. Reads feature states from existing application and sets these feature states for the pending installation. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
MIME content-type for an Extension
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Advertise | YesNoType | No | Whether this MIME is to be advertised. |
|
ContentType | string | Yes | This is the identifier for the MIME content. |
|
Class | Guid | No | Class ID for the COM server that is to be associated with the MIME content. |
|
Default | YesNoType | No | If 'yes', become the content type for the parent Extension. |
Always empty.
<xs:element name="MIME">
<xs:annotation>
<xs:documentation>
MIME content-type for an Extension
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="MIME" href="http://msdn.microsoft.com/library/aa370035.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Advertise" type="YesNoType">
<xs:annotation>
<xs:documentation>Whether this MIME is to be advertised. The default is to match whatever the parent extension element uses. If the parent element is not advertised, then this element cannot be advertised either.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ContentType" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>This is the identifier for the MIME content. It is commonly written in the form of type/format.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Class" type="Guid">
<xs:annotation>
<xs:documentation>Class ID for the COM server that is to be associated with the MIME content.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Default" type="YesNoType">
<xs:annotation>
<xs:documentation>If 'yes', become the content type for the parent Extension. The default value is 'no'.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
The Module element is analogous to the main function in a C program.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | The name of the merge module (not the file name). |
|
Codepage | string | No | The code page integer value or web name for the resulting MSM. |
|
Guid | Guid | No | This attribute is deprecated. Use the Package/@Id instead. |
|
Language | LocalizableInteger | Yes | The decimal language ID (LCID) of the merge module. |
|
Version | string | Yes | The major and minor versions of the merge module. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
1..1 | |||
Package | anyType (restriction) | 1..1 | Properties about the package to be placed in the Summary Information Stream. |
0..* | |||
any | 1..1 | Allow any element from the ##other namespace. |
|
AppId | anyType (restriction) | 1..1 | Application ID containing DCOM information for the associated application GUID. |
Binary | anyType (restriction) | 1..1 | Binary data used for CustomAction elements and UI controls. |
Component | anyType (restriction) | 1..1 | Component for parent Directory |
ComponentGroupRef | anyType (restriction) | 1..1 | Create a reference to a ComponentGroup in another Fragment. |
ComponentRef | anyType (restriction) | 1..1 | Create a reference to a Feature element in another Fragment. |
Configuration | anyType (restriction) | 1..1 | Defines the configurable attributes of merge module. |
CustomAction | string (extension) | 1..1 | Specifies a custom action to be added to the MSI CustomAction table. |
CustomActionRef | anyType (restriction) | 1..1 | This will cause the entire contents of the Fragment containing the referenced CustomAction to be included in the installer database. |
CustomTable | anyType (restriction) | 1..1 | Defines a custom table for use from a custom action. |
Dependency | anyType (restriction) | 1..1 | Declares a dependency on another merge module. |
Directory | anyType (restriction) | 1..1 | Directory layout for the product. |
DirectoryRef | anyType (restriction) | 1..1 | Create a reference to a Directory element in another Fragment. |
EmbeddedChainer | string (extension) | 1..1 | |
EmbeddedChainerRef | anyType (restriction) | 1..1 | Reference to an EmbeddedChainer element. |
EnsureTable | anyType (restriction) | 1..1 | Use this element to ensure that a table appears in the installer database, even if its empty. |
Exclusion | anyType (restriction) | 1..1 | Declares a merge module with which this merge module is incompatible. |
Icon | anyType (restriction) | 1..1 | Icon used for Shortcut, ProgId, or Class elements (but not UI controls) |
IgnoreModularization | anyType (restriction) | 1..1 | This element has been deprecated. |
IgnoreTable | anyType (restriction) | 1..1 | Specifies a table from the merge module that is not merged into an .msi file. |
Property | anyType (restriction) | 1..1 | Property value for a Product or Module. |
PropertyRef | anyType (restriction) | 1..1 | Reference to a Property value. |
1..1 | |||
InstallExecuteSequence | anyType (restriction) | 0..1 | |
InstallUISequence | anyType (restriction) | 0..1 | |
AdminExecuteSequence | anyType (restriction) | 0..1 | |
AdminUISequence | anyType (restriction) | 0..1 | |
AdvertiseExecuteSequence | anyType (restriction) | 0..1 | |
SetDirectory | string (extension) | 1..1 | Sets a Directory to a particular value. |
SetProperty | string (extension) | 1..1 | Sets a Property to a particular value. |
SFPCatalog | anyType (restriction) | 1..1 | Adds a system file protection update catalog file |
Substitution | anyType (restriction) | 1..1 | Specifies the configurable fields of a module database and provides a template for the configuration of each field. |
UI | anyType (restriction) | 1..1 | Enclosing element to compartmentalize UI specifications. |
UIRef | anyType (restriction) | 1..1 | Reference to a UI element. This will force the entire referenced Fragment's contents to be included in the installer database. |
WixVariable | anyType (restriction) | 1..1 | This element exposes advanced WiX functionality. |
When linking, only one Module section can be given to the linker to produce a successful result. Using this element creates an msm file.
<xs:element name="Module">
<xs:annotation>
<xs:documentation>
The Module element is analogous to the main function in a C program. When linking, only
one Module section can be given to the linker to produce a successful result. Using this
element creates an msm file.
</xs:documentation>
<xs:appinfo>
<xse:remarks xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">
<html:p xmlns:html="http://www.w3.org/1999/xhtml">You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See <a href="/html/codepage.htm" xmlns="http://schemas.microsoft.com/wix/2006/wi">Code Pages</a> for more information.</html:p>
</xse:remarks>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="Package" />
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="AppId" />
<xs:element ref="Binary" />
<xs:element ref="Component" />
<xs:element ref="ComponentGroupRef" />
<xs:element ref="ComponentRef" />
<xs:element ref="Configuration" />
<xs:element ref="CustomAction" />
<xs:element ref="CustomActionRef" />
<xs:element ref="CustomTable" />
<xs:element ref="Dependency" />
<xs:element ref="Directory" />
<xs:element ref="DirectoryRef" />
<xs:element ref="EmbeddedChainer" />
<xs:element ref="EmbeddedChainerRef" />
<xs:element ref="EnsureTable" />
<xs:element ref="Exclusion" />
<xs:element ref="Icon" />
<xs:element ref="IgnoreModularization" />
<xs:element ref="IgnoreTable" />
<xs:element ref="Property" />
<xs:element ref="PropertyRef" />
<xs:element ref="SetDirectory" />
<xs:element ref="SetProperty" />
<xs:element ref="SFPCatalog" />
<xs:element ref="Substitution" />
<xs:element ref="UI" />
<xs:element ref="UIRef" />
<xs:element ref="WixVariable" />
<xs:sequence>
<xs:element ref="InstallExecuteSequence" minOccurs="0" />
<xs:element ref="InstallUISequence" minOccurs="0" />
<xs:element ref="AdminExecuteSequence" minOccurs="0" />
<xs:element ref="AdminUISequence" minOccurs="0" />
<xs:element ref="AdvertiseExecuteSequence" minOccurs="0" />
</xs:sequence>
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
</xs:sequence>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The name of the merge module (not the file name).</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Codepage" type="xs:string">
<xs:annotation>
<xs:documentation>The code page integer value or web name for the resulting MSM. See remarks for more information.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Guid" type="Guid">
<xs:annotation>
<xs:documentation>This attribute is deprecated. Use the Package/@Id instead.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Language" type="LocalizableInteger" use="required">
<xs:annotation>
<xs:documentation>The decimal language ID (LCID) of the merge module.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Version" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The major and minor versions of the merge module.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Locates existing files on the system and moves or copies those files to a new location.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="MoveFiles" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef table="MoveFile" href="http://msdn.microsoft.com/library/aa370055.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef action="MoveFiles" href="http://msdn.microsoft.com/library/aa370054.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Locates existing files on the system and moves or copies those files to a new location. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Manages the advertisement of CLR and Win32 assemblies.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="MsiPublishAssemblies" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="MsiPublishAssemblies" href="http://msdn.microsoft.com/library/aa370359.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Manages the advertisement of CLR and Win32 assemblies. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Manages the unadvertisement of CLR and Win32 assemblies that are being removed.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="MsiUnpublishAssemblies" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="MsiUnpublishAssemblies" href="http://msdn.microsoft.com/library/aa370500.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Manages the unadvertisement of CLR and Win32 assemblies that are being removed. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
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.
<xs:element name="MultiStringValue">
<xs:annotation>
<xs:documentation>
Use several of these elements to specify each registry value in a multiString registry value. This element
cannot be used if the Value attribute is specified unless the Type attribute is set to 'multiString'. The
values should go in the text area of the MultiStringValue element.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="Registry" href="http://msdn.microsoft.com/library/aa371168.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:element>
ODBCDataSource for a Component
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Identifier of the data source. |
|
Name | string | Yes | Name for the data source. |
|
DriverName | string | No | Required if not found as child of ODBCDriver element |
|
Registration | NMTOKEN (restriction) | Yes | Scope for which the data source should be registered. |
|
KeyPath | YesNoType | No | Set 'yes' to force this file to be key path for parent Component |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
1..1 | |||
Property | anyType (restriction) | 0..* | Property value for a Product or Module. |
<xs:element name="ODBCDataSource">
<xs:annotation>
<xs:documentation>
ODBCDataSource for a Component
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="ODBCDataSource" href="http://msdn.microsoft.com/library/aa370546.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="Property" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Translates into ODBCSourceAttributes</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Identifier of the data source.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Name for the data source.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DriverName" type="xs:string">
<xs:annotation>
<xs:documentation>Required if not found as child of ODBCDriver element</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Registration" use="required">
<xs:annotation>
<xs:documentation>Scope for which the data source should be registered.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="machine">
<xs:annotation>
<xs:documentation>
Data source is registered per machine.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="user">
<xs:annotation>
<xs:documentation>
Data source is registered per user.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="KeyPath" type="YesNoType">
<xs:annotation>
<xs:documentation>Set 'yes' to force this file to be key path for parent Component</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
ODBCDriver for a Component
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Identifier for the driver. |
|
Name | string | Yes | Name for the driver. |
|
File | string | No | Required if not found as child of File element |
|
SetupFile | string | No | Required if not found as child of File element or different from File attribute above |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
1..1 | |||
Property | anyType (restriction) | 0..* | Property value for a Product or Module. |
ODBCDataSource | anyType (restriction) | 0..* | ODBCDataSource for a Component |
<xs:element name="ODBCDriver">
<xs:annotation>
<xs:documentation>
ODBCDriver for a Component
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="ODBCDriver" href="http://msdn.microsoft.com/library/aa370547.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="Property" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Translates into ODBCSourceAttributes</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ODBCDataSource" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Identifier for the driver.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Name for the driver.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="File" type="xs:string">
<xs:annotation>
<xs:documentation>Required if not found as child of File element</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SetupFile" type="xs:string">
<xs:annotation>
<xs:documentation>Required if not found as child of File element or different from File attribute above</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
ODBCTranslator for a Component
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Identifier for the translator. |
|
Name | string | Yes | Name for the translator. |
|
File | string | No | Required if not found as child of File element |
|
SetupFile | string | No | Required if not found as child of File element or different from File attribute above |
Always empty.
<xs:element name="ODBCTranslator">
<xs:annotation>
<xs:documentation>
ODBCTranslator for a Component
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="ODBCTranslator" href="http://msdn.microsoft.com/library/aa370549.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Identifier for the translator.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Name for the translator.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="File" type="xs:string">
<xs:annotation>
<xs:documentation>Required if not found as child of File element</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SetupFile" type="xs:string">
<xs:annotation>
<xs:documentation>Required if not found as child of File element or different from File attribute above</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Indicates whether custom actions can be skipped when applying the patch.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
SkipAssignment | YesNoType | No | Skip property (type 51) and directory (type 35) assignment custom actions. |
|
SkipImmediate | YesNoType | No | Skip immediate custom actions that are not property or directory assignment custom actions. |
|
SkipDeferred | YesNoType | No | Skip custom actions that run within the script. |
Always empty.
<xs:element name="OptimizeCustomActions">
<xs:annotation>
<xs:documentation>Indicates whether custom actions can be skipped when applying the patch.</xs:documentation>
<xs:appinfo>
<xse:msiRef table="MsiPatchMetadata" href="http://msdn.microsoft.com/library/aa370344.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="SkipAssignment" type="YesNoType">
<xs:annotation>
<xs:documentation>Skip property (type 51) and directory (type 35) assignment custom actions.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SkipImmediate" type="YesNoType">
<xs:annotation>
<xs:documentation>Skip immediate custom actions that are not property or directory assignment custom actions.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SkipDeferred" type="YesNoType">
<xs:annotation>
<xs:documentation>Skip custom actions that run within the script.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Properties about the package to be placed in the Summary Information Stream.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | AutogenGuid | No | The package code GUID for a product or merge module. |
|
AdminImage | YesNoType | No | Set to 'yes' if the source is an admin image. |
|
Comments | string | No | Optional comments for browsing. |
|
Compressed | YesNoType | No | Set to 'yes' to have compressed files in the source. |
|
Description | string | No | The product full name or description. |
|
InstallPrivileges | NMTOKEN (restriction) | No | Use this attribute to specify the priviliges required to install the package on Windows Vista and above. |
|
InstallScope | NMTOKEN (restriction) | No | Use this attribute to specify the installation scope of this package: per-machine or per-user. |
|
InstallerVersion | integer | No | The minimum version of the Windows Installer required to install this package. |
|
Keywords | string | No | Optional keywords for browsing. |
|
Languages | string | No | The list of language IDs (LCIDs) supported in the package. |
|
Manufacturer | string | No | The vendor releasing the package. |
|
Platforms | string | No | ||
Platform | NMTOKEN (restriction) | No | The platform supported by the package. |
|
ReadOnly | YesNoDefaultType | No | The value of this attribute conveys whether the package should be opened as read-only. |
|
ShortNames | YesNoType | No | Set to 'yes' to have short filenames in the source. |
|
SummaryCodepage | string | No | The code page integer value or web name for summary info strings only. |
Always empty.
These are visible from COM through the IStream interface, and these properties can be seen on the package in Explorer.
<xs:element name="Package">
<xs:annotation>
<xs:documentation>
Properties about the package to be placed in the Summary Information Stream. These are
visible from COM through the IStream interface, and these properties can be seen on the package in Explorer.
</xs:documentation>
<xs:appinfo>
<xse:remarks xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">
<html:p xmlns:html="http://www.w3.org/1999/xhtml">You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See <a href="/html/codepage.htm" xmlns="http://schemas.microsoft.com/wix/2006/wi">Code Pages</a> for more information.</html:p>
</xse:remarks>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="AutogenGuid">
<xs:annotation>
<xs:documentation>
The package code GUID for a product or merge module.
When compiling a product, this attribute should not be set in order to allow the package
code to be generated for each build.
When compiling a merge module, this attribute must be set to the modularization guid.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AdminImage" type="YesNoType">
<xs:annotation>
<xs:documentation>Set to 'yes' if the source is an admin image.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Comments" type="xs:string">
<xs:annotation>
<xs:documentation>Optional comments for browsing.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Compressed" type="YesNoType">
<xs:annotation>
<xs:documentation>
Set to 'yes' to have compressed files in the source.
This attribute cannot be set for merge modules.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Description" type="xs:string">
<xs:annotation>
<xs:documentation>The product full name or description.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="InstallPrivileges">
<xs:annotation>
<xs:documentation>Use this attribute to specify the priviliges required to install the package on Windows Vista and above.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="limited">
<xs:annotation>
<xs:documentation>
Set this value to declare that the package does not require elevated privileges to install.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="elevated">
<xs:annotation>
<xs:documentation>
Set this value to declare that the package requires elevated privileges to install.
This is the default value.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="InstallScope">
<xs:annotation>
<xs:documentation>Use this attribute to specify the installation scope of this package: per-machine or per-user.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="perMachine">
<xs:annotation>
<xs:documentation>
Set this value to declare that the package is a per-machine installation and requires elevated privileges to install.
Sets the ALLUSERS property to 1.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="perUser">
<xs:annotation>
<xs:documentation>
Set this value to declare that the package is a per-user installation and does not require elevated privileges to install.
Sets the package's InstallPrivileges attribute to "limited."
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="InstallerVersion" type="xs:integer">
<xs:annotation>
<xs:documentation>
The minimum version of the Windows Installer required to install this package. Take the major version of the required Windows Installer
and multiply by a 100 then add the minor version of the Windows Installer. For example, "200" would represent Windows Installer 2.0 and
"405" would represent Windows Installer 4.5.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Keywords" type="xs:string">
<xs:annotation>
<xs:documentation>Optional keywords for browsing.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Languages" type="xs:string">
<xs:annotation>
<xs:documentation>The list of language IDs (LCIDs) supported in the package.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Manufacturer" type="xs:string">
<xs:annotation>
<xs:documentation>The vendor releasing the package.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Platforms" type="xs:string">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="Platform" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Platform">
<xs:annotation>
<xs:documentation>The platform supported by the package.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="x86">
<xs:annotation>
<xs:documentation>
Set this value to declare that the package is an x86 package.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ia64">
<xs:annotation>
<xs:documentation>
Set this value to declare that the package is an ia64 package.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="x64">
<xs:annotation>
<xs:documentation>
Set this value to declare that the package is an x64 package.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="intel">
<xs:annotation>
<xs:documentation>
Deprecated. Use "x86" instead.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="intel64">
<xs:annotation>
<xs:documentation>
Deprecated. Use "ia64" instead.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ReadOnly" type="YesNoDefaultType">
<xs:annotation>
<xs:documentation>
The value of this attribute conveys whether the package should be opened as read-only.
A database editing tool should not modify a read-only enforced database and should
issue a warning at attempts to modify a read-only recommended database.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ShortNames" type="YesNoType">
<xs:annotation>
<xs:documentation>Set to 'yes' to have short filenames in the source.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SummaryCodepage" type="xs:string">
<xs:annotation>
<xs:documentation>The code page integer value or web name for summary info strings only. See remarks for more information.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
The Patch element is analogous to the main function in a C program.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | AutogenGuid | No | Patch code for this patch. |
|
Codepage | string | No | The code page integer value or web name for the resulting MSP. |
|
AllowRemoval | YesNoType | No | Whether this is an uninstallable patch. |
|
Classification | PatchClassificationType | Yes | Category of updates. |
|
ClientPatchId | string | No | An easily referenced identity unique to a patch that can be used in product authoring. |
|
ApiPatchingSymbolNoImagehlpFlag | YesNoType | No | Flag used when creating a binary file patch. |
|
ApiPatchingSymbolNoFailuresFlag | YesNoType | No | Flag used when creating a binary file patch. |
|
ApiPatchingSymbolUndecoratedTooFlag | YesNoType | No | Flag used when creating a binary file patch. |
|
Description | string | Yes | Description of the patch. |
|
DisplayName | string | Yes | A title for the patch that is suitable for public display. |
|
Manufacturer | string | No | Vendor releasing the package |
|
MinorUpdateTargetRTM | YesNoType | No | Indicates that the patch targets the RTM version of the product or the most recent major upgrade patch. |
|
MoreInfoURL | string | No | A URL that provides information specific to this patch. |
|
OptimizedInstallMode | YesNoType | No | If this attribute is set to 'yes' in all the patches to be applied in a transaction, the application of the patch is optimized if possible. |
|
TargetProductName | string | No | Name of the application or target product suite. |
|
OptimizePatchSizeForLargeFiles | YesNoType | No | When this attribute is set, patches for files greater than approximately 4 MB in size may be made smaller. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
1..1 | |||
0..* | |||
any | 1..1 | Allow any element from the ##other namespace. |
|
Media | anyType (restriction) | 1..* | Media element describes a disk that makes up the source media for the installation. |
OptimizeCustomActions | anyType (restriction) | 0..1 | Indicates whether custom actions can be skipped when applying the patch. |
PatchFamily | anyType (restriction) | 1..* | Collection of items that should be kept from the differences between two products. |
PatchFamilyRef | anyType (restriction) | 0..* | This will cause the entire contents of the Fragment containing the referenced PatchFamily to be used in the process of creating a patch. |
PatchProperty | anyType (restriction) | 1..1 | A property for this patch database. |
When linking, only one Patch section can be given to the linker to produce a successful result. Using this element creates an MSP file.
<xs:element name="Patch">
<xs:annotation>
<xs:documentation>
The Patch element is analogous to the main function in a C program. When linking, only one Patch section
can be given to the linker to produce a successful result. Using this element creates an MSP file.
</xs:documentation>
<xs:appinfo>
<xse:remarks xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">
<html:p xmlns:html="http://www.w3.org/1999/xhtml">You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See <a href="/html/codepage.htm" xmlns="http://schemas.microsoft.com/wix/2006/wi">Code Pages</a> for more information.</html:p>
<html:p xmlns:html="http://www.w3.org/1999/xhtml">The ClientPatchId attribute allows you to specify an easily referenced identity that you can use in product authoring. This identity prefixes properties added by WiX to a patch transform, such as <html:i>ClientPatchId</html:i>.PatchCode and <html:i>ClientPatchId</html:i>.AllowRemoval. If the patch code GUID is auto-generated you could not reference any properties using this auto-generated prefix.</html:p>
<html:p xmlns:html="http://www.w3.org/1999/xhtml">For example, if you were planning to ship a patch referred to as "QFE1" and needed to write your own registry values for Add/Remove Programs in product authoring such as the UninstallString for this patch, you could author a RegistryValue with the name UninstallString and the value <html:code><html:nobr>[SystemFolder]msiexec.exe</html:nobr> /package [ProductCode] /uninstall [QFE1.PatchCode]</html:code>. In your patch authoring you would then set ClientPatchId to "QFE1" and WiX will add the QFE1.PatchCode property to the patch transform when the patch is created. If the Id attribute specified the patch code to be generated automatically, you could not reference the <html:i>prefix</html:i>.PatchCode property as shown above.</html:p>
</xse:remarks>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Media" minOccurs="1" maxOccurs="unbounded" />
<xs:element ref="OptimizeCustomActions" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>Indicates whether custom actions can be skipped when applying the patch.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PatchFamily" minOccurs="1" maxOccurs="unbounded" />
<xs:element ref="PatchFamilyRef" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="PatchProperty" />
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
</xs:sequence>
<xs:attribute name="Id" type="AutogenGuid">
<xs:annotation>
<xs:documentation>Patch code for this patch.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Codepage" type="xs:string">
<xs:annotation>
<xs:documentation>The code page integer value or web name for the resulting MSP. See remarks for more information.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AllowRemoval" type="YesNoType">
<xs:annotation>
<xs:documentation>Whether this is an uninstallable patch.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Classification" type="PatchClassificationType" use="required">
<xs:annotation>
<xs:documentation>Category of updates.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ClientPatchId" type="xs:string">
<xs:annotation>
<xs:documentation>An easily referenced identity unique to a patch that can be used in product authoring. See remarks for more information.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ApiPatchingSymbolNoImagehlpFlag" type="YesNoType">
<xs:annotation>
<xs:documentation>Flag used when creating a binary file patch. Default is "no". Don't use imagehlp.dll.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ApiPatchingSymbolNoFailuresFlag" type="YesNoType">
<xs:annotation>
<xs:documentation>Flag used when creating a binary file patch. Default is "no". Don't fail patch due to imagehlp failures.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ApiPatchingSymbolUndecoratedTooFlag" type="YesNoType">
<xs:annotation>
<xs:documentation>Flag used when creating a binary file patch. Default is "no". After matching decorated symbols, try to match remaining by undecorated names.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Description" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Description of the patch.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DisplayName" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>A title for the patch that is suitable for public display. In Add/Remove Programs from XP SP2 on.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Manufacturer" type="xs:string">
<xs:annotation>
<xs:documentation>Vendor releasing the package</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MinorUpdateTargetRTM" type="YesNoType">
<xs:annotation>
<xs:documentation>
Indicates that the patch targets the RTM version of the product or the most recent major
upgrade patch. Author this optional property in minor update patches that contain sequencing
information to indicate that the patch removes all patches up to the RTM version of the
product, or up to the most recent major upgrade patch. This property is available beginning
with Windows Installer 3.1.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MoreInfoURL" type="xs:string">
<xs:annotation>
<xs:documentation>A URL that provides information specific to this patch. In Add/Remove Programs from XP SP2 on.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="OptimizedInstallMode" type="YesNoType">
<xs:annotation>
<xs:documentation>
If this attribute is set to 'yes' in all the patches to be applied in a transaction, the
application of the patch is optimized if possible. Available beginning with Windows Installer 3.1.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="TargetProductName" type="xs:string">
<xs:annotation>
<xs:documentation>Name of the application or target product suite.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="OptimizePatchSizeForLargeFiles" type="YesNoType">
<xs:annotation>
<xs:documentation>When this attribute is set, patches for files greater than approximately 4 MB in size may be made smaller.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Identifies a set of product versions.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Identifier for a set of product versions. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..1 | |||
Validate | anyType (restriction) | 0..1 | Sets information on the patch transform that determines to which product the transform applies and what errors should be ignored when applying the patch transform. |
<xs:element name="PatchBaseline">
<xs:annotation>
<xs:documentation>Identifies a set of product versions.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0">
<xs:element ref="Validate" minOccurs="0" />
</xs:choice>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Identifier for a set of product versions.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Identifies the possible signer certificates used to digitally sign patches.
Restricting anyType
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
1..* | |||
DigitalCertificate | anyType (restriction) | 1..1 | Adds a digital certificate. |
<xs:element name="PatchCertificates">
<xs:annotation>
<xs:documentation>
Identifies the possible signer certificates used to digitally sign patches.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="MsiPatchCertificate" href="http://msdn.microsoft.com/library/aa370342.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element ref="DigitalCertificate" />
</xs:choice>
</xs:complexType>
</xs:element>
The PatchCreation element is analogous to the main function in a C program.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | Guid | Yes | PatchCreation identifier; this is the primary key for identifying patches. |
|
AllowMajorVersionMismatches | YesNoType | No | Use this to set whether the major versions between the upgrade and target images match. |
|
AllowProductCodeMismatches | YesNoType | No | Use this to set whether the product code between the upgrade and target images match. |
|
CleanWorkingFolder | YesNoType | No | Use this to set whether Patchwiz should clean the temp folder when finished. |
|
Codepage | string | No | The code page integer value or web name for the resulting PCP. |
|
OutputPath | string | No | The full path, including file name, of the patch package file that is to be generated. |
|
SourceList | string | No | Used to locate the .msp file for the patch if the cached copy is unavailable. |
|
SymbolFlags | int | No | An 8-digit hex integer representing the combination of patch symbol usage flags to use when creating a binary file patch. |
|
WholeFilesOnly | YesNoType | No | Use this to set whether changing files should be included in their entirety. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
1..1 | |||
PatchInformation | anyType (restriction) | 1..1 | Properties about the patch to be placed in the Summary Information Stream. |
PatchMetadata | anyType (restriction) | 0..1 | Properties about the patch to be placed in the PatchMetadata table. |
Family | anyType (restriction) | 1..* | Group of one or more upgraded images of a product. |
0..* | |||
PatchProperty | anyType (restriction) | 1..1 | A property for this patch database. |
PatchSequence | anyType (restriction) | 1..1 | Sequence information for this patch database. |
ReplacePatch | anyType (restriction) | 1..1 | A patch that is deprecated by this patch. |
TargetProductCode | anyType (restriction) | 1..1 | A product code for a product that may receive this patch (or '*' for all products). |
When linking, only one PatchCreation section can be given to the linker to produce a successful result. Using this element creates a pcp file.
<xs:element name="PatchCreation">
<xs:annotation>
<xs:documentation>
The PatchCreation element is analogous to the main function in a C program. When linking, only one PatchCreation section
can be given to the linker to produce a successful result. Using this element creates a pcp file.
</xs:documentation>
<xs:appinfo>
<xse:remarks xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">
<html:p xmlns:html="http://www.w3.org/1999/xhtml">You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See <a href="/html/codepage.htm" xmlns="http://schemas.microsoft.com/wix/2006/wi">Code Pages</a> for more information.</html:p>
</xse:remarks>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="PatchInformation" />
<xs:element ref="PatchMetadata" minOccurs="0" />
<xs:element ref="Family" maxOccurs="unbounded" />
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="PatchProperty" />
<xs:element ref="PatchSequence" />
<xs:element ref="ReplacePatch" />
<xs:element ref="TargetProductCode" />
</xs:choice>
</xs:sequence>
<xs:attribute name="Id" type="Guid" use="required">
<xs:annotation>
<xs:documentation>PatchCreation identifier; this is the primary key for identifying patches.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AllowMajorVersionMismatches" type="YesNoType">
<xs:annotation>
<xs:documentation>Use this to set whether the major versions between the upgrade and target images match. See <a href="http://msdn2.microsoft.com/library/aa370890.aspx" target="_blank" xmlns="http://schemas.microsoft.com/wix/2006/wi">AllowProductVersionMajorMismatches</a> for more information.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AllowProductCodeMismatches" type="YesNoType">
<xs:annotation>
<xs:documentation>Use this to set whether the product code between the upgrade and target images match. See <a href="http://msdn2.microsoft.com/library/aa370890.aspx" target="_blank" xmlns="http://schemas.microsoft.com/wix/2006/wi">AllowProductCodeMismatches</a> for more information.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="CleanWorkingFolder" type="YesNoType">
<xs:annotation>
<xs:documentation>Use this to set whether Patchwiz should clean the temp folder when finished. See <a href="http://msdn2.microsoft.com/library/aa370890.aspx" target="_blank" xmlns="http://schemas.microsoft.com/wix/2006/wi">DontRemoveTempFolderWhenFinished</a> for more information. </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Codepage" type="xs:string">
<xs:annotation>
<xs:documentation>The code page integer value or web name for the resulting PCP. See remarks for more information.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="OutputPath" type="xs:string">
<xs:annotation>
<xs:documentation>The full path, including file name, of the patch package file that is to be generated. See <a href="http://msdn2.microsoft.com/library/aa370890.aspx" target="_blank" xmlns="http://schemas.microsoft.com/wix/2006/wi">PatchOutputPath</a> for more information.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SourceList" type="xs:string">
<xs:annotation>
<xs:documentation>Used to locate the .msp file for the patch if the cached copy is unavailable. See <a href="http://msdn2.microsoft.com/library/aa370890.aspx" target="_blank" xmlns="http://schemas.microsoft.com/wix/2006/wi">PatchSourceList</a> for more information.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SymbolFlags" type="xs:int">
<xs:annotation>
<xs:documentation>An 8-digit hex integer representing the combination of patch symbol usage flags to use when creating a binary file patch. See <a href="http://msdn2.microsoft.com/library/aa370890.aspx" target="_blank" xmlns="http://schemas.microsoft.com/wix/2006/wi">ApiPatchingSymbolFlags</a> for more information.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="WholeFilesOnly" type="YesNoType">
<xs:annotation>
<xs:documentation>Use this to set whether changing files should be included in their entirety. See <a href="http://msdn2.microsoft.com/library/aa370890.aspx" target="_blank" xmlns="http://schemas.microsoft.com/wix/2006/wi">IncludeWholeFilesOnly</a> for more information.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Collection of items that should be kept from the differences between two products.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Identifier which indicates a sequence family to which this patch belongs. |
|
ProductCode | Guid | No | Specifies the ProductCode of the product that this family applies to. |
|
Version | string | Yes | Used to populate the sequence column of the MsiPatchSequence table in the final MSP file. |
|
Supersede | YesNoType | No | Set this value to 'yes' to indicate that this patch will supersede all previous patches in this patch family. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
1..1 | |||
0..* | |||
any | 1..1 | Allow any element from the ##other namespace. |
|
BinaryRef | anyType (restriction) | 0..* | Used only for PatchFamilies to include only a binary table entry in a patch. |
ComponentRef | anyType (restriction) | 0..* | Create a reference to a Feature element in another Fragment. |
CustomActionRef | anyType (restriction) | 0..* | This will cause the entire contents of the Fragment containing the referenced CustomAction to be included in the installer database. |
DirectoryRef | anyType (restriction) | 0..* | Create a reference to a Directory element in another Fragment. |
FeatureRef | anyType (restriction) | 0..* | Create a reference to a Feature element in another Fragment. |
IconRef | anyType (restriction) | 0..* | Used only for PatchFamilies to include only a icon table entry in a patch. |
PropertyRef | anyType (restriction) | 0..* | Reference to a Property value. |
UIRef | anyType (restriction) | 0..* | Reference to a UI element. This will force the entire referenced Fragment's contents to be included in the installer database. |
<xs:element name="PatchFamily">
<xs:annotation>
<xs:documentation>Collection of items that should be kept from the differences between two products.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="BinaryRef" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="ComponentRef" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="CustomActionRef" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="FeatureRef" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="IconRef" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="PropertyRef" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="DirectoryRef" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="UIRef" minOccurs="0" maxOccurs="unbounded" />
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
</xs:sequence>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Identifier which indicates a sequence family to which this patch belongs.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ProductCode" type="Guid">
<xs:annotation>
<xs:documentation>
Specifies the ProductCode of the product that this family applies to.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Version" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Used to populate the sequence column of the MsiPatchSequence table in the final MSP file. Specified in x.x.x.x format. See documentation for Sequence column of MsiPatchSequence table in MSI SDK.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Supersede" type="YesNoType">
<xs:annotation>
<xs:documentation>
Set this value to 'yes' to indicate that this patch will supersede all previous patches in this patch family.
The default value is 'no'.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
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 | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | The identifier of the CustomAction to reference. |
Always empty.
<xs:element name="PatchFamilyRef">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="PatchFamily" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>
This will cause the entire contents of the Fragment containing the referenced PatchFamily to be
used in the process of creating a patch.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The identifier of the CustomAction to reference.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>
Queries the Patch table to determine which patches are to be applied.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="PatchFiles" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="PatchFiles" href="http://msdn.microsoft.com/library/aa370577.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Queries the Patch table to determine which patches are to be applied. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Properties about the patch to be placed in the Summary Information Stream.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Description | string | No | Product full name or description |
|
Platforms | string | No | List of platforms supported in package |
|
Languages | string | No | List of language IDs supported in package |
|
Manufacturer | string | No | Vendor releasing the package |
|
Keywords | string | No | Optional keywords for browsing |
|
Comments | string | No | Optional comments for browsing |
|
ReadOnly | YesNoDefaultType | No | The value of this attribute conveys whether the package should be opened as read-only. |
|
SummaryCodepage | string | No | The code page integer value or web name for summary info strings only. |
|
ShortNames | YesNoType | No | Short filenames on source |
|
Compressed | YesNoType | No | Compressed files on source |
|
AdminImage | YesNoType | No | Source is an admin image |
Always empty.
These are visible from COM through the IStream interface, and these properties can be seen on the package in Explorer.
<xs:element name="PatchInformation">
<xs:annotation>
<xs:documentation>Properties about the patch to be placed in the Summary Information Stream. These are visible from COM through the IStream interface, and these properties can be seen on the package in Explorer.</xs:documentation>
<xs:appinfo>
<xse:remarks xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">
<html:p xmlns:html="http://www.w3.org/1999/xhtml">You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See <a href="/html/codepage.htm" xmlns="http://schemas.microsoft.com/wix/2006/wi">Code Pages</a> for more information.</html:p>
</xse:remarks>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Description" type="xs:string">
<xs:annotation>
<xs:documentation>Product full name or description</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Platforms" type="xs:string">
<xs:annotation>
<xs:documentation>List of platforms supported in package</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Languages" type="xs:string">
<xs:annotation>
<xs:documentation>List of language IDs supported in package</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Manufacturer" type="xs:string">
<xs:annotation>
<xs:documentation>Vendor releasing the package</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Keywords" type="xs:string">
<xs:annotation>
<xs:documentation>Optional keywords for browsing</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Comments" type="xs:string">
<xs:annotation>
<xs:documentation>Optional comments for browsing</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ReadOnly" type="YesNoDefaultType">
<xs:annotation>
<xs:documentation>
The value of this attribute conveys whether the package should be opened as read-only.
A database editing tool should not modify a read-only enforced database and should
issue a warning at attempts to modify a read-only recommended database.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SummaryCodepage" type="xs:string">
<xs:annotation>
<xs:documentation>The code page integer value or web name for summary info strings only. See remarks for more information.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ShortNames" type="YesNoType">
<xs:annotation>
<xs:documentation>Short filenames on source</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Compressed" type="YesNoType">
<xs:annotation>
<xs:documentation>Compressed files on source</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AdminImage" type="YesNoType">
<xs:annotation>
<xs:documentation>Source is an admin image</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Properties about the patch to be placed in the PatchMetadata table.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
AllowRemoval | YesNoType | Yes | Whether this is an uninstallable patch. |
|
Classification | PatchClassificationType | Yes | Category of update. |
|
CreationTimeUTC | string | No | Creation time of the .msp file in the form mm-dd-yy HH:MM (month-day-year hour:minute). |
|
Description | string | Yes | Description of the patch. |
|
DisplayName | string | Yes | A title for the patch that is suitable for public display. |
|
ManufacturerName | string | Yes | Name of the manufacturer. |
|
MinorUpdateTargetRTM | string | No | Indicates that the patch targets the RTM version of the product or the most recent major upgrade patch. |
|
MoreInfoURL | string | No | A URL that provides information specific to this patch. |
|
OptimizedInstallMode | YesNoType | No | If this attribute is set to 'yes' in all the patches to be applied in a transaction, the application of the patch is optimized if possible. |
|
TargetProductName | string | Yes | Name of the application or target product suite. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
1..1 | |||
0..* | |||
CustomProperty | anyType (restriction) | 0..1 | A custom property for the PatchMetadata table. |
OptimizeCustomActions | anyType (restriction) | 0..1 | Indicates whether custom actions can be skipped when applying the patch. |
<xs:element name="PatchMetadata">
<xs:annotation>
<xs:documentation>Properties about the patch to be placed in the PatchMetadata table.</xs:documentation>
<xs:appinfo>
<xse:msiRef table="MsiPatchMetadata" href="http://msdn.microsoft.com/library/aa370344.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="CustomProperty" minOccurs="0">
<xs:annotation>
<xs:documentation>A custom property that extends the standard set.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="OptimizeCustomActions" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>Indicates whether custom actions can be skipped when applying the patch.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:sequence>
<xs:attribute name="AllowRemoval" type="YesNoType" use="required">
<xs:annotation>
<xs:documentation>Whether this is an uninstallable patch.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Classification" type="PatchClassificationType" use="required">
<xs:annotation>
<xs:documentation>Category of update.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="CreationTimeUTC" type="xs:string">
<xs:annotation>
<xs:documentation>Creation time of the .msp file in the form mm-dd-yy HH:MM (month-day-year hour:minute).</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Description" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Description of the patch.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DisplayName" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>A title for the patch that is suitable for public display. In Add/Remove Programs from XP SP2 on.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ManufacturerName" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Name of the manufacturer.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MinorUpdateTargetRTM" type="xs:string">
<xs:annotation>
<xs:documentation>
Indicates that the patch targets the RTM version of the product or the most recent major
upgrade patch. Author this optional property in minor update patches that contain sequencing
information to indicate that the patch removes all patches up to the RTM version of the
product, or up to the most recent major upgrade patch. This property is available beginning
with Windows Installer 3.1.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MoreInfoURL" type="xs:string">
<xs:annotation>
<xs:documentation>A URL that provides information specific to this patch. In Add/Remove Programs from XP SP2 on.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="OptimizedInstallMode" type="YesNoType">
<xs:annotation>
<xs:documentation>
If this attribute is set to 'yes' in all the patches to be applied in a transaction, the
application of the patch is optimized if possible. Available beginning with Windows Installer 3.1.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="TargetProductName" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Name of the application or target product suite.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
A property for this patch database.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Company | string | No | Name of the company for a custom metadata property. |
|
Name | string | Yes | Name of the patch property. |
|
Value | string | Yes | Value of the patch property. |
Always empty.
<xs:element name="PatchProperty">
<xs:annotation>
<xs:documentation>A property for this patch database.</xs:documentation>
<xs:appinfo>
<xse:msiRef table="MsiPatchMetadata" href="http://msdn.microsoft.com/library/aa370344.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:remarks xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">
<html:p xmlns:html="http://www.w3.org/1999/xhtml">When authored under the Patch element, the PatchProperty defines entries in the MsiPatchMetadata table.</html:p>
</xse:remarks>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Company" type="xs:string">
<xs:annotation>
<xs:documentation>Name of the company for a custom metadata property.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Name of the patch property.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Value" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Value of the patch property.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Sequence information for this patch database.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
PatchFamily | string | Yes | Identifier which indicates a sequence family to which this patch belongs. |
|
ProductCode | Guid | No | Specifies the ProductCode of the product that this family applies to. |
|
Sequence | string | No | Used to populate the sequence column of the MsiPatchSequence table in the final MSP file. |
|
Supersede | YesNoType | No | Set this value to 'yes' to indicate that this patch will supersede all previous patches in this patch family. |
|
Target | string | No | ||
TargetImage | string | No | Specifies the TargetImage that this family applies to. |
Always empty.
Sequence information is generated automatically in most cases, and rarely needs to be set explicitly.
<xs:element name="PatchSequence">
<xs:annotation>
<xs:documentation>Sequence information for this patch database. Sequence information is generated automatically in most cases, and rarely needs to be set explicitly.</xs:documentation>
<xs:appinfo>
<xse:msiRef table="MsiPatchSequence" href="http://msdn.microsoft.com/library/aa370350.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="PatchFamily" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Identifier which indicates a sequence family to which this patch belongs.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ProductCode" type="Guid">
<xs:annotation>
<xs:documentation>
Specifies the ProductCode of the product that this family applies to.
This attribute cannot the specified if the TargetImage attribute is specified.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Sequence" type="xs:string">
<xs:annotation>
<xs:documentation>Used to populate the sequence column of the MsiPatchSequence table in the final MSP file. Specified in x.x.x.x format. See documentation for Sequence column of MsiPatchSequence table in MSI SDK.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Supersede" type="YesNoType">
<xs:annotation>
<xs:documentation>
Set this value to 'yes' to indicate that this patch will supersede all previous patches in this patch family.
The default value is 'no'.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Target" type="xs:string">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="TargetImage" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="TargetImage" type="xs:string">
<xs:annotation>
<xs:documentation>
Specifies the TargetImage that this family applies to.
This attribute cannot the specified if the ProductCode attribute is specified.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Sets ACLs on File, Registry, or CreateFolder.
Restricting anyType
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.
<xs:element name="Permission">
<xs:annotation>
<xs:documentation>
Sets ACLs on File, Registry, or CreateFolder. When under a Registry element, this cannot be used
if the Action attribute's value is remove or removeKeyOnInstall. This element has no Id attribute.
The table and key are taken from the parent element.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="LockPermissions" href="http://msdn.microsoft.com/library/aa369774.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Domain" type="xs:string">
</xs:attribute>
<xs:attribute name="User" use="required" type="xs:string">
</xs:attribute>
<!-- Common ACLs -->
<xs:attribute name="Read" type="YesNoType">
</xs:attribute>
<xs:attribute name="Delete" type="YesNoType">
</xs:attribute>
<xs:attribute name="ReadPermission" type="YesNoType">
</xs:attribute>
<xs:attribute name="ChangePermission" type="YesNoType">
</xs:attribute>
<xs:attribute name="TakeOwnership" type="YesNoType">
</xs:attribute>
<!-- Folder and File ACLs -->
<xs:attribute name="ReadAttributes" type="YesNoType">
</xs:attribute>
<xs:attribute name="WriteAttributes" type="YesNoType">
</xs:attribute>
<xs:attribute name="ReadExtendedAttributes" type="YesNoType">
</xs:attribute>
<xs:attribute name="WriteExtendedAttributes" type="YesNoType">
</xs:attribute>
<xs:attribute name="Synchronize" type="YesNoType">
</xs:attribute>
<!-- Folder only ACLs -->
<xs:attribute name="CreateFile" type="YesNoType">
<xs:annotation>
<xs:documentation>For a directory, the right to create a file in the directory. Only valid under a 'CreateFolder' parent.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="CreateChild" type="YesNoType">
<xs:annotation>
<xs:documentation>For a directory, the right to create a subdirectory. Only valid under a 'CreateFolder' parent.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DeleteChild" type="YesNoType">
<xs:annotation>
<xs:documentation>For a directory, the right to delete a directory and all the files it contains, including read-only files. Only valid under a 'CreateFolder' parent.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Traverse" type="YesNoType">
<xs:annotation>
<xs:documentation>For a directory, the right to traverse the directory. By default, users are assigned the BYPASS_TRAVERSE_CHECKING privilege, which ignores the FILE_TRAVERSE access right. Only valid under a 'CreateFolder' parent.</xs:documentation>
</xs:annotation>
</xs:attribute>
<!-- File only ACLs -->
<xs:attribute name="Append" type="YesNoType">
</xs:attribute>
<xs:attribute name="Execute" type="YesNoType">
</xs:attribute>
<!-- File and Registry ACLs -->
<xs:attribute name="Write" type="YesNoType">
</xs:attribute>
<!-- Registry only ACLs -->
<xs:attribute name="CreateSubkeys" type="YesNoType">
</xs:attribute>
<xs:attribute name="EnumerateSubkeys" type="YesNoType">
</xs:attribute>
<xs:attribute name="Notify" type="YesNoType">
</xs:attribute>
<xs:attribute name="CreateLink" type="YesNoType">
</xs:attribute>
<!-- Generic ACLs, mapped by system to appropriate permissions -->
<xs:attribute name="GenericAll" type="YesNoType">
</xs:attribute>
<xs:attribute name="GenericExecute" type="YesNoType">
</xs:attribute>
<xs:attribute name="GenericWrite" type="YesNoType">
</xs:attribute>
<xs:attribute name="GenericRead" type="YesNoType">
<xs:annotation>
<xs:documentation>specifying this will fail to grant read access</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Registers and unregisters components, their key paths, and the component clients.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="ProcessComponents" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="ProcessComponents" href="http://msdn.microsoft.com/library/aa370853.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Registers and unregisters components, their key paths, and the component clients. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
The Product element is analogous to the main function in a C program.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | AutogenGuid | Yes | The product code GUID for the product. |
|
Codepage | string | No | The code page integer value or web name for the resulting MSI. See remarks for more information. |
|
Language | LocalizableInteger | Yes | The decimal language ID (LCID) for the product. |
|
Manufacturer | string | Yes | The manufacturer of the product. |
|
Name | string | Yes | The descriptive name of the product. |
|
UpgradeCode | Guid | No | The upgrade code GUID for the product. |
|
Version | string | Yes | The product's version string. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
1..1 | |||
Package | anyType (restriction) | 1..1 | Properties about the package to be placed in the Summary Information Stream. |
0..* | |||
any | 1..1 | Allow any element from the ##other namespace. |
|
AppId | anyType (restriction) | 1..1 | Application ID containing DCOM information for the associated application GUID. |
Binary | anyType (restriction) | 1..1 | Binary data used for CustomAction elements and UI controls. |
ComplianceCheck | anyType (restriction) | 1..1 | Adds a row to the CCPSearch table. |
Component | anyType (restriction) | 1..1 | Component for parent Directory |
ComponentGroup | anyType (restriction) | 1..1 | Groups together multiple components to be used in other locations. |
Condition | string (extension) | 1..1 | Conditions for components, controls, features, and products. |
CustomAction | string (extension) | 1..1 | Specifies a custom action to be added to the MSI CustomAction table. |
CustomActionRef | anyType (restriction) | 1..1 | This will cause the entire contents of the Fragment containing the referenced CustomAction to be included in the installer database. |
CustomTable | anyType (restriction) | 1..1 | Defines a custom table for use from a custom action. |
Directory | anyType (restriction) | 1..1 | Directory layout for the product. |
DirectoryRef | anyType (restriction) | 1..1 | Create a reference to a Directory element in another Fragment. |
EmbeddedChainer | string (extension) | 1..1 | |
EmbeddedChainerRef | anyType (restriction) | 1..1 | Reference to an EmbeddedChainer element. |
EnsureTable | anyType (restriction) | 1..1 | Use this element to ensure that a table appears in the installer database, even if its empty. |
Feature | anyType (restriction) | 1..1 | A feature for the Feature table. |
FeatureGroupRef | anyType (restriction) | 1..1 | Create a reference to a FeatureGroup in another Fragment. |
FeatureRef | anyType (restriction) | 1..1 | Create a reference to a Feature element in another Fragment. |
Icon | anyType (restriction) | 1..1 | Icon used for Shortcut, ProgId, or Class elements (but not UI controls) |
InstanceTransforms | anyType (restriction) | 1..1 | Use this element to contain definitions for instance transforms. |
Media | anyType (restriction) | 1..1 | Media element describes a disk that makes up the source media for the installation. |
PatchCertificates | anyType (restriction) | 1..1 | Identifies the possible signer certificates used to digitally sign patches. |
Property | anyType (restriction) | 1..1 | Property value for a Product or Module. |
PropertyRef | anyType (restriction) | 1..1 | Reference to a Property value. |
1..1 | |||
InstallExecuteSequence | anyType (restriction) | 0..1 | |
InstallUISequence | anyType (restriction) | 0..1 | |
AdminExecuteSequence | anyType (restriction) | 0..1 | |
AdminUISequence | anyType (restriction) | 0..1 | |
AdvertiseExecuteSequence | anyType (restriction) | 0..1 | |
SetDirectory | string (extension) | 1..1 | Sets a Directory to a particular value. |
SetProperty | string (extension) | 1..1 | Sets a Property to a particular value. |
SFPCatalog | anyType (restriction) | 1..1 | Adds a system file protection update catalog file |
SymbolPath | anyType (restriction) | 1..1 | A path to symbols. |
UI | anyType (restriction) | 1..1 | Enclosing element to compartmentalize UI specifications. |
UIRef | anyType (restriction) | 1..1 | Reference to a UI element. This will force the entire referenced Fragment's contents to be included in the installer database. |
Upgrade | anyType (restriction) | 1..1 | Upgrade info for a particular UpgradeCode |
WixVariable | anyType (restriction) | 1..1 | This element exposes advanced WiX functionality. |
When linking, only one Product section can be given to the linker to produce a successful result. Using this element creates an msi file.
<xs:element name="Product">
<xs:annotation>
<xs:documentation>
The Product element is analogous to the main function in a C program. When linking, only one Product section
can be given to the linker to produce a successful result. Using this element creates an msi file.
</xs:documentation>
<xs:appinfo>
<xse:remarks xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">
<html:p xmlns:html="http://www.w3.org/1999/xhtml">You can specify any valid Windows code by integer like 1252, or by web name like Windows-1252. See <a href="/html/codepage.htm" xmlns="http://schemas.microsoft.com/wix/2006/wi">Code Pages</a> for more information.</html:p>
</xse:remarks>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="Package" />
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="AppId" />
<xs:element ref="Binary" />
<xs:element ref="ComplianceCheck" />
<xs:element ref="Component" />
<xs:element ref="ComponentGroup" />
<xs:element ref="Condition" />
<xs:element ref="CustomAction" />
<xs:element ref="CustomActionRef" />
<xs:element ref="CustomTable" />
<xs:element ref="Directory" />
<xs:element ref="DirectoryRef" />
<xs:element ref="EmbeddedChainer" />
<xs:element ref="EmbeddedChainerRef" />
<xs:element ref="EnsureTable" />
<xs:element ref="Feature" />
<xs:element ref="FeatureRef" />
<xs:element ref="FeatureGroupRef" />
<xs:element ref="Icon" />
<xs:element ref="InstanceTransforms" />
<xs:element ref="Media" />
<xs:element ref="PatchCertificates" />
<xs:element ref="Property" />
<xs:element ref="PropertyRef" />
<xs:element ref="SetDirectory" />
<xs:element ref="SetProperty" />
<xs:element ref="SFPCatalog" />
<xs:element ref="SymbolPath" />
<xs:element ref="UI" />
<xs:element ref="UIRef" />
<xs:element ref="Upgrade" />
<xs:element ref="WixVariable" />
<xs:sequence>
<xs:element ref="InstallExecuteSequence" minOccurs="0" />
<xs:element ref="InstallUISequence" minOccurs="0" />
<xs:element ref="AdminExecuteSequence" minOccurs="0" />
<xs:element ref="AdminUISequence" minOccurs="0" />
<xs:element ref="AdvertiseExecuteSequence" minOccurs="0" />
</xs:sequence>
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
</xs:sequence>
<xs:attribute name="Id" type="AutogenGuid" use="required">
<xs:annotation>
<xs:documentation>The product code GUID for the product.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Codepage" type="xs:string">
<xs:annotation>
<xs:documentation>The code page integer value or web name for the resulting MSI. See remarks for more information.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Language" type="LocalizableInteger" use="required">
<xs:annotation>
<xs:documentation>The decimal language ID (LCID) for the product.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Manufacturer" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The manufacturer of the product.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The descriptive name of the product.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="UpgradeCode" type="Guid">
<xs:annotation>
<xs:documentation>The upgrade code GUID for the product.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Version" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The product's version string.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>
ProgId registration for parent Component.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | ||
Description | string | No | ||
Icon | string | No | For an advertised ProgId, the Id of an Icon element. |
|
IconIndex | integer | No | ||
Advertise | YesNoType | No | ||
NoOpen | string | No | Specifies that the associated ProgId should not be opened by users. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
1..1 | |||
ProgId | anyType (restriction) | 0..1 | ProgId registration for parent Component. |
Extension | anyType (restriction) | 0..* | Extension for a Component |
If ProgId has an associated Class, it must be a child of that element.
<xs:element name="ProgId">
<xs:annotation>
<xs:documentation>
ProgId registration for parent Component. If ProgId has an associated Class, it must be a child of that element.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="ProgId" href="http://msdn.microsoft.com/library/aa370879.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Class" href="http://msdn.microsoft.com/library/aa367861.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Registry" href="http://msdn.microsoft.com/library/aa371168.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Icon" href="http://msdn.microsoft.com/library/aa369210.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="ProgId" minOccurs="0">
<xs:annotation>
<xs:documentation>Version-independent ProgId must be child element of actual ProgId. Nesting further ProgId elements within the Version-independent ProgId is disallowed.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Extensions that refer to this ProgId</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="xs:string" use="required" />
<xs:attribute name="Description" type="xs:string" />
<xs:attribute name="Icon" type="xs:string">
<xs:annotation>
<xs:documentation>For an advertised ProgId, the Id of an Icon element. For a non-advertised ProgId, this is the Id of a file containing an icon resource.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IconIndex" type="xs:integer" />
<xs:attribute name="Advertise" type="YesNoType" />
<xs:attribute name="NoOpen" type="xs:string">
<xs:annotation>
<xs:documentation>Specifies that the associated ProgId should not be opened by users. The value is presented as a warning to users. An empty string is also valid for this attribute.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Extending string
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Action | string | Yes | ||
Template | string | No | used to format ActionData messages from action processing |
Contains text only.
<xs:element name="ProgressText">
<xs:annotation>
<xs:appinfo>
<xse:msiRef table="ActionText" href="http://msdn.microsoft.com/library/aa367516.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:annotation>
<xs:documentation>Element value is progress message text for action</xs:documentation>
</xs:annotation>
<xs:attribute name="Action" type="xs:string" use="required" />
<xs:attribute name="Template" type="xs:string">
<xs:annotation>
<xs:documentation>used to format ActionData messages from action processing</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
Property value for a Product or Module.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Unique identifier for Property. |
|
Value | string | No | Sets a default value for the property. The value will be overwritten if the Property is used for a search. |
|
ComplianceCheck | YesNoType | No | Adds a row to the CCPSearch table. This attribute is only valid when this Property contains a search element. |
|
Admin | YesNoType | No | Denotes that the Property is saved during |
|
Secure | YesNoType | No | Denotes that the Property can be passed to the server side when doing a managed installation with elevated privileges. |
|
Hidden | YesNoType | No | Denotes that the Property is not logged during installation. |
|
SuppressModularization | YesNoType | No | Use to suppress modularization of this property identifier in merge modules. |
Can contain a mix of text and the elements defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..* | |||
any | 1..1 | Allow any element from the ##other namespace. |
|
1..1 | |||
ComplianceDrive | anyType (restriction) | 0..1 | Sets the parent of a nested DirectorySearch element to CCP_DRIVE. |
ComponentSearch | anyType (restriction) | 0..* | Searches for file or directory and assigns to value of parent Property. |
RegistrySearch | anyType (restriction) | 0..* | Searches for file, directory or registry key and assigns to value of parent Property |
RegistrySearchRef | anyType (restriction) | 0..* | References an existing RegistrySearch element. |
IniFileSearch | anyType (restriction) | 0..* | Searches for file, directory or registry key and assigns to value of parent Property |
DirectorySearch | anyType (restriction) | 0..* | Searches for directory and assigns to value of parent Property. |
DirectorySearchRef | anyType (restriction) | 0..* | References an existing DirectorySearch element. |
<xs:element name="Property">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="PropertyRef" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Property" href="http://msdn.microsoft.com/library/aa370908.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:howtoRef href="check_the_version_number.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Check the version number of a file during installation</xse:howtoRef>
</xs:appinfo>
<xs:documentation>Property value for a Product or Module.</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:sequence>
<xs:element ref="ComplianceDrive" minOccurs="0">
<xs:annotation>
<xs:documentation>Starts searches from the CCP_DRIVE.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ComponentSearch" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="RegistrySearch" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="RegistrySearchRef" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="IniFileSearch" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="DirectorySearch" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="DirectorySearchRef" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Unique identifier for Property.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Value" type="xs:string">
<xs:annotation>
<xs:documentation>Sets a default value for the property. The value will be overwritten if the Property is used for a search.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ComplianceCheck" type="YesNoType">
<xs:annotation>
<xs:documentation>Adds a row to the CCPSearch table. This attribute is only valid when this Property contains a search element.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Admin" type="YesNoType">
<xs:annotation>
<xs:documentation>Denotes that the Property is saved during <html:a href="http://msdn.microsoft.com/library/aa367541.aspx" target="_blank" xmlns:html="http://www.w3.org/1999/xhtml">admininistrative installation</html:a>. See the <html:a href="http://msdn.microsoft.com/library/aa367542.aspx" target="_blank" xmlns:html="http://www.w3.org/1999/xhtml">AdminProperties Property</html:a> for more information.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Secure" type="YesNoType">
<xs:annotation>
<xs:documentation>Denotes that the Property can be passed to the server side when doing a managed installation with elevated privileges. See the <html:a href="http://msdn.microsoft.com/library/aa371571.aspx" target="_blank" xmlns:html="http://www.w3.org/1999/xhtml">SecureCustomProperties Property</html:a> for more information.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Hidden" type="YesNoType">
<xs:annotation>
<xs:documentation>Denotes that the Property is not logged during installation. See the <html:a href="http://msdn.microsoft.com/library/aa370308.aspx" target="_blank" xmlns:html="http://www.w3.org/1999/xhtml">MsiHiddenProperties Property</html:a> for more information.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SuppressModularization" type="YesNoType">
<xs:annotation>
<xs:documentation>
Use to suppress modularization of this property identifier in merge modules.
Using this functionality is strongly discouraged; it should only be
necessary as a workaround of last resort in rare scenarios.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>
Reference to a Property value.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Identifier of Property to reference. |
Always empty.
<xs:element name="PropertyRef">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="Property" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:howtoRef href="check_for_dotnet.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Check for .NET Framework versions</xse:howtoRef>
</xs:appinfo>
<xs:documentation>Reference to a Property value.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Identifier of Property to reference.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>
Specifies a file to be protected.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
File | string | Yes | Foreign key into the File table. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
1..* | |||
ProtectRange | anyType (restriction) | 1..1 | Specifies part of a file that cannot be overwritten during patching. |
<xs:element name="ProtectFile">
<xs:annotation>
<xs:documentation>Specifies a file to be protected.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element ref="ProtectRange" />
</xs:choice>
<xs:attribute name="File" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Foreign key into the File table.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Specifies part of a file that cannot be overwritten during patching.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Offset | int | Yes | Offset of the start of the range. |
|
Length | int | Yes | Length of the range. |
Always empty.
<xs:element name="ProtectRange">
<xs:annotation>
<xs:documentation>Specifies part of a file that cannot be overwritten during patching.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Offset" type="xs:int" use="required">
<xs:annotation>
<xs:documentation>Offset of the start of the range.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Length" type="xs:int" use="required">
<xs:annotation>
<xs:documentation>Length of the range.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Extending string
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Control | string | No | The parent Control for this Publish element, should only be specified when this element is a child of the UI element. |
|
Dialog | string | No | The parent Dialog for this Publish element, should only be specified when this element is a child of the UI element. |
|
Event | string | No | Set this attribute's value to one of the standard control events to trigger that event. |
|
Order | string | No | This attribute should only need to be set if this element is nested under a UI element in order to control the order in which this publish event will be started. |
|
Property | string | No | Set this attribute's value to a property name to set that property. |
|
Value | string | No | If the Property attribute is specified, set the value of this attribute to the new value for the property. |
Contains text only.
<xs:element name="Publish">
<xs:annotation>
<xs:appinfo>
<xse:msiRef table="ControlEvent" href="http://msdn.microsoft.com/library/aa368037.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:annotation>
<xs:documentation>The element value is the optional Condition expression.</xs:documentation>
</xs:annotation>
<xs:attribute name="Control" type="xs:string">
<xs:annotation>
<xs:documentation>
The parent Control for this Publish element, should only be specified when this element is a child of the UI element.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Dialog" type="xs:string">
<xs:annotation>
<xs:documentation>
The parent Dialog for this Publish element, should only be specified when this element is a child of the UI element.
This attribute will create a reference to the specified Dialog, so an additional DialogRef is not necessary.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Event" type="xs:string">
<xs:annotation>
<xs:documentation>
Set this attribute's value to one of the standard control events to trigger that event.
Either this attribute or the Property attribute must be set, but not both at the same time.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Order" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute should only need to be set if this element is nested under a UI element in order to
control the order in which this publish event will be started.
If this element is nested under a Control element, the default value will be one greater than any
previous Publish element's order (the first element's default value is 1).
If this element is nested under a UI element, the default value is always 1 (it does not get a
default value based on any previous Publish elements).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Property" type="xs:string">
<xs:annotation>
<xs:documentation>
Set this attribute's value to a property name to set that property.
Either this attribute or the Event attribute must be set, but not both at the same time.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Value" type="xs:string">
<xs:annotation>
<xs:documentation>
If the Property attribute is specified, set the value of this attribute to the new value for the property.
To set a property to null, do not set this attribute (the ControlEvent Argument column will be set to '{}').
Otherwise, this attribute's value should be the argument for the event specified in the Event attribute.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
Manages the advertisement of the components from the PublishComponent table.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="PublishComponents" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="PublishComponents" href="http://msdn.microsoft.com/library/aa370918.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Manages the advertisement of the components from the PublishComponent table. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Writes each feature's state into the system registry.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="PublishFeatures" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="PublishFeatures" href="http://msdn.microsoft.com/library/aa370923.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Writes each feature's state into the system registry. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Manages the advertisement of the product information with the system.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="PublishProduct" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="PublishProduct" href="http://msdn.microsoft.com/library/aa370932.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Manages the advertisement of the product information with the system. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Text or Icon plus Value that is assigned to the Property of the parent Control (RadioButtonGroup).
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Bitmap | string | No | This attribute defines the bitmap displayed with the radio button. |
|
Height | LocalizableInteger | Yes | ||
Help | string | No | ||
Icon | string | No | This attribute defines the icon displayed with the radio button. |
|
Text | string | No | Text displayed with the radio button. |
|
ToolTip | string | No | ||
Value | string | Yes | Value assigned to the associated control Property when this radio button is selected. |
|
Width | LocalizableInteger | Yes | ||
X | LocalizableInteger | Yes | ||
Y | LocalizableInteger | Yes |
Always empty.
<xs:element name="RadioButton">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="RadioButtonGroup" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="RadioButton" href="http://msdn.microsoft.com/library/aa370962.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Control" href="http://msdn.microsoft.com/library/aa368044.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Dialog" href="http://msdn.microsoft.com/library/aa368286.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Text or Icon plus Value that is assigned to the Property of the parent Control (RadioButtonGroup).</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Bitmap" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute defines the bitmap displayed with the radio button. The value of the attribute creates a reference
to a Binary element that represents the bitmap. This attribute is mutually exclusive with the Icon and Text
attributes.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Height" use="required" type="LocalizableInteger" />
<xs:attribute name="Help" type="xs:string" />
<xs:attribute name="Icon" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute defines the icon displayed with the radio button. The value of the attribute creates a reference
to a Binary element that represents the icon. This attribute is mutually exclusive with the Bitmap and Text
attributes.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Text" type="xs:string">
<xs:annotation>
<xs:documentation>Text displayed with the radio button. This attribute is mutually exclusive with the Bitmap and Icon attributes.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ToolTip" type="xs:string" />
<xs:attribute name="Value" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Value assigned to the associated control Property when this radio button is selected.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Width" use="required" type="LocalizableInteger" />
<xs:attribute name="X" use="required" type="LocalizableInteger" />
<xs:attribute name="Y" use="required" type="LocalizableInteger" />
</xs:complexType>
</xs:element>
Set of radio buttons tied to the specified Property
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Property | string | Yes | Property tied to this group. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
1..1 | |||
RadioButton | anyType (restriction) | 1..* | Text or Icon plus Value that is assigned to the Property of the parent Control (RadioButtonGroup). |
<xs:element name="RadioButtonGroup">
<xs:annotation>
<xs:documentation>
Set of radio buttons tied to the specified Property
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="RadioButton" href="http://msdn.microsoft.com/library/aa370962.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Control" href="http://msdn.microsoft.com/library/aa368044.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Dialog" href="http://msdn.microsoft.com/library/aa368286.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="RadioButton" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="Property" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Property tied to this group.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Manages the registration of COM class information with the system.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="RegisterClassInfo" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="RegisterClassInfo" href="http://msdn.microsoft.com/library/aa371154.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Manages the registration of COM class information with the system. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Registers COM+ applications.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="RegisterComPlus" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="RegisterComPlus" href="http://msdn.microsoft.com/library/aa371155.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Registers COM+ applications. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Manages the registration of extension related information with the system.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="RegisterExtensionInfo" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="RegisterExtensionInfo" href="http://msdn.microsoft.com/library/aa371156.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Manages the registration of extension related information with the system. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Registers installed fonts with the system.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="RegisterFonts" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="RegisterFonts" href="http://msdn.microsoft.com/library/aa371158.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Registers installed fonts with the system. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Registers MIME-related registry information with the system.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="RegisterMIMEInfo" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="RegisterMIMEInfo" href="http://msdn.microsoft.com/library/aa371160.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Registers MIME-related registry information with the system. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Registers the product information with the installer.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="RegisterProduct" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="RegisterProduct" href="http://msdn.microsoft.com/library/aa371162.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Registers the product information with the installer. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Manages the registration of OLE ProgId information with the system.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="RegisterProgIdInfo" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="RegisterProgIdInfo" href="http://msdn.microsoft.com/library/aa371164.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Manages the registration of OLE ProgId information with the system. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Registers type libraries with the system.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="RegisterTypeLibraries" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="RegisterTypeLibraries" href="http://msdn.microsoft.com/library/aa371165.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Registers type libraries with the system. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Registers the user information with the installer to identify the user of a product.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="RegisterUser" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="RegisterUser" href="http://msdn.microsoft.com/library/aa371166.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Registers the user information with the installer to identify the user of a product. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | No | Primary key used to identify this particular entry. |
|
Action | NMTOKEN (restriction) | No | This is the action that will be taken for this registry key. |
|
Key | string | No | The localizable key for the registry value. |
|
KeyPath | YesNoType | No | Set this attribute to 'yes' to make this registry key the KeyPath of the parent component. |
|
Name | string | No | The localizable registry value name. |
|
Root | RegistryRootType | No | The predefined root key for the registry value. |
|
Type | NMTOKEN (restriction) | No | Set this attribute to the type of the desired registry key. |
|
Value | string | No | Set this attribute to the localizable registry value. This value is formatted. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..* | |||
any | 1..1 | Allow any element from the ##other namespace. |
|
Permission | anyType (restriction) | 1..1 | Sets ACLs on File, Registry, or CreateFolder. |
Registry | anyType (restriction) | 1..1 | |
RegistryValue | anyType (restriction) | 1..1 | Used to create a registry value. For multi-string values, this can be used to prepend or append values. |
<xs:element name="Registry">
<xs:annotation>
<xs:appinfo>
<xse:msiRef table="Registry" href="http://msdn.microsoft.com/library/aa371168.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:deprecated ref="RegistryValue" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Permission" />
<xs:element ref="RegistryValue" />
<xs:element ref="Registry" />
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
<xs:attribute name="Id" type="xs:string">
<xs:annotation>
<xs:documentation>
Primary key used to identify this particular entry. If this attribute is not specified, an identifier will be
generated by hashing the parent Component identifier, Root, Key, and Name.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Action">
<xs:annotation>
<xs:documentation>
This is the action that will be taken for this registry key.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="append">
<xs:annotation>
<xs:documentation>
Appends the specified value(s) to a multiString registry key.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="createKey">
<xs:annotation>
<xs:documentation>
Creates the key, if absent, when the parent component is installed.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="createKeyAndRemoveKeyOnUninstall">
<xs:annotation>
<xs:documentation>
Creates the key, if absent, when the parent component is installed then remove the key with all its values and subkeys when the parent component is uninstalled.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="prepend">
<xs:annotation>
<xs:documentation>
Prepends the specified value(s) to a multiString registry key.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="remove">
<xs:annotation>
<xs:documentation>
Removes a registry name when the parent component in installed.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="removeKeyOnInstall">
<xs:annotation>
<xs:documentation>
Removes a key with all its values and subkeys when the parent component is installed.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="removeKeyOnUninstall">
<xs:annotation>
<xs:documentation>
Removes a key with all its values and subkeys when the parent component is uninstalled.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="write">
<xs:annotation>
<xs:documentation>
Writes a registry value.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Key" type="xs:string">
<xs:annotation>
<xs:documentation>The localizable key for the registry value.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="KeyPath" type="YesNoType">
<xs:annotation>
<xs:documentation>
Set this attribute to 'yes' to make this registry key the KeyPath of the parent component. Only one resource (registry,
file, etc) can be the KeyPath of a component.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="xs:string">
<xs:annotation>
<xs:documentation>
The localizable registry value name. If this attribute is not provided the default value for the registry key will
be set instead. The Windows Installer allows several special values to be set for this attribute. You should not
use them in WiX. Instead use appropriate values in the Action attribute to get the desired behavior.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Root" type="RegistryRootType">
<xs:annotation>
<xs:documentation>
The predefined root key for the registry value.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>
Set this attribute to the type of the desired registry key. This attribute must be specified whenever the Value
attribute or a child RegistryValue element is specified. This attribute
should only be set when the value of the Action attribute does not include the word 'remove'.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="string">
<xs:annotation>
<xs:documentation>
The value is interpreted and stored as a string (REG_SZ).
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="integer">
<xs:annotation>
<xs:documentation>
The value is interpreted and stored as an integer (REG_DWORD).
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="binary">
<xs:annotation>
<xs:documentation>
The value is interpreted and stored as a hexadecimal value (REG_BINARY).
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="expandable">
<xs:annotation>
<xs:documentation>
The value is interpreted and stored as an expandable string (REG_EXPAND_SZ).
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="multiString">
<xs:annotation>
<xs:documentation>
The value is interpreted and stored as a multiple strings (REG_MULTI_SZ).
Please note that this value will only result in a multi-string value if there is more than one registry value
or the Action attribute's value is 'append' or 'prepend'. Otherwise a string value will be created.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Value" type="xs:string">
<xs:annotation>
<xs:documentation>
Set this attribute to the localizable registry value. This value is formatted. The Windows Installer allows
several special values to be set for this attribute. You should not use them in WiX. Instead use appropriate
values in the Type attribute to get the desired behavior. This attribute cannot be specified if the Action
attribute's value contains the word 'remove'.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Used for organization of child RegistryValue elements or to create a registry key (and optionally remove it during uninstallation).
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | No | Primary key used to identify this particular entry. |
|
Action | NMTOKEN (restriction) | No | This is the action that will be taken for this registry value. |
|
Key | string | No | The localizable key for the registry value. |
|
Root | RegistryRootType | No | The predefined root key for the registry value. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..* | |||
any | 1..1 | Allow any element from the ##other namespace. |
|
Permission | anyType (restriction) | 0..* | Sets ACLs on File, Registry, or CreateFolder. |
RegistryKey | anyType (restriction) | 1..1 | Used for organization of child RegistryValue elements or to create a registry key (and optionally remove it during uninstallation). |
RegistryValue | anyType (restriction) | 1..1 | Used to create a registry value. For multi-string values, this can be used to prepend or append values. |
<xs:element name="RegistryKey">
<xs:annotation>
<xs:documentation>
Used for organization of child RegistryValue elements or to create a registry key
(and optionally remove it during uninstallation).
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="Registry" href="http://msdn.microsoft.com/library/aa371168.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:howtoRef href="read_a_registry_entry.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Read a registry entry during installation</xse:howtoRef>
<xse:howtoRef href="write_a_registry_entry.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Write a registry entry during installation</xse:howtoRef>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="RegistryKey" />
<xs:element ref="RegistryValue" />
<xs:element ref="Permission" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>ACL permission</xs:documentation>
</xs:annotation>
</xs:element>
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
<xs:attribute name="Id" type="xs:string">
<xs:annotation>
<xs:documentation>
Primary key used to identify this particular entry. If this attribute is not specified, an identifier will be
generated by hashing the parent Component identifier, Root, Key, and Name.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Action">
<xs:annotation>
<xs:documentation>
This is the action that will be taken for this registry value.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="create">
<xs:annotation>
<xs:documentation>
Creates the key, if absent, when the parent component is installed.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="createAndRemoveOnUninstall">
<xs:annotation>
<xs:documentation>
Creates the key, if absent, when the parent component is installed then remove the key with all its values and subkeys when the parent component is uninstalled.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="none">
<xs:annotation>
<xs:documentation>
Does nothing; this element is used merely in WiX authoring for organization and does nothing to the final output.
This is the default value.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Key" type="xs:string">
<xs:annotation>
<xs:documentation>
The localizable key for the registry value.
If the parent element is a RegistryKey, this value may be omitted to use the
path of the parent, or if its specified it will be appended to the path of the parent.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Root" type="RegistryRootType">
<xs:annotation>
<xs:documentation>
The predefined root key for the registry value.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Searches for file, directory or registry key and assigns to value of parent Property
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Signature to be used for the file, directory or registry key being searched for. |
|
Root | NMTOKEN (restriction) | Yes | Root key for the registry value. |
|
Key | string | Yes | Key for the registry value. |
|
Name | string | No | Registry value name. |
|
Type | NMTOKEN (restriction) | Yes | 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 | No | 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 | Occurs | Description |
---|---|---|---|
0..1 | |||
DirectorySearch | anyType (restriction) | 1..1 | Searches for directory and assigns to value of parent Property. |
DirectorySearchRef | anyType (restriction) | 1..1 | References an existing DirectorySearch element. |
FileSearch | anyType (restriction) | 1..1 | Searches for file and assigns to fullpath value of parent Property |
FileSearchRef | anyType (restriction) | 1..1 | References an existing FileSearch element. |
<xs:element name="RegistrySearch">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="ComponentSearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="IniFileSearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="RegLocator" href="http://msdn.microsoft.com/library/aa371171.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Signature" href="http://msdn.microsoft.com/library/aa371853.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:howtoRef href="read_a_registry_entry.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Read a registry entry during installation</xse:howtoRef>
</xs:appinfo>
<xs:documentation>Searches for file, directory or registry key and assigns to value of parent Property</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0">
<xs:element ref="DirectorySearch" />
<xs:element ref="DirectorySearchRef" />
<xs:element ref="FileSearch" />
<xs:element ref="FileSearchRef" />
</xs:choice>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Signature to be used for the file, directory or registry key being searched for.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Root" use="required">
<xs:annotation>
<xs:documentation>Root key for the registry value.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="HKCR">
<xs:annotation>
<xs:documentation>
HKEY_CLASSES_ROOT
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="HKCU">
<xs:annotation>
<xs:documentation>
HKEY_CURRENT_USER
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="HKLM">
<xs:annotation>
<xs:documentation>
HKEY_LOCAL_MACHINE
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="HKU">
<xs:annotation>
<xs:documentation>
HKEY_USERS
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Key" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Key for the registry value.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="xs:string">
<xs:annotation>
<xs:documentation>Registry value name.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Type" use="required">
<xs:annotation>
<xs:documentation>
The value must be 'file' if the last child is a FileSearch element and must be 'directory' if last child is a DirectorySearch element.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="directory">
<xs:annotation>
<xs:documentation>
Sets a directory path from the registry value.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="file">
<xs:annotation>
<xs:documentation>
Sets a file path from the registry value.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="raw">
<xs:annotation>
<xs:documentation>
Sets the raw value from the registry value. Please note that this value will contain a prefix as follows:<html:br xmlns:html="http://www.w3.org/1999/xhtml" />
DWORD: Starts with '#' optionally followed by '+' or '-'.<html:br xmlns:html="http://www.w3.org/1999/xhtml" />
REG_BINARY: Starts with '#x' and the installer converts and saves each hexadecimal digit (nibble) as an ASCII character prefixed by '#x'.<html:br xmlns:html="http://www.w3.org/1999/xhtml" />
REG_EXPAND_SZ: Starts with '#%'.<html:br xmlns:html="http://www.w3.org/1999/xhtml" />
REG_MULTI_SZ: Starts with '[~]' and ends with '[~]'.<html:br xmlns:html="http://www.w3.org/1999/xhtml" />
REG_SZ: No prefix, but if the first character of the registry value is '#', the installer escapes the character by prefixing it with another '#'.<html:br xmlns:html="http://www.w3.org/1999/xhtml" /></xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Win64" type="YesNoType">
<xs:annotation>
<xs:documentation>Instructs the search to look in the 64-bit registry when the value is 'yes'. Default is 'no' and search looks in the 32-bit registry.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
References an existing RegistrySearch element.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Specify the Id of the RegistrySearch to reference. |
Always empty.
<xs:element name="RegistrySearchRef">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="RegistrySearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>References an existing RegistrySearch element.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Specify the Id of the RegistrySearch to reference.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Used to create a registry value. For multi-string values, this can be used to prepend or append values.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | No | Primary key used to identify this particular entry. |
|
Root | RegistryRootType | No | The predefined root key for the registry value. |
|
Key | string | No | The localizable key for the registry value. |
|
Name | string | No | The localizable registry value name. |
|
Value | string | No | Set this attribute to the localizable registry value. |
|
Type | NMTOKEN (restriction) | No | Set this attribute to the type of the desired registry key. |
|
Action | NMTOKEN (restriction) | No | This is the action that will be taken for this registry value. |
|
KeyPath | YesNoType | No | 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 | Occurs | Description |
---|---|---|---|
0..* | |||
any | 1..1 | Allow any element from the ##other namespace. |
|
MultiStringValue | anyType | 1..1 | Use several of these elements to specify each registry value in a multiString registry value. |
Permission | anyType (restriction) | 1..1 | 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.
<xs:element name="RegistryValue">
<xs:annotation>
<xs:documentation>
Used to create a registry value. For multi-string values, this can be used to prepend or append values.
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.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="Registry" href="http://msdn.microsoft.com/library/aa371168.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:howtoRef href="write_a_registry_entry.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Write a registry entry during installation</xse:howtoRef>
</xs:appinfo>
</xs:annotation>
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Permission" />
<xs:element ref="MultiStringValue" />
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
<xs:attribute name="Id" type="xs:string">
<xs:annotation>
<xs:documentation>
Primary key used to identify this particular entry. If this attribute is not specified, an identifier will be
generated by hashing the parent Component identifier, Root, Key, and Name.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Root" type="RegistryRootType">
<xs:annotation>
<xs:documentation>
The predefined root key for the registry value.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Key" type="xs:string">
<xs:annotation>
<xs:documentation>
The localizable key for the registry value.
If the parent element is a RegistryKey, this value may be omitted to use the
path of the parent, or if its specified it will be appended to the path of the parent.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="xs:string">
<xs:annotation>
<xs:documentation>
The localizable registry value name. If this attribute is not provided the default value for the registry key will
be set instead. The Windows Installer allows several special values to be set for this attribute. You should not
use them in WiX. Instead use appropriate values in the Action attribute to get the desired behavior.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Value" type="xs:string">
<xs:annotation>
<xs:documentation>
Set this attribute to the localizable registry value. This value is formatted. The Windows Installer allows
several special values to be set for this attribute. You should not use them in WiX. Instead use appropriate
values in the Type attribute to get the desired behavior.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<!-- unfortunately, this attribute cannot yet be set to required due to backwards-compatibility, once the Registry element is removed, this should be required -->
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>
Set this attribute to the type of the desired registry key. This attribute must be specified whenever the Value
attribute or a child RegistryValue element is specified. This attribute
should only be set when the value of the Action attribute does not include the word 'remove'.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="string">
<xs:annotation>
<xs:documentation>
The value is interpreted and stored as a string (REG_SZ).
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="integer">
<xs:annotation>
<xs:documentation>
The value is interpreted and stored as an integer (REG_DWORD).
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="binary">
<xs:annotation>
<xs:documentation>
The value is interpreted and stored as a hexadecimal value (REG_BINARY).
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="expandable">
<xs:annotation>
<xs:documentation>
The value is interpreted and stored as an expandable string (REG_EXPAND_SZ).
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="multiString">
<xs:annotation>
<xs:documentation>
The value is interpreted and stored as a multiple strings (REG_MULTI_SZ).
Please note that this value will only result in a multi-string value if there is more than one registry value
or the Action attribute's value is 'append' or 'prepend'. Otherwise a string value will be created.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Action">
<xs:annotation>
<xs:documentation>
This is the action that will be taken for this registry value.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="append">
<xs:annotation>
<xs:documentation>
Appends the specified value(s) to a multiString registry value.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="prepend">
<xs:annotation>
<xs:documentation>
Prepends the specified value(s) to a multiString registry value.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="write">
<xs:annotation>
<xs:documentation>
Writes a registry value. This is the default value.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="KeyPath" type="YesNoType">
<xs:annotation>
<xs:documentation>
Set this attribute to 'yes' to make this registry key the KeyPath of the parent component.
Only one resource (registry, file, etc) can be the KeyPath of a component.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Deletes files installed by the DuplicateFiles action.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="RemoveDuplicateFiles" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="RemoveDuplicateFiles" href="http://msdn.microsoft.com/library/aa371195.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Deletes files installed by the DuplicateFiles action. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Modifies the values of environment variables.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="RemoveEnvironmentStrings" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="RemoveEnvironmentStrings" href="http://msdn.microsoft.com/library/aa371196.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Modifies the values of environment variables. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Goes through the product codes listed in the ActionProperty column of the Upgrade table and removes the products in sequence.
Name | Type | Required? | Default | Description |
---|---|---|---|---|
After | string | No | The name of an action that this action should come after. |
|
Before | string | No | The name of an action that this action should come before. |
|
Overridable | YesNoType | No | If "yes", the sequencing of this action may be overridden by sequencing elsewhere. |
|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
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.
<xs:element name="RemoveExistingProducts" type="ActionModuleSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="RemoveExistingProducts" href="http://msdn.microsoft.com/library/aa371197.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Goes through the product codes listed in the ActionProperty column of the Upgrade table and removes the products in sequence. Special actions don't have a built-in sequence number and thus must appear relative to another action. The suggested way to do this is by using the Before or After attribute. InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize.</xs:documentation>
</xs:annotation>
</xs:element>
Remove a file(s) if the parent component is selected for installation or removal.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Primary key used to identify this particular entry. |
|
Directory | string | No | Overrides the directory of the parent component with a specific Directory. |
|
Property | string | No | Overrides the directory of the parent component with the value of the specified property. |
|
Name | WildCardLongFileNameType | Yes | This value should be set to the localizable name of the file(s) to be removed. |
|
LongName | WildCardLongFileNameType | No | ||
ShortName | WildCardShortFileNameType | No | The short file name of the file in 8.3 format. |
|
On | NMTOKEN (restriction) | Yes | 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.
<xs:element name="RemoveFile">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="CopyFile" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="RemoveFile" href="http://msdn.microsoft.com/library/aa371201.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>
Remove a file(s) if the parent component is selected for installation or removal. 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.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Primary key used to identify this particular entry.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Directory" type="xs:string">
<xs:annotation>
<xs:documentation>
Overrides the directory of the parent component with a specific Directory. This Directory must exist in the
installer database at creation time. This attribute cannot be specified in conjunction with the Property attribute.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Property" type="xs:string">
<xs:annotation>
<xs:documentation>
Overrides the directory of the parent component with the value of the specified property. The property
should have a value that resolves to the full path of the source directory. The property does not have
to exist in the installer database at creation time; it could be created at installation time by a custom
action, on the command line, etc. This attribute cannot be specified in conjunction with the Directory attribute.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="WildCardLongFileNameType" use="required">
<xs:annotation>
<xs:documentation>
This value should be set to the localizable name of the file(s) to be removed. All of the files that
match the wild card will be removed from the specified directory. The value is a filename that may also
contain the wild card characters "?" for any single character or "*" for zero or more occurrences of any character.
In prior versions of the WiX toolset, this attribute specified the short file name.
This attribute's value may now be either a short or long file name.
If a short file name is specified, the ShortName attribute may not be specified.
If a long file name is specified, the LongName attribute may not be specified.
Also, if this value is a long file name, the ShortName attribute may be omitted to
allow WiX to attempt to generate a unique short file name.
However, if you wish to manually specify the short file name, then the ShortName attribute may be specified.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="LongName" type="WildCardLongFileNameType">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="Name" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ShortName" type="WildCardShortFileNameType">
<xs:annotation>
<xs:documentation>
The short file name of the file in 8.3 format.
This attribute should only be set if you want to manually specify the short file name.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="On" use="required">
<xs:annotation>
<xs:documentation>
This value determines the time at which the file(s) may be removed.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="install">
<xs:annotation>
<xs:documentation>
Removes the file only when the parent component is being installed (msiInstallStateLocal or msiInstallStateSource).
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="uninstall">
<xs:annotation>
<xs:documentation>
Removes the file only when the parent component is being removed (msiInstallStateAbsent).
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="both">
<xs:annotation>
<xs:documentation>
Removes the file when the parent component is being installed or removed.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
Removes files previously installed by the InstallFiles action.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="RemoveFiles" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="RemoveFiles" href="http://msdn.microsoft.com/library/aa371199.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Removes files previously installed by the InstallFiles action. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Remove an empty folder if the parent component is selected for installation or removal.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Primary key used to identify this particular entry. |
|
Directory | string | No | Overrides the directory of the parent component with a specific Directory. |
|
Property | string | No | Overrides the directory of the parent component with the value of the specified property. |
|
On | NMTOKEN (restriction) | Yes | 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.
<xs:element name="RemoveFolder">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="CreateFolder" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="RemoveFile" href="http://msdn.microsoft.com/library/aa371201.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>
Remove an empty folder if the parent component is selected for installation or removal. 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.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Primary key used to identify this particular entry.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Directory" type="xs:string">
<xs:annotation>
<xs:documentation>
Overrides the directory of the parent component with a specific Directory. This Directory must exist in the
installer database at creation time. This attribute cannot be specified in conjunction with the Property attribute.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Property" type="xs:string">
<xs:annotation>
<xs:documentation>
Overrides the directory of the parent component with the value of the specified property. The property
should have a value that resolves to the full path of the source directory. The property does not have
to exist in the installer database at creation time; it could be created at installation time by a custom
action, on the command line, etc. This attribute cannot be specified in conjunction with the Directory attribute.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="On" use="required">
<xs:annotation>
<xs:documentation>
This value determines the time at which the folder may be removed.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="install">
<xs:annotation>
<xs:documentation>
Removes the folder only when the parent component is being installed (msiInstallStateLocal or msiInstallStateSource).
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="uninstall">
<xs:annotation>
<xs:documentation>
Removes the folder only when the parent component is being removed (msiInstallStateAbsent).
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="both">
<xs:annotation>
<xs:documentation>
Removes the folder when the parent component is being installed or removed.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
Removes any folders linked to components set to be removed or run from source.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="RemoveFolders" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="RemoveFolders" href="http://msdn.microsoft.com/library/aa371202.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Removes any folders linked to components set to be removed or run from source. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
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 | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="RemoveIniValues" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="RemoveIniValues" href="http://msdn.microsoft.com/library/aa371205.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Removes .ini file information specified for removal in the RemoveIniFile table if the component is set to be installed locally or run from source. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Removes the data sources, translators, and drivers listed for removal during the installation.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="RemoveODBC" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="RemoveODBC" href="http://msdn.microsoft.com/library/aa371206.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Removes the data sources, translators, and drivers listed for removal during the installation. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Used for removing registry keys and all child keys either during install or uninstall.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | No | Primary key used to identify this particular entry. |
|
Action | NMTOKEN (restriction) | No | This is the action that will be taken for this registry value. |
|
Key | string | No | The localizable key for the registry value. |
|
Root | RegistryRootType | No | The predefined root key for the registry value. |
Always empty.
<xs:element name="RemoveRegistryKey">
<xs:annotation>
<xs:documentation>
Used for removing registry keys and all child keys either during install or uninstall.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="Registry" href="http://msdn.microsoft.com/library/aa371168.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="RemoveRegistry" href="http://msdn.microsoft.com/library/aa371208.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string">
<xs:annotation>
<xs:documentation>
Primary key used to identify this particular entry. If this attribute is not specified, an identifier will be
generated by hashing the parent Component identifier, Root, Key, and Name.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Action">
<xs:annotation>
<xs:documentation>
This is the action that will be taken for this registry value.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="removeOnInstall">
<xs:annotation>
<xs:documentation>
Removes a key with all its values and subkeys when the parent component is installed.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="removeOnUninstall">
<xs:annotation>
<xs:documentation>
Removes a key with all its values and subkeys when the parent component is uninstalled.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Key" type="xs:string">
<xs:annotation>
<xs:documentation>
The localizable key for the registry value.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Root" type="RegistryRootType">
<xs:annotation>
<xs:documentation>
The predefined root key for the registry value.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Used to remove a registry value during installation.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | No | Primary key used to identify this particular entry. |
|
Key | string | No | The localizable key for the registry value. |
|
Name | string | No | The localizable registry value name. |
|
Root | RegistryRootType | No | 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).
<xs:element name="RemoveRegistryValue">
<xs:annotation>
<xs:documentation>
Used to remove a registry value during installation.
There is no standard way to remove a single registry value during uninstall (but you can remove an entire key with RemoveRegistryKey).
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="RemoveRegistry" href="http://msdn.microsoft.com/library/aa371208.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string">
<xs:annotation>
<xs:documentation>
Primary key used to identify this particular entry. If this attribute is not specified, an identifier will be
generated by hashing the parent Component identifier, Root, Key, and Name.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Key" type="xs:string">
<xs:annotation>
<xs:documentation>
The localizable key for the registry value.
If the parent element is a RegistryKey, this value may be omitted to use the
path of the parent, or if its specified it will be appended to the path of the parent.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="xs:string">
<xs:annotation>
<xs:documentation>
The localizable registry value name. If this attribute is not provided the default value for the registry key will
be set instead. The Windows Installer allows several special values to be set for this attribute. You should not
use them in WiX. Instead use appropriate values in the Action attribute to get the desired behavior.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Root" type="RegistryRootType">
<xs:annotation>
<xs:documentation>
The predefined root key for the registry value.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
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 | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="RemoveRegistryValues" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="RemoveRegistryValues" href="http://msdn.microsoft.com/library/aa371207.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Removes a registry value that has been authored into the registry table if the associated component was installed locally or as run from source, and is now set to be uninstalled. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
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 | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="RemoveShortcuts" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="RemoveShortcuts" href="http://msdn.microsoft.com/library/aa371209.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Manages the removal of an advertised shortcut whose feature is selected for uninstallation or a nonadvertised shortcut whose component is selected for uninstallation. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
A patch that is deprecated by this patch.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | Guid | Yes | Patch GUID to be unregistered if it exists on the machine targeted by this patch. |
Always empty.
<xs:element name="ReplacePatch">
<xs:annotation>
<xs:documentation>A patch that is deprecated by this patch.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="Guid" use="required">
<xs:annotation>
<xs:documentation>Patch GUID to be unregistered if it exists on the machine targeted by this patch.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Disk cost to reserve in a folder for running locally and/or from source.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | A primary key that uniquely identifies this ReserveCost entry. |
|
Directory | string | No | Adds the amount of disk space specified in RunFromSource or RunLocal to the volume cost of the device containing the directory. |
|
RunFromSource | integer | Yes | The number of bytes of disk space to reserve if the component is installed to run from source. |
|
RunLocal | integer | Yes | The number of bytes of disk space to reserve if the component is installed to run locally. |
Always empty.
<xs:element name="ReserveCost">
<xs:annotation>
<xs:documentation>
Disk cost to reserve in a folder for running locally and/or from source.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="ReserveCost" href="http://msdn.microsoft.com/library/aa371226.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>A primary key that uniquely identifies this ReserveCost entry.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Directory" type="xs:string">
<xs:annotation>
<xs:documentation>
Adds the amount of disk space specified in RunFromSource or RunLocal to the volume cost of the device containing the directory.
If this attribute is not set, it will default to the directory of parent component.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RunFromSource" type="xs:integer" use="required">
<xs:annotation>
<xs:documentation>The number of bytes of disk space to reserve if the component is installed to run from source.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RunLocal" type="xs:integer" use="required">
<xs:annotation>
<xs:documentation>The number of bytes of disk space to reserve if the component is installed to run locally.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Determines the location of the source and sets the SourceDir property if the source has not been resolved yet.
Name | Type | Required? | Default | Description |
---|---|---|---|---|
After | string | No | The name of an action that this action should come after. |
|
Before | string | No | The name of an action that this action should come before. |
|
Overridable | YesNoType | No | If "yes", the sequencing of this action may be overridden by sequencing elsewhere. |
|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
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.
<xs:element name="ResolveSource" type="ActionModuleSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="ResolveSource" href="http://msdn.microsoft.com/library/aa371232.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Determines the location of the source and sets the SourceDir property if the source has not been resolved yet. Special actions don't have a built-in sequence number and thus must appear relative to another action. The suggested way to do this is by using the Before or After attribute. InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize.</xs:documentation>
</xs:annotation>
</xs:element>
Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed.
Name | Type | Required? | Default | Description |
---|---|---|---|---|
After | string | No | The name of an action that this action should come after. |
|
Before | string | No | The name of an action that this action should come before. |
|
Overridable | YesNoType | No | If "yes", the sequencing of this action may be overridden by sequencing elsewhere. |
|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
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.
<xs:element name="RMCCPSearch" type="ActionModuleSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="CCPSearch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="ComplianceCheck" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef action="RMCCPSearch" href="http://msdn.microsoft.com/library/aa371364.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed. The 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.</xs:documentation>
</xs:annotation>
</xs:element>
Row data for a Custom Table
Restricting anyType
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
1..1 | |||
Data | string (extension) | 1..* | Used for a Custom Table. Specifies the data for the parent Row and specified Column. |
<xs:element name="Row">
<xs:annotation>
<xs:documentation>Row data for a Custom Table</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="Data" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
Prompts the user to restart the system at the end of installation.
Name | Type | Required? | Default | Description |
---|---|---|---|---|
After | string | No | The name of an action that this action should come after. |
|
Before | string | No | The name of an action that this action should come before. |
|
Overridable | YesNoType | No | If "yes", the sequencing of this action may be overridden by sequencing elsewhere. |
|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
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.
<xs:element name="ScheduleReboot" type="ActionModuleSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="ScheduleReboot" href="http://msdn.microsoft.com/library/aa371527.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Prompts the user to restart the system at the end of installation. Special actions don't have a built-in sequence number and thus must appear relative to another action. The suggested way to do this is by using the Before or After attribute. InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize.</xs:documentation>
</xs:annotation>
</xs:element>
Processes all modules listed in the SelfReg table and registers all installed modules with the system.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="SelfRegModules" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="SelfRegModules" href="http://msdn.microsoft.com/library/aa371607.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Processes all modules listed in the SelfReg table and registers all installed modules with the system. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Unregisters all modules listed in the SelfReg table that are scheduled to be uninstalled.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="SelfUnregModules" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="SelfUnregModules" href="http://msdn.microsoft.com/library/aa371610.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Unregisters all modules listed in the SelfReg table that are scheduled to be uninstalled. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Argument used in ServiceControl parent
Type string
<xs:element name="ServiceArgument" type="xs:string">
<xs:annotation>
<xs:documentation>
Argument used in ServiceControl parent
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="ServiceControl" href="http://msdn.microsoft.com/library/aa371634.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:element>
Starts, stops, and removes services for parent Component.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | ||
Name | string | Yes | Name of the service. |
|
Start | NMTOKEN (restriction) | No | Specifies whether the service should be started on install, uninstall or both. |
|
Stop | NMTOKEN (restriction) | No | Specifies whether the service should be stopped on install, uninstall or both. |
|
Remove | NMTOKEN (restriction) | No | Specifies whether the service should be removed on install, uninstall or both. |
|
Wait | YesNoType | No | Specifies whether or not to wait for the service to complete before continuing. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
1..1 | |||
ServiceArgument | string | 0..* | 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.
<xs:element name="ServiceControl">
<xs:annotation>
<xs:documentation>
Starts, stops, and removes services for parent Component. 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.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="ServiceControl" href="http://msdn.microsoft.com/library/aa371634.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="ServiceArgument" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Ordered list of arguments used when modifying services.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="xs:string" use="required" />
<xs:attribute name="Name" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Name of the service.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Start">
<xs:annotation>
<xs:documentation>Specifies whether the service should be started on install, uninstall or both.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="install">
<xs:annotation>
<xs:documentation>
The service will be started by the StartServices action during install.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="uninstall">
<xs:annotation>
<xs:documentation>
The service will be started by the StartServices action during uninstall.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="both">
<xs:annotation>
<xs:documentation>
The service will be started by the StartServices action during install and uninstall.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Stop">
<xs:annotation>
<xs:documentation>Specifies whether the service should be stopped on install, uninstall or both.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="install">
<xs:annotation>
<xs:documentation>
The service will be stopped by the StopServices action during install.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="uninstall">
<xs:annotation>
<xs:documentation>
The service will be stopped by the StopServices action during uninstall.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="both">
<xs:annotation>
<xs:documentation>
The service will be stopped by the StopServices action during install and uninstall.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Remove">
<xs:annotation>
<xs:documentation>Specifies whether the service should be removed on install, uninstall or both.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="install">
<xs:annotation>
<xs:documentation>
The service will be deleted by the DeleteServices action during install.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="uninstall">
<xs:annotation>
<xs:documentation>
The service will be deleted by the DeleteServices action during uninstall.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="both">
<xs:annotation>
<xs:documentation>
The service will be deleted by the DeleteServices action during install and uninstall.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Wait" type="YesNoType">
<xs:annotation>
<xs:documentation>Specifies whether or not to wait for the service to complete before continuing.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Service or group of services that must start before the parent service.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | ||
Group | YesNoType | No | Set to 'yes' to indicate that the value in the Id attribute is the name of a group of services. |
Always empty.
<xs:element name="ServiceDependency">
<xs:annotation>
<xs:documentation>
Service or group of services that must start before the parent service.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="ServiceInstall" href="http://msdn.microsoft.com/library/aa371637.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>
The value of this attribute should be one of the following:
<html:ol xmlns:html="http://www.w3.org/1999/xhtml"><html:li>The name (not the display name) of a previously installed service.</html:li><html:li>A foreign key referring to another ServiceInstall/@Id.</html:li><html:li>A group of services (in which case the Group attribute should be set to 'yes').</html:li></html:ol></xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Group" type="YesNoType">
<xs:annotation>
<xs:documentation>
Set to 'yes' to indicate that the value in the Id attribute is the name of a group of services.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Adds and removes services for parent Component.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Unique identifier for this service. |
|
Name | string | Yes | This column is the string that gives the service name to install. |
|
DisplayName | string | No | This column is the localizable string that user interface programs use to identify the service. |
|
Type | NMTOKEN (restriction) | Yes | The Windows Installer does not currently support kernelDriver or systemDriver |
|
Interactive | YesNoType | No | Whether or not the service interacts with the desktop. |
|
Start | NMTOKEN (restriction) | Yes | Determines when the service should be started. |
|
ErrorControl | NMTOKEN (restriction) | Yes | Determines what action should be taken on an error. |
|
Vital | YesNoType | No | The overall install should fail if this service fails to install. |
|
LoadOrderGroup | string | No | The load ordering group that this service should be a part of. |
|
Account | string | No | The acount under which to start the service. Valid only when ServiceType is ownProcess. |
|
Password | string | No | The password for the account. Valid only when the account has a password. |
|
Arguments | string | No | Contains any command line arguments or properties required to run the service. |
|
Description | string | No | Sets the description of the service. |
|
EraseDescription | YesNoType | No | Determines whether the existing service description will be ignored. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..* | |||
any | 1..1 | Allow any element from the ##other namespace. |
|
ServiceDependency | anyType (restriction) | 1..1 | Service or group of services that must start before the parent service. |
<xs:element name="ServiceInstall">
<xs:annotation>
<xs:documentation>
Adds and removes services for parent Component.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="ServiceInstall" href="http://msdn.microsoft.com/library/aa371637.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:remarks xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">
The service executable installed will point to the KeyPath for the Component.
Therefore, you must ensure that the correct executable is either the first child
File element under this Component or explicitly mark the appropriate File element
as KeyPath='yes'.
</xse:remarks>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="ServiceDependency">
<xs:annotation>
<xs:documentation>ordered list of dependencies when installing services</xs:documentation>
</xs:annotation>
</xs:element>
<xs:any namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
elements at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:any>
</xs:choice>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Unique identifier for this service.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>This column is the string that gives the service name to install.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DisplayName" type="xs:string">
<xs:annotation>
<xs:documentation>This column is the localizable string that user interface programs use to identify the service.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Type" use="required">
<xs:annotation>
<xs:documentation>The Windows Installer does not currently support kernelDriver or systemDriver</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="ownProcess">
<xs:annotation>
<xs:documentation>
A Win32 service that runs its own process.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="shareProcess">
<xs:annotation>
<xs:documentation>
A Win32 service that shares a process.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="kernelDriver">
<xs:annotation>
<xs:documentation>
A kernel driver service. This value is not currently supported by the Windows Installer.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="systemDriver">
<xs:annotation>
<xs:documentation>
A file system driver service. This value is not currently supported by the Windows Installer.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Interactive" type="YesNoType">
<xs:annotation>
<xs:documentation>Whether or not the service interacts with the desktop.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Start" use="required">
<xs:annotation>
<xs:documentation>Determines when the service should be started. The Windows Installer does not support boot or system.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="auto">
<xs:annotation>
<xs:documentation>
The service will start during startup of the system.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="demand">
<xs:annotation>
<xs:documentation>
The service will start when the service control manager calls the StartService function.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="disabled">
<xs:annotation>
<xs:documentation>
The service can no longer be started.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="boot">
<xs:annotation>
<xs:documentation>
The service is a device driver that will be started by the operating system boot loader. This value is not currently supported by the Windows Installer.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="system">
<xs:annotation>
<xs:documentation>
The service is a device driver that will be started by the IoInitSystem function. This value is not currently supported by the Windows Installer.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ErrorControl" use="required">
<xs:annotation>
<xs:documentation>Determines what action should be taken on an error.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="ignore">
<xs:annotation>
<xs:documentation>
Logs the error and continues with the startup operation.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="normal">
<xs:annotation>
<xs:documentation>
Logs the error, displays a message box and continues the startup operation.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="critical">
<xs:annotation>
<xs:documentation>
Logs the error if it is possible and the system is restarted with the last configuration known to be good. If the last-known-good configuration is being started, the startup operation fails.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Vital" type="YesNoType">
<xs:annotation>
<xs:documentation>The overall install should fail if this service fails to install.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="LoadOrderGroup" type="xs:string">
<xs:annotation>
<xs:documentation>The load ordering group that this service should be a part of.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Account" type="xs:string">
<xs:annotation>
<xs:documentation>The acount under which to start the service. Valid only when ServiceType is ownProcess.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Password" type="xs:string">
<xs:annotation>
<xs:documentation>The password for the account. Valid only when the account has a password.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Arguments" type="xs:string">
<xs:annotation>
<xs:documentation>Contains any command line arguments or properties required to run the service.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Description" type="xs:string">
<xs:annotation>
<xs:documentation>Sets the description of the service.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="EraseDescription" type="YesNoType">
<xs:annotation>
<xs:documentation>Determines whether the existing service description will be ignored. If 'yes', the service description will be null, even if the Description attribute is set.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Sets a Directory to a particular value.
Extending string
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | No | This attribute specifies a reference to a Directory element with matching Id attribute. |
|
Sequence | NMTOKEN (restriction) | No | Controls which sequences the Directory assignment is sequenced in. |
|
Value | string | No | This attribute specifies a string value to assign to the Directory. |
Contains text only.
This is accomplished by creating a Type 51 custom action that is appropriately scheduled in
the InstallUISequence and InstallExecuteSequence.
<xs:element name="SetDirectory">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="Custom" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="CustomActionRef" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="InstallUISequence" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="InstallExecuteSequence" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="CustomAction" href="http://msdn.microsoft.com/library/aa368062.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>
Sets a Directory to a particular value. This is accomplished by creating a Type 51 custom action that is appropriately scheduled in
the InstallUISequence and InstallExecuteSequence.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:annotation>
<xs:documentation>
The condition that determines whether the Directory is set. If the condition evaluates to false, the SetDirectory is skipped.
</xs:documentation>
</xs:annotation>
<xs:attribute name="Id" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute specifies a reference to a Directory element with matching Id attribute. The path of the Directory will be set to
the Value attribute.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Sequence">
<xs:annotation>
<xs:documentation>
Controls which sequences the Directory assignment is sequenced in. The default is both.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="both">
<xs:annotation>
<xs:documentation>
Schedules the assignment in the InstallUISequence and the InstallExecuteSequence.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="execute">
<xs:annotation>
<xs:documentation>
Schedules the assignment only in the the InstallExecuteSequence.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ui">
<xs:annotation>
<xs:documentation>
Schedules the assignment only in the the InstallUISequence.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Value" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute specifies a string value to assign to the Directory. The value can be a literal value or derived from a
Property element using the <html:a href="http://msdn.microsoft.com/library/aa368609.aspx" target="_blank" xmlns:html="http://www.w3.org/1999/xhtml">Formatted</html:a>
syntax.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
Checks for existing ODBC drivers and sets the target directory for each new driver to the location of an existing driver.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="SetODBCFolders" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="SetODBCFolders" href="http://msdn.microsoft.com/library/aa371691.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Checks for existing ODBC drivers and sets the target directory for each new driver to the location of an existing driver. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Sets a Property to a particular value.
Extending string
Name | Type | Required? | Default | Description |
---|---|---|---|---|
After | string | No | The name of the standard or custom action after which this action should be performed. |
|
Before | string | No | The name of the standard or custom action before which this action should be performed. |
|
Id | string | No | This attribute specifies the Property to set to the Value. |
|
Sequence | NMTOKEN (restriction) | No | Controls which sequences the Property assignment is sequenced in. |
|
Value | string | No | This attribute specifies a string value to assign to the Property. |
Contains text only.
This is accomplished by creating a Type 51 custom action that is appropriately scheduled in
the InstallUISequence and InstallExecuteSequence.
<xs:element name="SetProperty">
<xs:annotation>
<xs:appinfo>
<xse:seeAlso ref="Custom" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="CustomActionRef" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="InstallUISequence" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:seeAlso ref="InstallExecuteSequence" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="CustomAction" href="http://msdn.microsoft.com/library/aa368062.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>
Sets a Property to a particular value. This is accomplished by creating a Type 51 custom action that is appropriately scheduled in
the InstallUISequence and InstallExecuteSequence.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:annotation>
<xs:documentation>
The condition that determines whether the Property is set. If the condition evaluates to false, the Set is skipped.
</xs:documentation>
</xs:annotation>
<xs:attribute name="After" type="xs:string">
<xs:annotation>
<xs:documentation>The name of the standard or custom action after which this action should be performed. Mutually exclusive with the Before attribute. A Before or After attribute is required when setting a Property.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Before" type="xs:string">
<xs:annotation>
<xs:documentation>The name of the standard or custom action before which this action should be performed. Mutually exclusive with the After attribute. A Before or After attribute is required when setting a Property.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Id" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute specifies the Property to set to the Value.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Sequence">
<xs:annotation>
<xs:documentation>
Controls which sequences the Property assignment is sequenced in. The default is both.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="both">
<xs:annotation>
<xs:documentation>
Schedules the assignment in the InstallUISequence and the InstallExecuteSequence.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="execute">
<xs:annotation>
<xs:documentation>
Schedules the assignment only in the the InstallExecuteSequence.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ui">
<xs:annotation>
<xs:documentation>
Schedules the assignment only in the the InstallUISequence.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Value" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute specifies a string value to assign to the Property. The value can be a literal value or derived from a
Property element using the <html:a href="http://msdn.microsoft.com/library/aa368609.aspx" target="_blank" xmlns:html="http://www.w3.org/1999/xhtml">Formatted</html:a>
syntax.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
Adds a system file protection update catalog file
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Name | string | No | Filename for catalog file when installed. |
|
Dependency | string | No | Used to define dependency outside of the package. |
|
SourceFile | string | No | Path to catalog file in binary. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..* | |||
SFPCatalog | anyType (restriction) | 0..* | Adds a system file protection update catalog file |
SFPFile | anyType (restriction) | 0..* | Provides a many-to-many mapping from the SFPCatalog table to the File table |
<xs:element name="SFPCatalog">
<xs:annotation>
<xs:documentation>
Adds a system file protection update catalog file
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="SFPCatalog" href="http://msdn.microsoft.com/library/aa371833.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="SFPCatalog" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="SFPFile" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Primary Key to File Table.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:attribute name="Name" type="xs:string">
<xs:annotation>
<xs:documentation>Filename for catalog file when installed.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Dependency" type="xs:string">
<xs:annotation>
<xs:documentation>Used to define dependency outside of the package.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SourceFile" type="xs:string">
<xs:annotation>
<xs:documentation>Path to catalog file in binary.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Provides a many-to-many mapping from the SFPCatalog table to the File table
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Primary Key to File Table. |
Always empty.
<xs:element name="SFPFile">
<xs:annotation>
<xs:documentation>
Provides a many-to-many mapping from the SFPCatalog table to the File table
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="FileSFPCatalog" href="http://msdn.microsoft.com/library/aa368591.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Primary Key to File Table.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Shortcut, default target is parent File, CreateFolder, or Component's Directory
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Unique identifier for the shortcut. |
|
Directory | string | No | Identifier reference to Directory element where shortcut is to be created. |
|
Name | LongFileNameType | Yes | In prior versions of the WiX toolset, this attribute specified the short name. This attribute's value may now be either a short or long name. |
|
LongName | LongFileNameType | No | ||
ShortName | ShortFileNameType | No | The short name of the shortcut in 8.3 format. |
|
Target | string | No | This attribute can only be set if this Shortcut element is nested under a Component element. |
|
Description | string | No | The localizable description for the shortcut. |
|
Arguments | string | No | The command-line arguments for the shortcut. |
|
Hotkey | integer | No | The hotkey for the shortcut. |
|
Icon | string | No | Identifier reference to Icon element. |
|
IconIndex | integer | No | Identifier reference to Icon element. |
|
Show | NMTOKEN (restriction) | No | ||
WorkingDirectory | string | No | Directory identifier (or Property identifier that resolves to a directory) that resolves to the path of the working directory for the shortcut. |
|
Advertise | YesNoType | No | Specifies if the shortcut should be advertised or not. |
|
DisplayResourceDll | string | No | The Formatted string providing the full path to the language neutral file containing the MUI Manifest. |
|
DisplayResourceId | integer | No | The display name index for the shortcut. |
|
DescriptionResourceDll | string | No | The Formatted string providing the full path to the language neutral file containing the MUI Manifest. |
|
DescriptionResourceId | integer | No | The description name index for the shortcut. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
1..1 | |||
Icon | anyType (restriction) | 0..1 | Icon used for Shortcut, ProgId, or Class elements (but not UI controls) |
<xs:element name="Shortcut">
<xs:annotation>
<xs:documentation>
Shortcut, default target is parent File, CreateFolder, or Component's Directory
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="Shortcut" href="http://msdn.microsoft.com/library/aa371847.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:howtoRef href="create_start_menu_shortcut.htm" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension">How To: Create a shortcut on the Start Menu</xse:howtoRef>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="Icon" minOccurs="0" />
</xs:sequence>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Unique identifier for the shortcut. This value will serve as the primary key for the row.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Directory" type="xs:string">
<xs:annotation>
<xs:documentation>Identifier reference to Directory element where shortcut is to be created. When nested under a Component element, this attribute's value will default to the parent directory. Otherwise, this attribute is required.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="LongFileNameType" use="required">
<xs:annotation>
<xs:documentation>
In prior versions of the WiX toolset, this attribute specified the short name.
This attribute's value may now be either a short or long name.
If a short name is specified, the ShortName attribute may not be specified.
If a long name is specified, the LongName attribute may not be specified.
Also, if this value is a long name, the ShortName attribute may be omitted to
allow WiX to attempt to generate a unique short name.
However, if this name collides with another shortcut or you wish to manually specify
the short name, then the ShortName attribute may be specified.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="LongName" type="LongFileNameType">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="Name" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ShortName" type="ShortFileNameType">
<xs:annotation>
<xs:documentation>
The short name of the shortcut in 8.3 format.
This attribute should only be set if there is a conflict between generated short names
or the user wants to manually specify the short name.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Target" type="xs:string">
<xs:annotation>
<xs:documentation>
This attribute can only be set if this Shortcut element is nested under a Component element.
When nested under a Component element, this attribute's value will default to the parent directory.
This attribute's value is the target for a non-advertised shortcut.
This attribute is not valid for advertised shortcuts.
If you specify this value, its value should be a property identifier enclosed by square brackets ([ ]), that is expanded into the file or a folder pointed to by the shortcut.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Description" type="xs:string">
<xs:annotation>
<xs:documentation>The localizable description for the shortcut.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Arguments" type="xs:string">
<xs:annotation>
<xs:documentation>The command-line arguments for the shortcut. Note that the resolution of properties
in the Arguments field is limited. A property formatted as [Property] in this field can only be resolved if the
property already has the intended value when the component owning the shortcut is installed. For example, for the
argument "[#MyDoc.doc]" to resolve to the correct value, the same process must be installing the file MyDoc.doc and
the component that owns the shortcut.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Hotkey" type="xs:integer">
<xs:annotation>
<xs:documentation>The hotkey for the shortcut. The low-order byte contains the virtual-key code for
the key, and the high-order byte contains modifier flags. This must be a non-negative number. Authors of
installation packages are generally recommend not to set this option, because this can add duplicate hotkeys to a
users desktop. In addition, the practice of assigning hotkeys to shortcuts can be problematic for users using hotkeys
for accessibility.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Icon" type="xs:string">
<xs:annotation>
<xs:documentation>Identifier reference to Icon element. The Icon identifier should have the same extension
as the file that it points at. For example, a shortcut to an executable (e.g. "my.exe") should reference an Icon with identifier
like "MyIcon.exe"</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IconIndex" type="xs:integer">
<xs:annotation>
<xs:documentation>Identifier reference to Icon element.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Show">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="normal">
<xs:annotation>
<xs:documentation>
The shortcut target will be displayed using the SW_SHOWNORMAL attribute.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="minimized">
<xs:annotation>
<xs:documentation>
The shortcut target will be displayed using the SW_SHOWMINNOACTIVE attribute.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="maximized">
<xs:annotation>
<xs:documentation>
The shortcut target will be displayed using the SW_SHOWMAXIMIZED attribute.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="WorkingDirectory" type="xs:string">
<xs:annotation>
<xs:documentation>Directory identifier (or Property identifier that resolves to a directory) that resolves
to the path of the working directory for the shortcut.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Advertise" type="YesNoType">
<xs:annotation>
<xs:documentation>Specifies if the shortcut should be advertised or not. Note that advertised shortcuts
always point at a particular application, identified by a ProductCode, and should not be shared between applications.
Advertised shortcuts only work for the most recently installed application, and are removed when that application is
removed. The default value is 'no'.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DisplayResourceDll" type="xs:string">
<xs:annotation>
<xs:documentation>
The Formatted string providing the full path to the language neutral file containing the MUI Manifest. Generally
authored using [#filekey] form. When this attribute is specified, the DisplayResourceId attribute must also
be provided.
This attribute is only used on Windows Vista and above. If this attribute is not populated and the install
is running on Vista and above, the value in the Name attribute is used. If this attribute is populated and
the install is running on Vista and above, the value in the Name attribute is ignored.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DisplayResourceId" type="xs:integer">
<xs:annotation>
<xs:documentation>
The display name index for the shortcut. This must be a non-negative number. When this attribute is specified, the
DisplayResourceDll attribute must also be proviced.
This attribute is only used on Windows Vista and above. If this attribute is not specified and the install
is running on Vista and above, the value in the Name attribute is used. If this attribute is specified and
the install is running on Vista and above, the value in the Name attribute is ignored.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DescriptionResourceDll" type="xs:string">
<xs:annotation>
<xs:documentation>
The Formatted string providing the full path to the language neutral file containing the MUI Manifest. Generally
authored using [#filekey] form. When this attribute is specified, the DescriptionResourceId attribute must also
be provided.
This attribute is only used on Windows Vista and above. If this attribute is not specified and the install
is running on Vista and above, the value in the Name attribute is used. If this attribute is provided and
the install is running on Vista and above, the value in the Name attribute is ignored.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DescriptionResourceId" type="xs:integer">
<xs:annotation>
<xs:documentation>
The description name index for the shortcut. This must be a non-negative number. When this attribute is specified,
the DescriptionResourceDll attribute must also be populated.
This attribute is only used on Windows Vista and above. If this attribute is not specified and the install
is running on Vista and above, the value in the Name attribute is used. If this attribute is populated and the
install is running on Vista and above, the value in the Name attribute is ignored.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Extending string
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Dialog | string | Yes | ||
OnExit | NMTOKEN (restriction) | No | mutually exclusive with Before, After, and Sequence attributes |
|
Before | string | No | ||
After | string | No | ||
Overridable | YesNoType | No | If "yes", the sequencing of this dialog may be overridden by sequencing elsewhere. |
|
Sequence | integer | No |
Contains text only.
<xs:element name="Show">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="Dialog" type="xs:string" use="required" />
<xs:attribute name="OnExit">
<xs:annotation>
<xs:documentation>mutually exclusive with Before, After, and Sequence attributes</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="success" />
<xs:enumeration value="cancel" />
<xs:enumeration value="error" />
<xs:enumeration value="suspend" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Before" type="xs:string" />
<xs:attribute name="After" type="xs:string" />
<xs:attribute name="Overridable" type="YesNoType">
<xs:annotation>
<xs:documentation>
If "yes", the sequencing of this dialog may be overridden by sequencing elsewhere.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Sequence" type="xs:integer" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
Starts system services.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="StartServices" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="StartServices" href="http://msdn.microsoft.com/library/aa372026.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Starts system services. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Stops system services.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="StopServices" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="StopServices" href="http://msdn.microsoft.com/library/aa372028.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Stops system services. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Sets attributes for events in the EventMapping table
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Event | string | No | must be one of the standard control events' |
|
Attribute | string | No | if not present can only handle enable, disable, hide, unhide events |
Always empty.
<xs:element name="Subscribe">
<xs:annotation>
<xs:documentation>
Sets attributes for events in the EventMapping table
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="EventMapping" href="http://msdn.microsoft.com/library/aa368559.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Event" type="xs:string">
<xs:annotation>
<xs:documentation>must be one of the standard control events'</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Attribute" type="xs:string">
<xs:annotation>
<xs:documentation>if not present can only handle enable, disable, hide, unhide events</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Specifies the configurable fields of a module database and provides a template for the configuration of each field.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Table | string | Yes | Specifies the name of the table being modified in the module database. |
|
Row | string | Yes | Specifies the primary keys of the target row in the table named in the Table column. |
|
Column | string | Yes | Specifies the target column in the row named in the Row column. |
|
Value | string | No | Provides a formatting template for the data being substituted into the target field specified by Table, Row, and Column. |
Always empty.
<xs:element name="Substitution">
<xs:annotation>
<xs:documentation>Specifies the configurable fields of a module database and provides a template for the configuration of each field.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Table" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Specifies the name of the table being modified in the module database.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Row" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Specifies the primary keys of the target row in the table named in the Table column. If multiple keys, separated by semicolons.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Column" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Specifies the target column in the row named in the Row column.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Value" type="xs:string">
<xs:annotation>
<xs:documentation>Provides a formatting template for the data being substituted into the target field specified by Table, Row, and Column.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
A path to symbols.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Path | string | Yes | The path. |
Always empty.
<xs:element name="SymbolPath">
<xs:annotation>
<xs:documentation>A path to symbols.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Path" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The path.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Information about specific files in a target image.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Foreign key into the File table. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
1..1 | |||
SymbolPath | anyType (restriction) | 0..1 | A path to symbols. |
0..* | |||
IgnoreRange | anyType (restriction) | 1..1 | Specifies part of a file that is to be ignored during patching. |
ProtectRange | anyType (restriction) | 1..1 | Specifies part of a file that cannot be overwritten during patching. |
<xs:element name="TargetFile">
<xs:annotation>
<xs:documentation>Information about specific files in a target image.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="SymbolPath" minOccurs="0" />
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="IgnoreRange" />
<xs:element ref="ProtectRange" />
</xs:choice>
</xs:sequence>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Foreign key into the File table.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Contains information about the target images of the product.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Identifier for the target image. |
|
SourceFile | string | No | Full path to the location of the msi file for the target image. |
|
src | string | No | ||
Order | int | Yes | Relative order of the target image. |
|
Validation | string | No | Product checking to avoid applying irrelevant transforms. |
|
IgnoreMissingFiles | YesNoType | No | Files missing from the target image are ignored by the installer. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..* | |||
SymbolPath | anyType (restriction) | 1..1 | A path to symbols. |
TargetFile | anyType (restriction) | 1..1 | Information about specific files in a target image. |
<xs:element name="TargetImage">
<xs:annotation>
<xs:documentation>Contains information about the target images of the product.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="SymbolPath" />
<xs:element ref="TargetFile" />
</xs:choice>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Identifier for the target image.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SourceFile" type="xs:string">
<xs:annotation>
<xs:documentation>Full path to the location of the msi file for the target image.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="src" type="xs:string">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="SourceFile" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Order" type="xs:int" use="required">
<xs:annotation>
<xs:documentation>Relative order of the target image.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Validation" type="xs:string">
<xs:annotation>
<xs:documentation>Product checking to avoid applying irrelevant transforms.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreMissingFiles" type="YesNoType">
<xs:annotation>
<xs:documentation>Files missing from the target image are ignored by the installer.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
A product code for a product that may receive this patch (or '*' for all products).
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | The product code for a product that can receive this patch (or '*' for all products). |
Always empty.
<xs:element name="TargetProductCode">
<xs:annotation>
<xs:documentation>
A product code for a product that may receive this patch (or '*' for all products).
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>
The product code for a product that can receive this patch (or '*' for all products).
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
An alternative to using the Text attribute when the value contains special XML characters like <, >, or &.
Extending string
Name | Type | Required? | Default | Description |
---|---|---|---|---|
SourceFile | string | No | Instructs the text to be imported from a file instead of the element value during the binding process. |
|
src | string | No |
Contains text only.
<xs:element name="Text">
<xs:annotation>
<xs:documentation>
An alternative to using the Text attribute when the value contains special XML characters like <, >, or &.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="SourceFile" type="xs:string">
<xs:annotation>
<xs:documentation>Instructs the text to be imported from a file instead of the element value during the binding process.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="src" type="xs:string">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="SourceFile" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | ||
FaceName | string | Yes | ||
Size | string | Yes | ||
Red | integer | No | 0 to 255 |
|
Green | integer | No | 0 to 255 |
|
Blue | integer | No | 0 to 255 |
|
Bold | YesNoType | No | ||
Italic | YesNoType | No | ||
Underline | YesNoType | No | ||
Strike | YesNoType | No |
Always empty.
<xs:element name="TextStyle">
<xs:annotation>
<xs:appinfo>
<xse:msiRef table="TextStyle" href="http://msdn.microsoft.com/library/aa372074.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required" />
<xs:attribute name="FaceName" use="required" type="xs:string" />
<xs:attribute name="Size" use="required" type="xs:string" />
<xs:attribute name="Red" type="xs:integer">
<xs:annotation>
<xs:documentation>0 to 255</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Green" type="xs:integer">
<xs:annotation>
<xs:documentation>0 to 255</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Blue" type="xs:integer">
<xs:annotation>
<xs:documentation>0 to 255</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Bold" type="YesNoType" />
<xs:attribute name="Italic" type="YesNoType" />
<xs:attribute name="Underline" type="YesNoType" />
<xs:attribute name="Strike" type="YesNoType" />
</xs:complexType>
</xs:element>
Register a type library (TypeLib).
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | Guid | Yes | The GUID that identifes the type library. |
|
Advertise | YesNoType | No | Value of 'yes' will create a row in the TypeLib table. Value of 'no' will create rows in the Registry table. |
|
Control | YesNoType | No | Value of 'yes' means the type library describes controls, and should not be displayed in type browsers intended for nonvisual objects. |
|
Cost | int | No | The cost associated with the registration of the type library in bytes. |
|
Description | string | No | The localizable description of the type library. |
|
HasDiskImage | YesNoType | No | Value of 'yes' means the type library exists in a persisted form on disk. |
|
HelpDirectory | string | No | The identifier of the Directory element for the help directory. |
|
Hidden | YesNoType | No | Value of 'yes' means the type library should not be displayed to users, although its use is not restricted. |
|
Language | integer | Yes | The language of the type library. |
|
MajorVersion | integer | No | The major version of the type library. |
|
MinorVersion | integer | No | The minor version of the type library. |
|
ResourceId | integer | No | The resource id of a typelib. |
|
Restricted | YesNoType | No | Value of 'yes' means the type library is restricted, and should not be displayed to users. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..* | |||
AppId | anyType (restriction) | 1..1 | Application ID containing DCOM information for the associated application GUID. |
Class | anyType (restriction) | 1..1 | COM Class registration for parent Component. |
Interface | anyType (restriction) | 1..1 | COM Interface registration for parent Typelib. |
Please note that in order to properly use this non-advertised, you will need use this element with Advertise='no' and also author the appropriate child Interface elements by extracting them from the type library itself.
<xs:element name="TypeLib">
<xs:annotation>
<xs:documentation>
Register a type library (TypeLib). Please note that in order to properly use this
non-advertised, you will need use this element with Advertise='no' and also author the
appropriate child Interface elements by extracting them from the type library itself.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="TypeLib" href="http://msdn.microsoft.com/library/aa372092.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Registry" href="http://msdn.microsoft.com/library/aa371168.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="AppId" />
<xs:element ref="Class" />
<xs:element ref="Interface" />
</xs:choice>
<xs:attribute name="Id" type="Guid" use="required">
<xs:annotation>
<xs:documentation>The GUID that identifes the type library.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Advertise" type="YesNoType">
<xs:annotation>
<xs:documentation>
Value of 'yes' will create a row in the TypeLib table.
Value of 'no' will create rows in the Registry table.
The default value is 'no'.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Control" type="YesNoType">
<xs:annotation>
<xs:documentation>
Value of 'yes' means the type library describes controls, and should not be displayed in type browsers intended for nonvisual objects.
This attribute can only be set if Advertise='no'.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Cost" type="xs:int">
<xs:annotation>
<xs:documentation>
The cost associated with the registration of the type library in bytes. This attribute cannot be set if Advertise='no'.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Description" type="xs:string">
<xs:annotation>
<xs:documentation>The localizable description of the type library.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="HasDiskImage" type="YesNoType">
<xs:annotation>
<xs:documentation>
Value of 'yes' means the type library exists in a persisted form on disk. This attribute can only be set if Advertise='no'.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="HelpDirectory" type="xs:string">
<xs:annotation>
<xs:documentation>The identifier of the Directory element for the help directory.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Hidden" type="YesNoType">
<xs:annotation>
<xs:documentation>
Value of 'yes' means the type library should not be displayed to users, although its use is not restricted.
Should be used by controls. Hosts should create a new type library that wraps the control with extended properties.
This attribute can only be set if Advertise='no'.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Language" use="required" type="xs:integer">
<xs:annotation>
<xs:documentation>The language of the type library. This must be a non-negative integer.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MajorVersion" type="xs:integer">
<xs:annotation>
<xs:documentation>The major version of the type library. The value should be an integer from 0 - 255.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MinorVersion" type="xs:integer">
<xs:annotation>
<xs:documentation>The minor version of the type library. The value should be an integer from 0 - 255.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ResourceId" type="xs:integer">
<xs:annotation>
<xs:documentation>The resource id of a typelib. The value is appended to the end of the typelib path in the registry.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Restricted" type="YesNoType">
<xs:annotation>
<xs:documentation>
Value of 'yes' means the type library is restricted, and should not be displayed to users. This attribute can only be set if Advertise='no'.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Enclosing element to compartmentalize UI specifications.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | No |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..* | |||
BillboardAction | anyType (restriction) | 1..1 | Billboard action during which child Billboards are displayed |
Binary | anyType (restriction) | 1..1 | Binary data used for CustomAction elements and UI controls. |
ComboBox | anyType (restriction) | 1..1 | Set of items for a particular ComboBox control tied to an install Property |
Dialog | anyType (restriction) | 1..1 | Defines a dialog box in the Dialog Table. |
DialogRef | anyType (restriction) | 1..1 | Reference to a Dialog. |
EmbeddedUI | anyType (restriction) | 1..1 | Element value is the condition. |
Error | string (extension) | 1..1 | |
ListBox | anyType (restriction) | 1..1 | Set of items for a particular ListBox control tied to an install Property |
ListView | anyType (restriction) | 1..1 | Set of items for a particular ListView control tied to an install Property |
ProgressText | string (extension) | 1..1 | |
Property | anyType (restriction) | 1..1 | Property value for a Product or Module. |
PropertyRef | anyType (restriction) | 1..1 | Reference to a Property value. |
Publish | string (extension) | 1..1 | |
RadioButtonGroup | anyType (restriction) | 1..1 | Set of radio buttons tied to the specified Property |
1..1 | |||
AdminUISequence | anyType (restriction) | 0..1 | |
InstallUISequence | anyType (restriction) | 0..1 | |
TextStyle | anyType (restriction) | 1..1 | |
UIRef | anyType (restriction) | 1..1 | Reference to a UI element. This will force the entire referenced Fragment's contents to be included in the installer database. |
UIText | string (extension) | 1..1 | Text associated with certain controls |
<xs:element name="UI">
<xs:annotation>
<xs:documentation>
Enclosing element to compartmentalize UI specifications.
</xs:documentation>
<xs:appinfo>
<xse:seeAlso ref="UIRef" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="EmbeddedUI">
<xs:annotation>
<xs:documentation>Embedded UI definition with EmbeddedResource children.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="Error">
<xs:annotation>
<xs:documentation>Error text associated with install error</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ProgressText">
<xs:annotation>
<xs:documentation>ActionText entry associated with an action</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="BillboardAction">
<xs:annotation>
<xs:documentation>Billboard table item with child Controls</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ComboBox">
<xs:annotation>
<xs:documentation>ComboBox table with ListItem children</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ListBox">
<xs:annotation>
<xs:documentation>ListBox table with ListItem children</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ListView">
<xs:annotation>
<xs:documentation>ListView table with ListItem children</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="RadioButtonGroup">
<xs:annotation>
<xs:documentation>RadioButton table with RadioButton children</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="TextStyle">
<xs:annotation>
<xs:documentation>TextStyle entry for use in control text</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="UIText">
<xs:annotation>
<xs:documentation>values for UIText property, not installer Property</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="Dialog">
<xs:annotation>
<xs:documentation>Dialog specification, called from Sequence</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="DialogRef">
<xs:annotation>
<xs:documentation>Reference to a Dialog specification.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="Publish" />
<!-- elements with identical behavior as under Product key, solely to allow grouping with other UI elements -->
<xs:element ref="PropertyRef" />
<xs:element ref="Property" />
<xs:element ref="Binary" />
<xs:sequence>
<xs:element ref="AdminUISequence" minOccurs="0" />
<xs:element ref="InstallUISequence" minOccurs="0" />
</xs:sequence>
<xs:element ref="UIRef" />
</xs:choice>
<xs:attribute name="Id" type="xs:string" />
</xs:complexType>
</xs:element>
Reference to a UI element. This will force the entire referenced Fragment's contents to be included in the installer database.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes |
Always empty.
<xs:element name="UIRef">
<xs:annotation>
<xs:documentation>
Reference to a UI element. This will force the entire referenced Fragment's contents
to be included in the installer database.
</xs:documentation>
<xs:appinfo>
<xse:seeAlso ref="UI" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required" />
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>
Text associated with certain controls
Extending string
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes |
Contains text only.
<xs:element name="UIText">
<xs:annotation>
<xs:documentation>
Text associated with certain controls
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="UIText" href="http://msdn.microsoft.com/library/aa372101.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:annotation>
<xs:documentation>Element value is text, may use CDATA if needed to escape XML delimiters</xs:documentation>
</xs:annotation>
<xs:attribute name="Id" use="required" type="xs:string" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
Manages the unadvertisement of components listed in the PublishComponent table.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="UnpublishComponents" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="UnpublishComponents" href="http://msdn.microsoft.com/library/aa372106.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Manages the unadvertisement of components listed in the PublishComponent table. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Removes selection-state and feature-component mapping information from the registry.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="UnpublishFeatures" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="UnpublishFeatures" href="http://msdn.microsoft.com/library/aa372107.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Removes selection-state and feature-component mapping information from the registry. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Manages the removal of COM class information from the system registry.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="UnregisterClassInfo" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="UnregisterClassInfo" href="http://msdn.microsoft.com/library/aa372108.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Manages the removal of COM class information from the system registry. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Removes COM+ applications from the registry.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="UnregisterComPlus" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="UnregisterComPlus" href="http://msdn.microsoft.com/library/aa372109.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Removes COM+ applications from the registry. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Manages the removal of extension-related information from the system registry.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="UnregisterExtensionInfo" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="UnregisterExtensionInfo" href="http://msdn.microsoft.com/library/aa372110.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Manages the removal of extension-related information from the system registry. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Removes registration information about installed fonts from the system.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="UnregisterFonts" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="UnregisterFonts" href="http://msdn.microsoft.com/library/aa372112.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Removes registration information about installed fonts from the system. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Unregisters MIME-related registry information from the system.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="UnregisterMIMEInfo" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="UnregisterMIMEInfo" href="http://msdn.microsoft.com/library/aa372113.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Unregisters MIME-related registry information from the system. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Manages the unregistration of OLE ProgId information with the system.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="UnregisterProgIdInfo" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="UnregisterProgIdInfo" href="http://msdn.microsoft.com/library/aa372114.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Manages the unregistration of OLE ProgId information with the system. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Unregisters type libraries from the system.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="UnregisterTypeLibraries" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="UnregisterTypeLibraries" href="http://msdn.microsoft.com/library/aa372357.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Unregisters type libraries from the system. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Upgrade info for a particular UpgradeCode
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | Guid | Yes | This value specifies the upgrade code for the products that are to be detected by the FindRelatedProducts action. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..* | |||
Property | anyType (restriction) | 1..1 | Property value for a Product or Module. |
UpgradeVersion | string (extension) | 1..1 | |
<xs:element name="Upgrade">
<xs:annotation>
<xs:documentation>
Upgrade info for a particular UpgradeCode
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="Upgrade" href="http://msdn.microsoft.com/library/aa372379.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="UpgradeVersion" />
<xs:element ref="Property">
<xs:annotation>
<xs:documentation>
Nesting a Property element under an Upgrade element has been deprecated.
Please nest Property elements in any of the other supported locations.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:attribute name="Id" type="Guid" use="required">
<xs:annotation>
<xs:documentation>This value specifies the upgrade code for the products that are to be detected by the FindRelatedProducts action.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Specifies files to either ignore or to specify optional data about a file.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
File | string | Yes | Foreign key into the File table. |
|
Ignore | YesNoType | Yes | If yes, the file is ignored during patching, and the next two attributes are ignored. |
|
AllowIgnoreOnError | YesNoType | No | Specifies whether patching this file is vital. |
|
WholeFile | YesNoType | No | Whether the whole file should be installed, rather than creating a binary patch. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..* | |||
SymbolPath | anyType (restriction) | 1..1 | A path to symbols. |
<xs:element name="UpgradeFile">
<xs:annotation>
<xs:documentation>Specifies files to either ignore or to specify optional data about a file.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="SymbolPath" />
</xs:choice>
<xs:attribute name="File" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Foreign key into the File table.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Ignore" type="YesNoType" use="required">
<xs:annotation>
<xs:documentation>If yes, the file is ignored during patching, and the next two attributes are ignored.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AllowIgnoreOnError" type="YesNoType">
<xs:annotation>
<xs:documentation>Specifies whether patching this file is vital.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="WholeFile" type="YesNoType">
<xs:annotation>
<xs:documentation>Whether the whole file should be installed, rather than creating a binary patch.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Contains information about the upgraded images of the product.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | Identifier to connect target images with upgraded image. |
|
SourceFile | string | No | Full path to location of msi file for upgraded image. |
|
src | string | No | ||
SourcePatch | string | No | Modified copy of the upgraded installation database that contains additional authoring specific to patching. |
|
srcPatch | string | No |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
1..1 | |||
TargetImage | anyType (restriction) | 1..* | Contains information about the target images of the product. |
0..* | |||
SymbolPath | anyType (restriction) | 1..1 | A path to symbols. |
UpgradeFile | anyType (restriction) | 1..1 | Specifies files to either ignore or to specify optional data about a file. |
<xs:element name="UpgradeImage">
<xs:annotation>
<xs:documentation>Contains information about the upgraded images of the product.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="TargetImage" maxOccurs="unbounded" />
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="SymbolPath" />
<xs:element ref="UpgradeFile" />
</xs:choice>
</xs:sequence>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Identifier to connect target images with upgraded image.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SourceFile" type="xs:string">
<xs:annotation>
<xs:documentation>Full path to location of msi file for upgraded image.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="src" type="xs:string">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="SourceFile" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SourcePatch" type="xs:string">
<xs:annotation>
<xs:documentation>Modified copy of the upgraded installation database that contains additional authoring specific to patching.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="srcPatch" type="xs:string">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="SourcePatch" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Extending string
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Minimum | string | No | Specifies the lower bound on the range of product versions to be detected by FindRelatedProducts. |
|
Maximum | string | No | Specifies the upper boundary of the range of product versions detected by FindRelatedProducts. |
|
Language | string | No | Specifies the set of languages detected by FindRelatedProducts. |
|
RemoveFeatures | string | No | The installer sets the REMOVE property to features specified in this column. |
|
Property | string | Yes | When the FindRelatedProducts action detects a related product installed on the system, it appends the product code to the property specified in this field. |
|
MigrateFeatures | YesNoType | No | Set to "yes" to migrate feature states from upgraded products by enabling the logic in the MigrateFeatureStates action. |
|
OnlyDetect | YesNoType | No | Set to "yes" to detect products and applications but do not uninstall. |
|
IgnoreRemoveFailure | YesNoType | No | Set to "yes" to continue installation upon failure to remove a product or application. |
|
IncludeMinimum | YesNoType | No | Set to "no" to make the range of versions detected exclude the value specified in Minimum. |
|
IncludeMaximum | YesNoType | No | Set to "yes" to make the range of versions detected include the value specified in Maximum. |
|
ExcludeLanguages | YesNoType | No | Set to "yes" to detect all languages, excluding the languages listed in the Language attribute. |
Contains text only.
<xs:element name="UpgradeVersion">
<xs:annotation>
<xs:appinfo>
<xse:msiRef table="Upgrade" href="http://msdn.microsoft.com/library/aa372379.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="Minimum" type="xs:string">
<xs:annotation>
<xs:documentation>Specifies the lower bound on the range of product versions to be detected by FindRelatedProducts.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Maximum" type="xs:string">
<xs:annotation>
<xs:documentation>Specifies the upper boundary of the range of product versions detected by FindRelatedProducts.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Language" type="xs:string">
<xs:annotation>
<xs:documentation>Specifies the set of languages detected by FindRelatedProducts. Enter a list of numeric language identifiers (LANGID) separated by commas (,). Leave this value null to specify all languages. Set ExcludeLanguages to "yes" in order detect all languages, excluding the languages listed in this value.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RemoveFeatures" type="xs:string">
<xs:annotation>
<xs:documentation>The installer sets the REMOVE property to features specified in this column. The features to be removed can be determined at run time. The Formatted string entered in this field must evaluate to a comma-delimited list of feature names. For example: [Feature1],[Feature2],[Feature3]. No features are removed if the field contains formatted text that evaluates to an empty string. The installer sets REMOVE=ALL only if the Remove field is empty.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Property" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>When the FindRelatedProducts action detects a related product installed on the system, it appends the product code to the property specified in this field. Windows Installer documentation for the <a href="http://msdn2.microsoft.com/library/aa372379.aspx" target="_blank" xmlns="http://schemas.microsoft.com/wix/2006/wi">Upgrade table</a> states that the property specified in this field must be a public property and must be added to the <a href="http://msdn2.microsoft.com/library/aa371571.aspx" target="_blank" xmlns="http://schemas.microsoft.com/wix/2006/wi">SecureCustomProperties</a> property. WiX automatically appends the property specified in this field to the SecureCustomProperties property when creating an MSI. Each UpgradeVersion must have a unique Property value. After the FindRelatedProducts action is run, the value of this property is a list product codes, separated by semicolons (;), detected on the system.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MigrateFeatures" type="YesNoType">
<xs:annotation>
<xs:documentation>Set to "yes" to migrate feature states from upgraded products by enabling the logic in the MigrateFeatureStates action.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="OnlyDetect" type="YesNoType">
<xs:annotation>
<xs:documentation>Set to "yes" to detect products and applications but do not uninstall.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreRemoveFailure" type="YesNoType">
<xs:annotation>
<xs:documentation>Set to "yes" to continue installation upon failure to remove a product or application.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IncludeMinimum" type="YesNoType">
<xs:annotation>
<xs:documentation>Set to "no" to make the range of versions detected exclude the value specified in Minimum. This attribute is "yes" by default.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IncludeMaximum" type="YesNoType">
<xs:annotation>
<xs:documentation>Set to "yes" to make the range of versions detected include the value specified in Maximum.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ExcludeLanguages" type="YesNoType">
<xs:annotation>
<xs:documentation>Set to "yes" to detect all languages, excluding the languages listed in the Language attribute.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
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.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
ProductId | YesNoType | No | yes | Requires that the upgrade ProductCode match the target ProductCode. |
ProductLanguage | YesNoType | No | no | Requires that the upgrade ProductLanguage match the target ProductLanguage. |
ProductVersion | NMTOKEN (restriction) | No | Update | Determines how many fields in the ProductVersion to check. |
ProductVersionOperator | NMTOKEN (restriction) | No | Equal | Determines how the target and upgrade ProductVersions are compared. |
UpgradeCode | YesNoType | No | yes | Requires that the upgrade UpgradeCode match the target UpgradeCode. |
IgnoreAddExistingRow | YesNoType | No | yes | Ignore errors when adding existing rows. |
IgnoreAddExistingTable | YesNoType | No | yes | Ignore errors when adding existing tables. |
IgnoreDeleteMissingRow | YesNoType | No | yes | Ignore errors when deleting missing rows. |
IgnoreDeleteMissingTable | YesNoType | No | yes | Ignore errors when deleting missing tables. |
IgnoreUpdateMissingRow | YesNoType | No | yes | Ignore errors when updating missing rows. |
IgnoreChangingCodePage | YesNoType | No | no | Ignore errors when changing the database code page. |
Always empty.
<xs:element name="Validate">
<xs:annotation>
<xs:documentation>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.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="ProductId" type="YesNoType" default="yes">
<xs:annotation>
<xs:documentation>Requires that the upgrade ProductCode match the target ProductCode. The default is 'yes'.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ProductLanguage" type="YesNoType" default="no">
<xs:annotation>
<xs:documentation>Requires that the upgrade ProductLanguage match the target ProductLanguage. The default is 'no'.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ProductVersion" default="Update">
<xs:annotation>
<xs:documentation>Determines how many fields in the ProductVersion to check. The default is 'Update'.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Major">
<xs:annotation>
<xs:documentation>Checks the major version.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Minor">
<xs:annotation>
<xs:documentation>Checks the major and minor versions.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Update">
<xs:annotation>
<xs:documentation>Checks the major, minor, and update versions.</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ProductVersionOperator" default="Equal">
<xs:annotation>
<xs:documentation>Determines how the target and upgrade ProductVersions are compared. The default is 'Equal'.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Lesser">
<xs:annotation>
<xs:documentation>Upgrade ProductVersion < target ProductVersion.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="LesserOrEqual">
<xs:annotation>
<xs:documentation>Upgrade ProductVersion <= target ProductVersion.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Equal">
<xs:annotation>
<xs:documentation>Upgrade ProductVersion = target ProductVersion.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="GreaterOrEqual">
<xs:annotation>
<xs:documentation>Upgrade ProductVersion >= target ProductVersion.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Greater">
<xs:annotation>
<xs:documentation>Upgrade ProductVersion > target ProductVersion.</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="UpgradeCode" type="YesNoType" default="yes">
<xs:annotation>
<xs:documentation>Requires that the upgrade UpgradeCode match the target UpgradeCode. The default is 'yes'.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreAddExistingRow" type="YesNoType" default="yes">
<xs:annotation>
<xs:documentation>Ignore errors when adding existing rows. The default is 'yes'.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreAddExistingTable" type="YesNoType" default="yes">
<xs:annotation>
<xs:documentation>Ignore errors when adding existing tables. The default is 'yes'.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreDeleteMissingRow" type="YesNoType" default="yes">
<xs:annotation>
<xs:documentation>Ignore errors when deleting missing rows. The default is 'yes'.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreDeleteMissingTable" type="YesNoType" default="yes">
<xs:annotation>
<xs:documentation>Ignore errors when deleting missing tables. The default is 'yes'.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreUpdateMissingRow" type="YesNoType" default="yes">
<xs:annotation>
<xs:documentation>Ignore errors when updating missing rows. The default is 'yes'.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreChangingCodePage" type="YesNoType" default="no">
<xs:annotation>
<xs:documentation>Ignore errors when changing the database code page. The default is 'no'.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Sets the ProductID property to the full product identifier.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
This action must be sequenced before the user interface wizard in the InstallUISequence table and before the RegisterUser action in the InstallExecuteSequence table. If the product identifier has already been validated successfully, the ValidateProductID action does nothing. The ValidateProductID action always returns a success, whether or not the product identifier is valid, so that the product identifier can be entered on the command line the first time the product is run. The product identifier can be validated without having the user reenter this information by setting the PIDKEY property on the command line or by using a transform. The display of the dialog box requesting the user to enter the product identifier can then be made conditional upon the presence of the ProductID property, which is set when the PIDKEY property is validated. The condition for this action may be specified in the element's inner text.
<xs:element name="ValidateProductID" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="ValidateProductID" href="http://msdn.microsoft.com/library/aa372475.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Sets the ProductID property to the full product identifier. This action must be sequenced before the user interface wizard in the InstallUISequence table and before the RegisterUser action in the InstallExecuteSequence table. If the product identifier has already been validated successfully, the ValidateProductID action does nothing. The ValidateProductID action always returns a success, whether or not the product identifier is valid, so that the product identifier can be entered on the command line the first time the product is run. The product identifier can be validated without having the user reenter this information by setting the PIDKEY property on the command line or by using a transform. The display of the dialog box requesting the user to enter the product identifier can then be made conditional upon the presence of the ProductID property, which is set when the PIDKEY property is validated. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Verb definition for an Extension.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | The verb for the command. |
|
Command | string | No | The localized text displayed on the context menu. |
|
Argument | string | No | Value for the command arguments. |
|
Sequence | integer | No | The sequence of the commands. |
|
Target | string | No | ||
TargetFile | string | No | Either this attribute or the TargetProperty attribute must be specified for a non-advertised verb. |
|
TargetProperty | string | No | Either this attribute or the TargetFile attribute must be specified for a non-advertised verb. |
Always empty.
When advertised, this element creates a row in the Verb table. When not advertised, this element creates the appropriate rows in Registry table.
<xs:element name="Verb">
<xs:annotation>
<xs:documentation>
Verb definition for an Extension. When advertised, this element creates a row in the
<html:a href="http://msdn.microsoft.com/library/aa372487.aspx" target="_blank" xmlns:html="http://www.w3.org/1999/xhtml">Verb table</html:a>.
When not advertised, this element creates the appropriate rows in <html:a href="http://msdn.microsoft.com/library/aa371168.aspx" target="_blank" xmlns:html="http://www.w3.org/1999/xhtml">Registry table</html:a>.
</xs:documentation>
<xs:appinfo>
<xse:msiRef table="Verb" href="http://msdn.microsoft.com/library/aa372487.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
<xse:msiRef table="Registry" href="http://msdn.microsoft.com/library/aa371168.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The verb for the command.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Command" type="xs:string">
<xs:annotation>
<xs:documentation>The localized text displayed on the context menu.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Argument" type="xs:string">
<xs:annotation>
<xs:documentation>Value for the command arguments. Note that the resolution of properties in the
Argument field is limited. A property formatted as [Property] in this field can only be resolved if the property
already has the intended value when the component owning the verb is installed. For example, for the argument
"[#MyDoc.doc]" to resolve to the correct value, the same process must be installing the file MyDoc.doc and the
component that owns the verb.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Sequence" type="xs:integer">
<xs:annotation>
<xs:documentation>The sequence of the commands. Only verbs for which the Sequence is specified
are used to prepare an ordered list for the default value of the shell key. The Verb with the lowest value in this
column becomes the default verb. Used only for Advertised verbs.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Target" type="xs:string">
<xs:annotation>
<xs:appinfo>
<xse:deprecated ref="TargetFile" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="TargetFile" type="xs:string">
<xs:annotation>
<xs:documentation>
Either this attribute or the TargetProperty attribute must be specified for a non-advertised verb.
The value should be the identifier of the target file to be executed for the verb.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="TargetProperty" type="xs:string">
<xs:annotation>
<xs:documentation>
Either this attribute or the TargetFile attribute must be specified for a non-advertised verb.
The value should be the identifier of the property which will resolve to the path to the target file to be executed for the verb.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
This is the top-level container element for every wxs file.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
RequiredVersion | VersionType | No | Required version of the WiX toolset to compile this input file. |
Contains elements as defined in the following table.
Component | Type | Occurs | Description |
---|---|---|---|
0..1 | |||
PatchCreation | anyType (restriction) | 1..1 | The PatchCreation element is analogous to the main function in a C program. |
1..1 | |||
0..1 | |||
Module | anyType (restriction) | 1..1 | The Module element is analogous to the main function in a C program. |
Patch | anyType (restriction) | 1..1 | The Patch element is analogous to the main function in a C program. |
Product | anyType (restriction) | 1..1 | The Product element is analogous to the main function in a C program. |
Fragment | anyType (restriction) | 0..* | The Fragment element is the building block of creating an installer database in WiX. |
Among the possible children, the Product, Module, Patch, and PatchCreation elements are analogous to the main function in a C program. There can only be one of these present when linking occurs. Product compiles into an msi file, Module compiles into an msm file, PatchCreation compiles into a pcp file. The Fragment element is an atomic unit which ultimately links into either a Product, Module, or PatchCreation. The Fragment can either be completely included or excluded during linking.
<xs:element name="Wix">
<xs:annotation>
<xs:documentation>
This is the top-level container element for every wxs file. Among the possible children,
the Product, Module, Patch, and PatchCreation elements are analogous to the main function in a C program.
There can only be one of these present when linking occurs. Product compiles into an msi file,
Module compiles into an msm file, PatchCreation compiles into a pcp file. The Fragment element
is an atomic unit which ultimately links into either a Product, Module, or PatchCreation. The
Fragment can either be completely included or excluded during linking.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0">
<xs:sequence>
<xs:choice minOccurs="0">
<xs:element ref="Product" />
<xs:element ref="Module" />
<xs:element ref="Patch" />
</xs:choice>
<xs:element ref="Fragment" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:element ref="PatchCreation" />
</xs:choice>
<xs:attribute name="RequiredVersion" type="VersionType">
<xs:annotation>
<xs:documentation>Required version of the WiX toolset to compile this input file.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation>
<xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional attributes at this point in the schema.
</xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>
This element exposes advanced WiX functionality.
Restricting anyType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Id | string | Yes | The name of the variable. |
|
Overridable | YesNoType | No | Set this value to 'yes' in order to make the variable's value overridable either by another WixVariable entry or via the command-line option -d<name>=<value> for light.exe. |
|
Value | string | Yes | The value of the variable. |
Always empty.
Use this element to declare WiX variables from directly within your authoring. WiX variables are not resolved until the final msi/msm/pcp
file is actually generated. WiX variables do not persist into the msi/msm/pcp file, so they cannot be used when an MSI file is being installed; its a WiX-only concept.
<xs:element name="WixVariable">
<xs:annotation>
<xs:documentation>
This element exposes advanced WiX functionality. Use this element to declare WiX variables
from directly within your authoring. WiX variables are not resolved until the final msi/msm/pcp
file is actually generated. WiX variables do not persist into the msi/msm/pcp file, so they cannot
be used when an MSI file is being installed; its a WiX-only concept.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The name of the variable.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Overridable" type="YesNoType">
<xs:annotation>
<xs:documentation>
Set this value to 'yes' in order to make the variable's value overridable either by
another WixVariable entry or via the command-line option -d<name>=<value>
for light.exe. If the same variable is declared overridable in multiple places it
will cause an error (since WiX won't know which value is correct). The default value
is 'no'.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Value" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>
The value of the variable. The value cannot be an empty string because that would
make it possible to accidentally set a column to null.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Modifies the values of environment variables.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="WriteEnvironmentStrings" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="WriteEnvironmentStrings" href="http://msdn.microsoft.com/library/aa372883.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Modifies the values of environment variables. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Writes the .ini file information that the application needs written to its .ini files.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="WriteIniValues" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="WriteIniValues" href="http://msdn.microsoft.com/library/aa372884.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Writes the .ini file information that the application needs written to its .ini files. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Sets up an application's registry information.
Type ActionSequenceType
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
Contains text only.
The condition for this action may be specified in the element's inner text.
<xs:element name="WriteRegistryValues" type="ActionSequenceType">
<xs:annotation>
<xs:appinfo>
<xse:msiRef action="WriteRegistryValues" href="http://msdn.microsoft.com/library/aa372891.aspx" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" />
</xs:appinfo>
<xs:documentation>Sets up an application's registry information. The condition for this action may be specified in the element's inner text.</xs:documentation>
</xs:annotation>
</xs:element>
Name | Description |
---|---|
Absent [element Feature] | This attribute determines if a user will have the option to set a feature to absent in the user interface. |
Account [element ServiceInstall] | The acount under which to start the service. Valid only when ServiceType is ownProcess. |
Action [element Condition] | Used only under Control elements and is required. Allows specific actions to be applied to a control based on the result of this condition. |
Action [element Custom] | The action to which the Custom element applies. |
Action [element Environment] | Specfies whether the environmental variable should be created, set or removed when the parent component is installed. |
Action [element IniFile] | The type of modification to be made. |
Action [element ProgressText] | |
Action [element Registry] | This is the action that will be taken for this registry key. |
Action [element RegistryKey] | This is the action that will be taken for this registry value. |
Action [element RegistryValue] | This is the action that will be taken for this registry value. |
Action [element RemoveRegistryKey] | This is the action that will be taken for this registry value. |
ActivateAtStorage [element AppId] | Set this value to 'yes' to configure the client to activate on the same system as persistent storage. |
Admin [element Property] | Denotes that the Property is saved during |
AdminImage [element Package] | Set to 'yes' if the source is an admin image. |
AdminImage [element PatchInformation] | Source is an admin image |
Advertise [element AppId] | 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). |
Advertise [element Class] | 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). |
Advertise [element Extension] | Whether this extension is to be advertised. The default is "no". |
Advertise [element MIME] | Whether this MIME is to be advertised. |
Advertise [element ProgId] | |
Advertise [element Shortcut] | Specifies if the shortcut should be advertised or not. |
Advertise [element TypeLib] | Value of 'yes' will create a row in the TypeLib table. Value of 'no' will create rows in the Registry table. |
After [element Custom] | The name of the standard or custom action after which this action should be performed. |
After [element SetProperty] | The name of the standard or custom action after which this action should be performed. |
After [element Show] | |
After [type ActionModuleSequenceType] | The name of an action that this action should come after. |
AllowAdvertise [element Feature] | This attribute determins the possible advertise states for this feature. |
AllowIgnoreOnError [element UpgradeFile] | Specifies whether patching this file is vital. |
AllowMajorVersionMismatches [element PatchCreation] | Use this to set whether the major versions between the upgrade and target images match. |
AllowProductCodeMismatches [element PatchCreation] | Use this to set whether the product code between the upgrade and target images match. |
AllowRemoval [element Patch] | Whether this is an uninstallable patch. |
AllowRemoval [element PatchMetadata] | Whether this is an uninstallable patch. |
ApiPatchingSymbolNoFailuresFlag [element Patch] | Flag used when creating a binary file patch. |
ApiPatchingSymbolNoImagehlpFlag [element Patch] | Flag used when creating a binary file patch. |
ApiPatchingSymbolUndecoratedTooFlag [element Patch] | Flag used when creating a binary file patch. |
AppData [element Category] | An optional localizable text describing the category. |
Append [element Permission] | |
AppId [element Class] | This attribute is only allowed when a Class is advertised. |
Argument [element Class] | This column is optional only when the Context column is set to "LocalServer" or "LocalServer32" server context. |
Argument [element Verb] | Value for the command arguments. |
Arguments [element ServiceInstall] | Contains any command line arguments or properties required to run the service. |
Arguments [element Shortcut] | The command-line arguments for the shortcut. |
Assembly [element File] | Specifies if this File is a Win32 Assembly or .NET Assembly that needs to be installed into the Global Assembly Cache. |
AssemblyApplication [element File] | Specifies the file identifier of the application file. |
AssemblyManifest [element File] | Specifies the file identifier of the manifest file that describes this assembly. |
AssignToProperty [element DirectorySearch] | Set the result of this search to the value of the outer Property. |
AssignToProperty [element DirectorySearchRef] | Set the result of this search to the value of the outer Property. |
Attribute [element Subscribe] | if not present can only handle enable, disable, hide, unhide events |
Before [element Custom] | The name of the standard or custom action before which this action should be performed. Mutually exclusive with OnExit, After, and Sequence attributes |
Before [element SetProperty] | The name of the standard or custom action before which this action should be performed. |
Before [element Show] | |
Before [type ActionModuleSequenceType] | The name of an action that this action should come before. |
BinaryKey [element CustomAction] | This attribute is a reference to a Binary element with matching Id attribute. |
BinarySource [element EmbeddedChainer] | Reference to the Binary element that contains the chainer executeable. |
BindPath [element File] | A list of paths, separated by semicolons, that represent the paths to be searched to find the imported DLLs. |
Bitmap [element Control] | This attribute is only valid for RadioButton and PushButton Controls. |
Bitmap [element RadioButton] | This attribute defines the bitmap displayed with the radio button. |
Blue [element TextStyle] | 0 to 255 |
Bold [element TextStyle] | |
Cabinet [element Media] | The name of the cabinet if some or all of the files stored on the media are in a cabinet file. |
Cancel [element Control] | Set this attribute to "yes" to cause this Control to be invoked by the escape key. |
Category [element Column] | Category of this column. |
CDROM [element Control] | This attribute is only valid for Volume and Directory Controls. |
ChangePermission [element Permission] | |
CheckBoxValue [element Control] | This attribute is only valid for CheckBox Controls. |
Checksum [element File] | 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. |
Class [element MIME] | Class ID for the COM server that is to be associated with the MIME content. |
Classification [element Patch] | Category of updates. |
Classification [element PatchMetadata] | Category of update. |
CleanWorkingFolder [element PatchCreation] | Use this to set whether Patchwiz should clean the temp folder when finished. |
ClientPatchId [element Patch] | An easily referenced identity unique to a patch that can be used in product authoring. |
Codepage [element Module] | The code page integer value or web name for the resulting MSM. |
Codepage [element Patch] | The code page integer value or web name for the resulting MSP. |
Codepage [element PatchCreation] | The code page integer value or web name for the resulting PCP. |
Codepage [element Product] | The code page integer value or web name for the resulting MSI. See remarks for more information. |
Column [element Data] | Specifies in which column to insert this data. |
Column [element Substitution] | Specifies the target column in the row named in the Row column. |
ComboList [element Control] | This attribute is only valid for ComboBox Controls. |
Command [element Verb] | The localized text displayed on the context menu. |
CommandLine [element EmbeddedChainer] | Value to append to the transaction handle and passed to the chainer executable. |
Comments [element Package] | Optional comments for browsing. |
Comments [element PatchInformation] | Optional comments for browsing |
CompanionFile [element File] | Set this attribute to make this file a companion child of another file. |
Company [element CustomProperty] | The name of the company. |
Company [element PatchProperty] | Name of the company for a custom metadata property. |
ComplianceCheck [element Property] | Adds a row to the CCPSearch table. This attribute is only valid when this Property contains a search element. |
ComPlusFlags [element Component] | Set this attribute to create a ComPlus entry. |
ComponentGuidGenerationSeed [element Directory] | 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). |
Compressed [element File] | Sets the file's source type compression. |
Compressed [element Package] | Set to 'yes' to have compressed files in the source. |
Compressed [element PatchInformation] | Compressed files on source |
CompressionLevel [element Media] | Indicates the compression level for the Media's cabinet. |
ConfigurableDirectory [element Feature] | Specify the Id of a Directory that can be configured by the user at installation time. |
ContentType [element Extension] | The MIME type that is to be written. |
ContentType [element MIME] | This is the identifier for the MIME content. |
Context [element Class] | The server context(s) for this server. |
ContextData [element Configuration] | Specifies a semantic context for the requested data. |
Control [element Class] | Set this attribute's value to 'yes' to identify an object as an ActiveX Control. |
Control [element Publish] | The parent Control for this Publish element, should only be specified when this element is a child of the UI element. |
Control [element TypeLib] | Value of 'yes' means the type library describes controls, and should not be displayed in type browsers intended for nonvisual objects. |
Cost [element TypeLib] | The cost associated with the registration of the type library in bytes. |
CreateChild [element Permission] | For a directory, the right to create a subdirectory. |
CreateFile [element Permission] | For a directory, the right to create a file in the directory. |
CreateLink [element Permission] | |
CreateSubkeys [element Permission] | |
CreationTimeUTC [element PatchMetadata] | Creation time of the .msp file in the form mm-dd-yy HH:MM (month-day-year hour:minute). |
CustomPalette [element Dialog] | Used to specify if pictures in the dialog box are rendered with a custom palette. |
Default [element Control] | Set this attribute to "yes" to cause this Control to be invoked by the return key. |
Default [element MIME] | If 'yes', become the content type for the parent Extension. |
DefaultLanguage [element File] | This is the default language of this file. |
DefaultSize [element File] | This is the default size of this file. |
DefaultValue [element Configuration] | Specifies a default value for the item in this record if the merge tool declines to provide a value. |
DefaultVersion [element File] | This is the default version of this file. |
Delete [element CopyFile] | This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified. |
Delete [element Permission] | |
DeleteChild [element Permission] | For a directory, the right to delete a directory and all the files it contains, including read-only files. |
Dependency [element SFPCatalog] | Used to define dependency outside of the package. |
Depth [element DirectorySearch] | Depth below the path that the installer searches for the file or directory specified by the search. |
Description [element AppId] | Set this value to the description of the AppId. |
Description [element Class] | Localized description associated with the Class ID and Program ID. |
Description [element Column] | Description of this column. |
Description [element Configuration] | Description for authoring. |
Description [element Feature] | Longer string of text describing the feature. |
Description [element Package] | The product full name or description. |
Description [element Patch] | Description of the patch. |
Description [element PatchInformation] | Product full name or description |
Description [element PatchMetadata] | Description of the patch. |
Description [element ProgId] | |
Description [element ServiceInstall] | Sets the description of the service. |
Description [element Shortcut] | The localizable description for the shortcut. |
Description [element TypeLib] | The localizable description of the type library. |
DescriptionResourceDll [element Shortcut] | The Formatted string providing the full path to the language neutral file containing the MUI Manifest. |
DescriptionResourceId [element Shortcut] | The description name index for the shortcut. |
DestinationDirectory [element CopyFile] | Set this value to the destination directory where an existing file on the target machine should be moved or copied to. |
DestinationLongName [element CopyFile] | |
DestinationName [element CopyFile] | In prior versions of the WiX toolset, this attribute specified the short file name. |
DestinationProperty [element CopyFile] | Set this value to a property that will have a value that resolves to the full path of the destination directory. |
DestinationShortName [element CopyFile] | The short file name of the file in 8.3 format. |
Dialog [element Publish] | The parent Dialog for this Publish element, should only be specified when this element is a child of the UI element. |
Dialog [element Show] | |
Directory [element Component] | Sets the Directory of the Component. |
Directory [element CreateFolder] | Identifier of Directory to create. |
Directory [element CustomAction] | This attribute specifies a reference to a Directory element with matching Id attribute containing a directory path. |
Directory [element IniFile] | Name of a property, the value of which is the full path of the folder containing the .ini file. |
Directory [element RemoveFile] | Overrides the directory of the parent component with a specific Directory. |
Directory [element RemoveFolder] | Overrides the directory of the parent component with a specific Directory. |
Directory [element ReserveCost] | Adds the amount of disk space specified in RunFromSource or RunLocal to the volume cost of the device containing the directory. |
Directory [element Shortcut] | Identifier reference to Directory element where shortcut is to be created. |
Disabled [element Control] | Set this attribute to "yes" to cause the Control to be disabled. |
DisableRegistryReflection [element Component] | Set this attribute to 'yes' in order to disable registry reflection on all existing and new registry keys affected by this component. |
DiskId [element Component] | This attribute must be set either on a Component element or all of its children File elements. |
DiskId [element Directory] | Sets the default disk identifier for the files contained in this directory. |
DiskId [element DirectoryRef] | Sets the default disk identifier for the files contained in this directory. |
DiskId [element Family] | Entered into the DiskId field of the new Media table record. |
DiskId [element File] | Specifies the Media this File should be sourced on. |
DiskId [element Merge] | The value of this attribute should correspond to the Id attribute of a Media element authored elsewhere. |
DiskPrompt [element Family] | Value to display in the "[1]" of the DiskPrompt Property. |
DiskPrompt [element Media] | The disk name, which is usually the visible text printed on the disk. |
Display [element Feature] | Determines the initial display of this feature in the feature tree. |
DisplayName [element Configuration] | Display name for authoring. |
DisplayName [element Patch] | A title for the patch that is suitable for public display. |
DisplayName [element PatchMetadata] | A title for the patch that is suitable for public display. |
DisplayName [element ServiceInstall] | This column is the localizable string that user interface programs use to identify the service. |
DisplayResourceDll [element Shortcut] | The Formatted string providing the full path to the language neutral file containing the MUI Manifest. |
DisplayResourceId [element Shortcut] | The display name index for the shortcut. |
DllEntry [element CustomAction] | This attribute specifies the name of a function in a custom action to execute. |
DllSurrogate [element AppId] | 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. |
Domain [element Permission] | |
DriverName [element ODBCDataSource] | Required if not found as child of ODBCDriver element |
ElevationShield [element Control] | This attribute is only valid for PushButton controls. |
EmbedCab [element Media] | Instructs the binder to embed the cabinet in the product if 'yes'. |
EnumerateSubkeys [element Permission] | |
EraseDescription [element ServiceInstall] | Determines whether the existing service description will be ignored. |
Error [element CustomAction] | 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. |
ErrorControl [element ServiceInstall] | Determines what action should be taken on an error. |
ErrorDialog [element Dialog] | Specifies this dialog as an error dialog. |
Event [element Publish] | Set this attribute's value to one of the standard control events to trigger that event. |
Event [element Subscribe] | must be one of the standard control events' |
ExcludedId [element Exclusion] | Identifier of the merge module that is incompatible. |
ExcludedMaxVersion [element Exclusion] | Maximum version excluded from a range. |
ExcludedMinVersion [element Exclusion] | Minimum version excluded from a range. |
ExcludeExceptLanguage [element Exclusion] | Numeric language ID of the merge module in ExcludedID. |
ExcludeLanguage [element Exclusion] | Numeric language ID of the merge module in ExcludedID. |
ExcludeLanguages [element UpgradeVersion] | Set to "yes" to detect all languages, excluding the languages listed in the Language attribute. |
ExeCommand [element CustomAction] | This attribute specifies the command line parameters to supply to an externally run executable. |
Execute [element CustomAction] | This attribute indicates the scheduling of the custom action. |
Execute [element Permission] | |
FaceName [element TextStyle] | |
Feature [element Billboard] | Feature whose state determines if the Billboard is shown. |
Feature [element Category] | Feature that controls the advertisement of the category. |
Feature [element Component] | Identifies a feature to which this component belongs, as a shorthand for a child ComponentRef element of the Feature element. |
Field [element IniFileSearch] | The field in the .ini line. If field is Null or 0, the entire line is read. |
File [element ExternalFile] | Foreign key into the File table. |
File [element ODBCDriver] | Required if not found as child of File element |
File [element ODBCTranslator] | Required if not found as child of File element |
File [element ProtectFile] | Foreign key into the File table. |
File [element UpgradeFile] | Foreign key into the File table. |
FileCompression [element Merge] | Specifies if the files in the merge module should be compressed. |
FileId [element CopyFile] | This attribute cannot be specified if the element is nested under a File element. |
FileKey [element CustomAction] | 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. |
FileSource [element Directory] | Used to set the file system source for this directory's child elements. |
FileSource [element DirectoryRef] | Used to set the file system source for this directory ref's child elements. |
FileSource [element EmbeddedChainer] | Reference to the File element that is the chainer executeable. |
Fixed [element Control] | This attribute is only valid for Volume and Directory Controls. |
FixedSize [element Control] | This attribute is only valid for RadioButton, PushButton, and Icon Controls. |
Floppy [element Control] | This attribute is only valid for Volume and Directory Controls. |
FontTitle [element File] | Causes an entry to be generated for the file in the Font table with the specified FontTitle. |
Format [element Configuration] | Specifies the format of the data being changed. |
FormatSize [element Control] | This attribute is only valid for Text Controls. |
GenericAll [element Permission] | |
GenericExecute [element Permission] | |
GenericRead [element Permission] | specifying this will fail to grant read access |
GenericWrite [element Permission] | |
Green [element TextStyle] | 0 to 255 |
Group [element ServiceDependency] | Set to 'yes' to indicate that the value in the Id attribute is the name of a group of services. |
Guid [element Component] | This value should be a guid that uniquely identifies this component's contents, language, platform, and version. |
Guid [element ComponentSearch] | The component ID of the component whose key path is to be used for the search. |
Guid [element Module] | This attribute is deprecated. Use the Package/@Id instead. |
Handler [element Class] | The default inproc handler. |
HasBorder [element Control] | This attribute is only valid for RadioButton Controls. |
HasDiskImage [element TypeLib] | Value of 'yes' means the type library exists in a persisted form on disk. |
Height [element Control] | Height of the rectangular boundary of the control. |
Height [element Dialog] | The height of the dialog box in dialog units. |
Height [element RadioButton] | |
Help [element Control] | This attribute is reserved for future use. |
Help [element RadioButton] | |
HelpDirectory [element TypeLib] | The identifier of the Directory element for the help directory. |
HelpKeyword [element Configuration] | Keyword into chm file for authoring. |
HelpLocation [element Configuration] | Location of chm file for authoring. |
Hidden [element Control] | Set this attribute to "yes" to cause the Control to be hidden. |
Hidden [element Dialog] | Used to hide the dialog. |
Hidden [element File] | Set to yes in order to have the file's hidden attribute set when it is installed on the target machine. |
Hidden [element Property] | Denotes that the Property is not logged during installation. |
Hidden [element TypeLib] | Value of 'yes' means the type library should not be displayed to users, although its use is not restricted. |
HideTarget [element CustomAction] | Ensures the installer does not log the CustomActionData for the deferred custom action. |
Hotkey [element Shortcut] | The hotkey for the shortcut. |
Icon [element Class] | The file providing the icon associated with this CLSID. |
Icon [element Control] | This attribute is only valid for RadioButton and PushButton Controls. |
Icon [element ListItem] | The identifier of the Binary (not Icon) element containing the icon to associate with this item. |
Icon [element ProgId] | For an advertised ProgId, the Id of an Icon element. |
Icon [element RadioButton] | This attribute defines the icon displayed with the radio button. |
Icon [element Shortcut] | Identifier reference to Icon element. |
IconIndex [element Class] | Icon index into the icon file. |
IconIndex [element ProgId] | |
IconIndex [element Shortcut] | Identifier reference to Icon element. |
IconSize [element Control] | This attribute is only valid for RadioButton, PushButton, and Icon Controls. |
Id [element AppId] | Set this value to the AppID GUID that corresponds to the named executable. |
Id [element AssemblyName] | Name of the attribute associated with the value specified in the Value column. |
Id [element Billboard] | Unique identifier for the Billboard. |
Id [element BillboardAction] | Action name that determines when the Billboard should be shown. |
Id [element Binary] | The Id cannot by longer than 55 characters. |
Id [element BinaryRef] | The identifier of the Binary element to reference. |
Id [element Category] | A string GUID that represents the category of components being grouped together. |
Id [element Class] | The Class identifier (CLSID) of a COM server. |
Id [element Column] | Identifier for the column. |
Id [element Component] | Component identifier; this is the primary key for identifying components. |
Id [element ComponentGroup] | Identifier for the ComponentGroup. |
Id [element ComponentGroupRef] | The identifier of the ComponentGroup to reference. |
Id [element ComponentRef] | The identifier of the Component element to reference. |
Id [element ComponentSearch] | |
Id [element Control] | Combined with the Dialog Id to make up the primary key of the Control table. |
Id [element CopyFile] | Primary key used to identify this particular entry. |
Id [element CustomAction] | The identifier of the custom action. |
Id [element CustomActionRef] | The identifier of the CustomAction to reference. |
Id [element CustomTable] | Identifier for the custom table. |
Id [element Dialog] | Unique identifier for the dialog. |
Id [element DialogRef] | The identifier of the Dialog to reference. |
Id [element DigitalCertificate] | Identifier for a certificate file. |
Id [element Directory] | This value is the unique identifier of the directory entry. |
Id [element DirectoryRef] | The identifier of the Directory element to reference. |
Id [element DirectorySearch] | Unique identifier for the directory search. |
Id [element DirectorySearchRef] | Id of the search being referred to. |
Id [element EmbeddedChainer] | Unique identifier for embedded chainer. |
Id [element EmbeddedChainerRef] | |
Id [element EmbeddedUI] | Unique identifier for embedded UI. |
Id [element EmbeddedUIResource] | Identifier for the embedded UI resource. |
Id [element EnsureTable] | The name of the table. |
Id [element Environment] | Unique identifier for environment entry. |
Id [element Error] | Number of the error for which a message is being provided. |
Id [element Extension] | This is simply the file extension, like "doc" or "xml". Do not include the preceding period. |
Id [element Feature] | Unique identifier of the feature. |
Id [element FeatureGroup] | Identifier for the FeatureGroup. |
Id [element FeatureGroupRef] | The identifier of the FeatureGroup to reference. |
Id [element FeatureRef] | The identifier of the Feature element to reference. |
Id [element File] | The unique identifier for this File element. |
Id [element FileSearch] | Unique identifier for the file search and external key into the Signature table. |
Id [element FileSearchRef] | Specify the Id to the FileSearch to reference. |
Id [element Fragment] | Optional identifier for a Fragment. |
Id [element Icon] | The Id cannot by longer than 55 characters. |
Id [element IconRef] | The identifier of the Icon element to reference. |
Id [element IgnoreTable] | The name of the table in the merge module that is not to be merged into the .msi file. |
Id [element IniFile] | Identifier for ini file. |
Id [element IniFileSearch] | External key into the Signature table. |
Id [element Instance] | The identity of the instance transform. |
Id [element Interface] | GUID identifier for COM Interface. |
Id [element Media] | Disk identifier for Media table. |
Id [element Merge] | The unique identifier for the Merge element in the source code. |
Id [element MergeRef] | The unique identifier for the Merge element to be referenced. |
Id [element Module] | The name of the merge module (not the file name). |
Id [element ODBCDataSource] | Identifier of the data source. |
Id [element ODBCDriver] | Identifier for the driver. |
Id [element ODBCTranslator] | Identifier for the translator. |
Id [element Package] | The package code GUID for a product or merge module. |
Id [element Patch] | Patch code for this patch. |
Id [element PatchBaseline] | Identifier for a set of product versions. |
Id [element PatchCreation] | PatchCreation identifier; this is the primary key for identifying patches. |
Id [element PatchFamily] | Identifier which indicates a sequence family to which this patch belongs. |
Id [element PatchFamilyRef] | The identifier of the CustomAction to reference. |
Id [element Product] | The product code GUID for the product. |
Id [element ProgId] | |
Id [element Property] | Unique identifier for Property. |
Id [element PropertyRef] | Identifier of Property to reference. |
Id [element Registry] | Primary key used to identify this particular entry. |
Id [element RegistryKey] | Primary key used to identify this particular entry. |
Id [element RegistrySearch] | Signature to be used for the file, directory or registry key being searched for. |
Id [element RegistrySearchRef] | Specify the Id of the RegistrySearch to reference. |
Id [element RegistryValue] | Primary key used to identify this particular entry. |
Id [element RemoveFile] | Primary key used to identify this particular entry. |
Id [element RemoveFolder] | Primary key used to identify this particular entry. |
Id [element RemoveRegistryKey] | Primary key used to identify this particular entry. |
Id [element RemoveRegistryValue] | Primary key used to identify this particular entry. |
Id [element ReplacePatch] | Patch GUID to be unregistered if it exists on the machine targeted by this patch. |
Id [element ReserveCost] | A primary key that uniquely identifies this ReserveCost entry. |
Id [element ServiceControl] | |
Id [element ServiceDependency] | |
Id [element ServiceInstall] | Unique identifier for this service. |
Id [element SetDirectory] | This attribute specifies a reference to a Directory element with matching Id attribute. |
Id [element SetProperty] | This attribute specifies the Property to set to the Value. |
Id [element SFPFile] | Primary Key to File Table. |
Id [element Shortcut] | Unique identifier for the shortcut. |
Id [element TargetFile] | Foreign key into the File table. |
Id [element TargetImage] | Identifier for the target image. |
Id [element TargetProductCode] | The product code for a product that can receive this patch (or '*' for all products). |
Id [element TextStyle] | |
Id [element TypeLib] | The GUID that identifes the type library. |
Id [element UI] | |
Id [element UIRef] | |
Id [element UIText] | |
Id [element Upgrade] | This value specifies the upgrade code for the products that are to be detected by the FindRelatedProducts action. |
Id [element UpgradeImage] | Identifier to connect target images with upgraded image. |
Id [element Verb] | The verb for the command. |
Id [element WixVariable] | The name of the variable. |
Ignore [element UpgradeFile] | If yes, the file is ignored during patching, and the next two attributes are ignored. |
IgnoreActionData [element EmbeddedUI] | Embedded UI will not recieve any INSTALLLOGMODE_ACTIONDATA messages. |
IgnoreActionStart [element EmbeddedUI] | Embedded UI will not recieve any INSTALLLOGMODE_ACTIONSTART messages. |
IgnoreAddExistingRow [element Validate] | Ignore errors when adding existing rows. |
IgnoreAddExistingTable [element Validate] | Ignore errors when adding existing tables. |
IgnoreChangingCodePage [element Validate] | Ignore errors when changing the database code page. |
IgnoreCommonData [element EmbeddedUI] | Embedded UI will not recieve any INSTALLLOGMODE_COMMONDATA messages. |
IgnoreDeleteMissingRow [element Validate] | Ignore errors when deleting missing rows. |
IgnoreDeleteMissingTable [element Validate] | Ignore errors when deleting missing tables. |
IgnoreError [element EmbeddedUI] | Embedded UI will not recieve any INSTALLLOGMODE_ERROR messages. |
IgnoreFatalExit [element EmbeddedUI] | Embedded UI will not recieve any INSTALLLOGMODE_FATALEXIT messages. |
IgnoreFilesInUse [element EmbeddedUI] | Embedded UI will not recieve any INSTALLLOGMODE_FILESINUSE messages. |
IgnoreInfo [element EmbeddedUI] | Embedded UI will not recieve any INSTALLLOGMODE_INFO messages. |
IgnoreInitialize [element EmbeddedUI] | Embedded UI will not recieve any INSTALLLOGMODE_INITIALIZE messages. |
IgnoreMissingFiles [element TargetImage] | Files missing from the target image are ignored by the installer. |
IgnoreOutOfDiskSpace [element EmbeddedUI] | Embedded UI will not recieve any INSTALLLOGMODE_OUTOFDISKSPACE messages. |
IgnoreParent [element FeatureGroupRef] | Normally feature group references that end up nested under a parent element create a connection to that parent. |
IgnoreParent [element FeatureRef] | Normally feature references that are nested under a parent element create a connection to that parent. |
IgnoreProgress [element EmbeddedUI] | Embedded UI will not recieve any INSTALLLOGMODE_PROGRESS messages. |
IgnoreRemoveFailure [element UpgradeVersion] | Set to "yes" to continue installation upon failure to remove a product or application. |
IgnoreResolveSource [element EmbeddedUI] | Embedded UI will not recieve any INSTALLLOGMODE_RESOLVESOURCE messages. |
IgnoreRMFilesInUse [element EmbeddedUI] | Embedded UI will not recieve any INSTALLLOGMODE_RMFILESINUSE messages. |
IgnoreShowDialog [element EmbeddedUI] | Embedded UI will not recieve any INSTALLLOGMODE_SHOWDIALOG messages. |
IgnoreTerminate [element EmbeddedUI] | Embedded UI will not recieve any INSTALLLOGMODE_TERMINATE messages. |
IgnoreUpdateMissingRow [element Validate] | Ignore errors when updating missing rows. |
IgnoreUser [element EmbeddedUI] | Embedded UI will not recieve any INSTALLLOGMODE_USER messages. |
IgnoreWarning [element EmbeddedUI] | Embedded UI will not recieve any INSTALLLOGMODE_WARNING messages. |
Image [element Control] | This attribute is only valid for RadioButton, PushButton, and Icon Controls. |
Impersonate [element CustomAction] | 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. |
IncludeMaximum [element UpgradeVersion] | Set to "yes" to make the range of versions detected include the value specified in Maximum. |
IncludeMinimum [element UpgradeVersion] | Set to "no" to make the range of versions detected exclude the value specified in Minimum. |
Indirect [element Control] | Specifies whether the value displayed or changed by this control is referenced indirectly. |
Insertable [element Class] | Specifies the CLISD may be insertable. |
InstallDefault [element Feature] | This attribute determines the default install/run location of a feature. |
InstallerVersion [element Package] | The minimum version of the Windows Installer required to install this package. |
InstallPrivileges [element Package] | Use this attribute to specify the priviliges required to install the package on Windows Vista and above. |
InstallScope [element Package] | Use this attribute to specify the installation scope of this package: per-machine or per-user. |
Integer [element Control] | 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. |
Interactive [element ServiceInstall] | Whether or not the service interacts with the desktop. |
Italic [element TextStyle] | |
JScriptCall [element CustomAction] | This attribute specifies the name of the JScript function to execute in a script. |
KeepModeless [element Dialog] | Keep modeless dialogs alive when this dialog is created through DoAction. |
Key [element IniFile] | The localizable .ini file key within the section. |
Key [element IniFileSearch] | The key value within the section. |
Key [element Registry] | The localizable key for the registry value. |
Key [element RegistryKey] | The localizable key for the registry value. |
Key [element RegistrySearch] | Key for the registry value. |
Key [element RegistryValue] | The localizable key for the registry value. |
Key [element RemoveRegistryKey] | The localizable key for the registry value. |
Key [element RemoveRegistryValue] | The localizable key for the registry value. |
KeyColumn [element Column] | Column in the table in KeyTable attribute. |
KeyNoOrphan [element Configuration] | Does not merge rule according to rules in MSI SDK. |
KeyPath [element Component] | If this attribute's value is set to 'yes', then the Directory of this Component is used as the KeyPath. |
KeyPath [element File] | Set to yes in order to force this file to be the key path for the parent component. |
KeyPath [element ODBCDataSource] | Set 'yes' to force this file to be key path for parent Component |
KeyPath [element Registry] | Set this attribute to 'yes' to make this registry key the KeyPath of the parent component. |
KeyPath [element RegistryValue] | Set this attribute to 'yes' to make this registry key the KeyPath of the parent component. |
KeyTable [element Column] | Table in which this column is an external key. |
Keywords [element Package] | Optional keywords for browsing. |
Keywords [element PatchInformation] | Optional keywords for browsing |
Language [element Merge] | Specifies the decimal LCID or localization token for the language to merge the Module in as. |
Language [element Module] | The decimal language ID (LCID) of the merge module. |
Language [element Product] | The decimal language ID (LCID) for the product. |
Language [element TypeLib] | The language of the type library. |
Language [element UpgradeVersion] | Specifies the set of languages detected by FindRelatedProducts. |
Languages [element FileSearch] | The languages supported by the file. |
Languages [element Package] | The list of language IDs (LCIDs) supported in the package. |
Languages [element PatchInformation] | List of language IDs supported in package |
Layout [element Media] | This attribute specifies the root directory for the uncompressed files that are a part of this Media element. |
LeftScroll [element Control] | Set this attribute to "yes" to cause the scroll bar to display on the left side of the Control. |
LeftScroll [element Dialog] | Used to align the scroll bar on the left. |
Length [element IgnoreRange] | Length of the range. |
Length [element ProtectRange] | Length of the range. |
Level [element Condition] | Used only under Feature elements and is required. |
Level [element Feature] | Sets the install level of this feature. |
LoadOrderGroup [element ServiceInstall] | The load ordering group that this service should be a part of. |
Localizable [element Column] | Whether this column can be localized. |
LocalService [element AppId] | Set this value to the name of a service to allow the object to be installed as a Win32 service. |
Location [element Component] | |
LongName [element Directory] | |
LongName [element File] | |
LongName [element FileSearch] | |
LongName [element IniFile] | |
LongName [element IniFileSearch] | |
LongName [element RemoveFile] | |
LongName [element Shortcut] | |
LongSource [element Directory] | |
MajorVersion [element TypeLib] | The major version of the type library. |
Manufacturer [element Package] | The vendor releasing the package. |
Manufacturer [element Patch] | Vendor releasing the package |
Manufacturer [element PatchInformation] | Vendor releasing the package |
Manufacturer [element Product] | The manufacturer of the product. |
ManufacturerName [element PatchMetadata] | Name of the manufacturer. |
Mask [element FileTypeMask] | Hex value that is AND'd against the bytes in the file at Offset. |
MaxDate [element FileSearch] | The maximum modification date and time of the file. |
Maximum [element UpgradeVersion] | Specifies the upper boundary of the range of product versions detected by FindRelatedProducts. |
MaxSize [element FileSearch] | The maximum size of the file. |
MaxValue [element Column] | Maximum value for a numeric value, date or version in this column. |
MaxVersion [element FileSearch] | The maximum version of the file. |
MediaSrcProp [element Family] | Entered into the Source field of the new Media table entry of the upgraded image. |
Message [element Condition] | Used only under Fragment or Product elements and is required. |
MigrateFeatures [element UpgradeVersion] | Set to "yes" to migrate feature states from upgraded products by enabling the logic in the MigrateFeatureStates action. |
MinDate [element FileSearch] | The minimum modification date and time of the file. |
Minimum [element UpgradeVersion] | Specifies the lower bound on the range of product versions to be detected by FindRelatedProducts. |
MinorUpdateTargetRTM [element Patch] | Indicates that the patch targets the RTM version of the product or the most recent major upgrade patch. |
MinorUpdateTargetRTM [element PatchMetadata] | Indicates that the patch targets the RTM version of the product or the most recent major upgrade patch. |
MinorVersion [element TypeLib] | The minor version of the type library. |
MinSize [element FileSearch] | The minimum size of the file. |
MinValue [element Column] | Minimum value for a numeric value, date or version in this column. |
MinVersion [element FileSearch] | The minimum version of the file. |
Modeless [element Dialog] | Used to set the dialog as modeless. |
Modularize [element Column] | How this column should be modularized, if at all. |
MoreInfoURL [element Patch] | A URL that provides information specific to this patch. |
MoreInfoURL [element PatchMetadata] | A URL that provides information specific to this patch. |
Multiline [element Control] | This attribute is only valid for Edit Controls. |
Name [element Configuration] | Defines the name of the configurable item. |
Name [element ConfigurationData] | Key into the ModuleConfiguration table. |
Name [element Directory] | The name of the directory. |
Name [element EmbeddedUI] | 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.) |
Name [element EmbeddedUIResource] | 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.) |
Name [element Environment] | Name of the environment variable. |
Name [element Family] | Identifier for the family. |
Name [element File] | 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. |
Name [element FileSearch] | 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. |
Name [element IgnoreModularization] | The name of the item to ignore modularization for. |
Name [element IniFile] | 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. |
Name [element IniFileSearch] | 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. |
Name [element Interface] | Name for COM Interface. |
Name [element ODBCDataSource] | Name for the data source. |
Name [element ODBCDriver] | Name for the driver. |
Name [element ODBCTranslator] | Name for the translator. |
Name [element PatchProperty] | Name of the patch property. |
Name [element Product] | The descriptive name of the product. |
Name [element Registry] | The localizable registry value name. |
Name [element RegistrySearch] | Registry value name. |
Name [element RegistryValue] | The localizable registry value name. |
Name [element RemoveFile] | This value should be set to the localizable name of the file(s) to be removed. |
Name [element RemoveRegistryValue] | The localizable registry value name. |
Name [element ServiceControl] | Name of the service. |
Name [element ServiceInstall] | This column is the string that gives the service name to install. |
Name [element SFPCatalog] | Filename for catalog file when installed. |
Name [element Shortcut] | 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. |
NeverOverwrite [element Component] | 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. |
NoMinimize [element Dialog] | Used to specify if the dialog can be minimized. |
NonNullable [element Configuration] | If yes, null is not a valid entry. |
NoOpen [element ProgId] | Specifies that the associated ProgId should not be opened by users. |
NoPrefix [element Control] | This attribute is only valid for Text Controls. |
Notify [element Permission] | |
NoWrap [element Control] | This attribute is only valid for Text Controls. |
Nullable [element Column] | Whether this column can be left null. |
NumMethods [element Interface] | Number of methods implemented on COM Interface. |
Offset [element FileTypeMask] | Offset into file. If positive, offset is from the beginning; if negative, offset is from the end. |
Offset [element IgnoreRange] | Offset of the start of the range. |
Offset [element ProtectRange] | Offset of the start of the range. |
On [element RemoveFile] | This value determines the time at which the file(s) may be removed. |
On [element RemoveFolder] | This value determines the time at which the folder may be removed. |
OnExit [element Custom] | Mutually exclusive with Before, After, and Sequence attributes |
OnExit [element Show] | mutually exclusive with Before, After, and Sequence attributes |
OnlyDetect [element UpgradeVersion] | Set to "yes" to detect products and applications but do not uninstall. |
OptimizedInstallMode [element Patch] | 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. |
OptimizedInstallMode [element PatchMetadata] | 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. |
OptimizePatchSizeForLargeFiles [element Patch] | When this attribute is set, patches for files greater than approximately 4 MB in size may be made smaller. |
Order [element ExternalFile] | Specifies the order of the external files to use when creating the patch. |
Order [element Publish] | 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. |
Order [element TargetImage] | Relative order of the target image. |
OutputPath [element PatchCreation] | The full path, including file name, of the patch package file that is to be generated. |
Overridable [element Custom] | If "yes", the sequencing of this action may be overridden by sequencing elsewhere. |
Overridable [element Show] | If "yes", the sequencing of this dialog may be overridden by sequencing elsewhere. |
Overridable [element WixVariable] | Set this value to 'yes' in order to make the variable's value overridable either by another WixVariable entry or via the command-line option -d<name>=<value> for light.exe. |
Overridable [type ActionModuleSequenceType] | If "yes", the sequencing of this action may be overridden by sequencing elsewhere. |
Parent [element DirectorySearchRef] | This attribute is the signature of the parent directory of the file or directory in the Signature_ column. |
Part [element Environment] | |
Password [element Control] | This attribute is only valid for Edit Controls. |
Password [element ServiceInstall] | The password for the account. Valid only when the account has a password. |
PatchAllowIgnoreOnError [element File] | Set to indicate that the patch is non-vital. |
PatchFamily [element PatchSequence] | Identifier which indicates a sequence family to which this patch belongs. |
PatchGroup [element File] | This attribute must be set for patch-added files. |
PatchIgnore [element File] | Prevents the updating of the file that is in fact changed in the upgraded image relative to the target images. |
PatchUninstall [element CustomAction] | This attribute specifies that the Windows Installer, execute the custom action only when a patch is being uninstalled. |
PatchWholeFile [element File] | Set if the entire file should be installed rather than creating a binary patch. |
Path [element DirectorySearch] | Path on the user's system. Either absolute, or relative to containing directories. |
Path [element DirectorySearchRef] | Path on the user's system. Either absolute, or relative to containing directories. |
Path [element SymbolPath] | The path. |
Permanent [element Component] | If this attribute is set to 'yes', the installer does not remove the component during an uninstall. |
Permanent [element Environment] | Specifies that the environment variable should not be removed on uninstall. |
Platform [element Package] | The platform supported by the package. |
Platforms [element Package] | |
Platforms [element PatchInformation] | List of platforms supported in package |
Primary [element ComponentGroupRef] | Set this attribute to 'yes' in order to make the parent feature of this component the primary feature for this component. |
Primary [element ComponentRef] | Set this attribute to 'yes' in order to make the parent feature of this component the primary feature for this component. |
Primary [element FeatureGroupRef] | 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. |
Primary [element MergeRef] | Specifies whether the feature containing this MergeRef is the primary feature for advertising the merge module's components. |
PrimaryKey [element Column] | Whether this column is a primary key. |
ProcessorArchitecture [element File] | Specifies the architecture for this assembly. |
ProductCode [element Instance] | The ProductCode for this instance. |
ProductCode [element PatchFamily] | Specifies the ProductCode of the product that this family applies to. |
ProductCode [element PatchSequence] | Specifies the ProductCode of the product that this family applies to. |
ProductId [element Validate] | Requires that the upgrade ProductCode match the target ProductCode. |
ProductLanguage [element Validate] | Requires that the upgrade ProductLanguage match the target ProductLanguage. |
ProductName [element Instance] | The ProductName for this instance. |
ProductVersion [element Validate] | Determines how many fields in the ProductVersion to check. |
ProductVersionOperator [element Validate] | Determines how the target and upgrade ProductVersions are compared. |
Programmable [element Class] | Specifies the CLSID may be programmable. |
ProgressBlocks [element Control] | This attribute is only valid for ProgressBar Controls. |
Property [element ComboBox] | Property tied to this group |
Property [element Control] | The name of a defined property to be linked to this control. |
Property [element CustomAction] | 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. |
Property [element CustomProperty] | The name of the metadata property. |
Property [element InstanceTransforms] | The Id of the Property who's value should change for each instance. |
Property [element ListBox] | Property tied to this group |
Property [element ListView] | Property tied to this group |
Property [element Publish] | Set this attribute's value to a property name to set that property. |
Property [element RadioButtonGroup] | Property tied to this group. |
Property [element RemoveFile] | Overrides the directory of the parent component with the value of the specified property. |
Property [element RemoveFolder] | Overrides the directory of the parent component with the value of the specified property. |
Property [element UpgradeVersion] | When the FindRelatedProducts action detects a related product installed on the system, it appends the product code to the property specified in this field. |
PropertySource [element EmbeddedChainer] | Reference to a Property that resolves to the full path to the chainer executeable. |
ProxyStubClassId [element Interface] | GUID CLSID for proxy stub to COM Interface. |
ProxyStubClassId32 [element Interface] | GUID CLSID for 32-bit proxy stub to COM Interface. |
PushLike [element Control] | This attribute is only valid for RadioButton and Checkbox Controls. |
Qualifier [element Category] | A text string that qualifies the value in the Id attribute. |
RAMDisk [element Control] | This attribute is only valid for Volume and Directory Controls. |
Read [element Permission] | |
ReadAttributes [element Permission] | |
ReadExtendedAttributes [element Permission] | |
ReadOnly [element File] | Set to yes in order to have the file's read-only attribute set when it is installed on the target machine. |
ReadOnly [element Package] | The value of this attribute conveys whether the package should be opened as read-only. |
ReadOnly [element PatchInformation] | The value of this attribute conveys whether the package should be opened as read-only. |
ReadPermission [element Permission] | |
Red [element TextStyle] | 0 to 255 |
Registration [element ODBCDataSource] | Scope for which the data source should be registered. |
RelativePath [element Class] | When the value is "yes", the bare file name can be used for COM servers. |
Remote [element Control] | This attribute is only valid for Volume and Directory Controls. |
RemoteServerName [element AppId] | 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. |
Removable [element Control] | This attribute is only valid for Volume and Directory Controls. |
Remove [element ServiceControl] | Specifies whether the service should be removed on install, uninstall or both. |
RemoveFeatures [element UpgradeVersion] | The installer sets the REMOVE property to features specified in this column. |
RequiredId [element Dependency] | Identifier of the merge module required by the merge module. |
RequiredLanguage [element Dependency] | Numeric language ID of the merge module in RequiredID. |
RequiredVersion [element Dependency] | Version of the merge module in RequiredID. |
RequiredVersion [element Wix] | Required version of the WiX toolset to compile this input file. |
ResourceId [element TypeLib] | The resource id of a typelib. |
Restricted [element TypeLib] | Value of 'yes' means the type library is restricted, and should not be displayed to users. |
Return [element CustomAction] | Set this attribute to set the return behavior of the custom action. |
RightAligned [element Control] | Set this attribute to "yes" to cause the Control to be right aligned. |
RightAligned [element Dialog] | Align text on the right. |
RightToLeft [element Control] | Set this attribute to "yes" to cause the Control to display from right to left. |
RightToLeft [element Dialog] | Used to specify if the text in the dialog should be displayed in right to left reading order. |
Root [element Registry] | The predefined root key for the registry value. |
Root [element RegistryKey] | The predefined root key for the registry value. |
Root [element RegistrySearch] | Root key for the registry value. |
Root [element RegistryValue] | The predefined root key for the registry value. |
Root [element RemoveRegistryKey] | The predefined root key for the registry value. |
Root [element RemoveRegistryValue] | The predefined root key for the registry value. |
Row [element Substitution] | Specifies the primary keys of the target row in the table named in the Table column. |
RunAsInteractiveUser [element AppId] | 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. |
RunFromSource [element ReserveCost] | The number of bytes of disk space to reserve if the component is installed to run from source. |
RunLocal [element ReserveCost] | The number of bytes of disk space to reserve if the component is installed to run locally. |
SafeForInitializing [element Class] | May only be specified if the value of the Advertise attribute is "no". |
SafeForScripting [element Class] | May only be specified if the value of the Advertise attribute is "no". |
Script [element CustomAction] | Creates a type 37 or 38 custom action. |
Section [element IniFile] | The localizable .ini file section. |
Section [element IniFileSearch] | The localizable .ini file section. |
Secure [element Property] | Denotes that the Property can be passed to the server side when doing a managed installation with elevated privileges. |
SelfRegCost [element File] | The cost of registering the file in bytes. |
Separator [element Environment] | Optional attribute to change the separator used between values. |
Sequence [element Custom] | The sequence number for this action. |
Sequence [element PatchSequence] | Used to populate the sequence column of the MsiPatchSequence table in the final MSP file. |
Sequence [element SetDirectory] | Controls which sequences the Directory assignment is sequenced in. |
Sequence [element SetProperty] | Controls which sequences the Property assignment is sequenced in. |
Sequence [element Show] | |
Sequence [element Verb] | The sequence of the commands. |
Sequence [type ActionModuleSequenceType] | A value used to indicate the position of this action in a sequence. |
Sequence [type ActionSequenceType] | A value used to indicate the position of this action in a sequence. |
SequenceStart [element Family] | Sequence number for the starting file. |
Server [element Class] | May only be specified if the value of the Advertise attribute is "no". |
ServiceParameters [element AppId] | Set this value to the parameters to be passed to a LocalService on invocation. |
Set [element Column] | Semicolon delimited list of permissible values. |
SetupFile [element ODBCDriver] | Required if not found as child of File element or different from File attribute above |
SetupFile [element ODBCTranslator] | Required if not found as child of File element or different from File attribute above |
Shared [element Component] | If this attribute's value is set to 'yes', enables advanced patching semantics for Components that are shared across multiple Products. |
Shared [element IsolateComponent] | Shared Component for this application Component. |
SharedDllRefCount [element Component] | 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. |
ShortName [element Directory] | The short name of the directory in 8.3 format. |
ShortName [element File] | The short file name of the file in 8.3 format. |
ShortName [element FileSearch] | The short file name of the file in 8.3 format. |
ShortName [element IniFile] | The short name of the in 8.3 format. |
ShortName [element IniFileSearch] | The short name of the file in 8.3 format. |
ShortName [element RemoveFile] | The short file name of the file in 8.3 format. |
ShortName [element Shortcut] | The short name of the shortcut in 8.3 format. |
ShortNames [element Package] | Set to 'yes' to have short filenames in the source. |
ShortNames [element PatchInformation] | Short filenames on source |
ShortPath [element Class] | Specifies whether or not to use the short path for the COM server. |
ShortSourceName [element Directory] | The short name of the directory on the source media in 8.3 format. |
Show [element Shortcut] | |
ShowRollbackCost [element Control] | This attribute is only valid for VolumeCostList Controls. |
Size [element TextStyle] | |
SkipAssignment [element OptimizeCustomActions] | Skip property (type 51) and directory (type 35) assignment custom actions. |
SkipDeferred [element OptimizeCustomActions] | Skip custom actions that run within the script. |
SkipImmediate [element OptimizeCustomActions] | Skip immediate custom actions that are not property or directory assignment custom actions. |
Sorted [element Control] | This attribute is only valid for Listbox, ListView, and ComboBox Controls. |
Source [element ExternalFile] | Full path of the external file. |
Source [element File] | Specifies the path to the File in the build process. |
Source [element Media] | Optional property that identifies the source of the embedded cabinet. |
SourceDirectory [element CopyFile] | This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified. |
SourceFile [element Binary] | Path to the binary file. |
SourceFile [element DigitalCertificate] | The path to the certificate file. |
SourceFile [element DigitalSignature] | The path to signature's optional hash file. |
SourceFile [element EmbeddedUI] | Path to the binary file that is the embedded UI. |
SourceFile [element EmbeddedUIResource] | Path to the binary file that is the embedded UI resource. |
SourceFile [element Icon] | Path to the icon file. |
SourceFile [element Merge] | Path to the source location of the merge module. |
SourceFile [element SFPCatalog] | Path to catalog file in binary. |
SourceFile [element TargetImage] | Full path to the location of the msi file for the target image. |
SourceFile [element Text] | Instructs the text to be imported from a file instead of the element value during the binding process. |
SourceFile [element UpgradeImage] | Full path to location of msi file for upgraded image. |
SourceList [element PatchCreation] | Used to locate the .msp file for the patch if the cached copy is unavailable. |
SourceName [element CopyFile] | This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified. |
SourceName [element Directory] | The name of the directory on the source media. |
SourcePatch [element UpgradeImage] | Modified copy of the upgraded installation database that contains additional authoring specific to patching. |
SourceProperty [element CopyFile] | This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified. |
src [element Binary] | |
src [element Directory] | |
src [element DirectoryRef] | |
src [element ExternalFile] | |
src [element File] | |
src [element Icon] | |
src [element Media] | |
src [element Merge] | |
src [element TargetImage] | |
src [element Text] | |
src [element UpgradeImage] | |
srcPatch [element UpgradeImage] | |
Start [element ServiceControl] | Specifies whether the service should be started on install, uninstall or both. |
Start [element ServiceInstall] | Determines when the service should be started. |
Stop [element ServiceControl] | Specifies whether the service should be stopped on install, uninstall or both. |
Strike [element TextStyle] | |
SummaryCodepage [element Package] | The code page integer value or web name for summary info strings only. |
SummaryCodepage [element PatchInformation] | The code page integer value or web name for summary info strings only. |
Sunken [element Control] | Set this attribute to "yes" to cause the Control to be sunken. |
Supersede [element PatchFamily] | Set this value to 'yes' to indicate that this patch will supersede all previous patches in this patch family. |
Supersede [element PatchSequence] | Set this value to 'yes' to indicate that this patch will supersede all previous patches in this patch family. |
SupportBasicUI [element EmbeddedUI] | Set yes to allow the Windows Installer to display the embedded UI during basic UI level installation. |
Suppress [type ActionModuleSequenceType] | If yes, this action will not occur. |
Suppress [type ActionSequenceType] | If yes, this action will not occur. |
SuppressModularization [element Binary] | Use to suppress modularization of this Binary identifier in merge modules. |
SuppressModularization [element CustomAction] | Use to suppress modularization of this custom action name in merge modules. |
SuppressModularization [element Property] | Use to suppress modularization of this property identifier in merge modules. |
SymbolFlags [element PatchCreation] | An 8-digit hex integer representing the combination of patch symbol usage flags to use when creating a binary file patch. |
Synchronize [element Permission] | |
System [element Environment] | Specifies that the environment variable should be added to the system environment space. |
System [element File] | Set to yes in order to have the file's system attribute set when it is installed on the target machine. |
SystemModal [element Dialog] | Used to set the dialog as system modal. |
Table [element Substitution] | Specifies the name of the table being modified in the module database. |
TabSkip [element Control] | Set this attribute to "yes" to cause this Control to be skipped in the tab sequence. |
TakeOwnership [element Permission] | |
Target [element PatchSequence] | |
Target [element Shortcut] | This attribute can only be set if this Shortcut element is nested under a Component element. |
Target [element Verb] | |
TargetFile [element Verb] | Either this attribute or the TargetProperty attribute must be specified for a non-advertised verb. |
TargetImage [element PatchSequence] | Specifies the TargetImage that this family applies to. |
TargetProductName [element Patch] | Name of the application or target product suite. |
TargetProductName [element PatchMetadata] | Name of the application or target product suite. |
TargetProperty [element Verb] | Either this attribute or the TargetFile attribute must be specified for a non-advertised verb. |
Template [element ProgressText] | used to format ActionData messages from action processing |
TerminalServerAware [element CustomAction] | This attribute specifies controls whether the custom action will impersonate the installing user during per-machine installs on Terminal Server machines. |
Text [element Control] | A localizable string used to set the initial text contained in a control. |
Text [element ListItem] | The localizable, visible text to be assigned to the item. |
Text [element RadioButton] | Text displayed with the radio button. |
ThreadingModel [element Class] | Threading model for the CLSID. |
Title [element Dialog] | The title of the dialog box. |
Title [element Feature] | Short string of text identifying the feature. |
ToolTip [element Control] | The string used for the Tooltip. |
ToolTip [element RadioButton] | |
TrackDiskSpace [element Dialog] | Have the dialog periodically call the installer to check if available disk space has changed. |
Transitive [element Component] | If this attribute is set to 'yes', the installer reevaluates the value of the statement in the Condition upon a reinstall. |
Transparent [element Control] | This attribute is only valid for Text Controls. |
Traverse [element Permission] | For a directory, the right to traverse the directory. |
TrueType [element File] | Causes an entry to be generated for the file in the Font table with no FontTitle specified. |
Type [element Column] | The type of this column. |
Type [element ComponentSearch] | Must be file if last child is FileSearch element and must be directory if last child is DirectorySearch element. |
Type [element Configuration] | Specifies the type of the data being changed. |
Type [element Control] | The type of the control. |
Type [element IgnoreModularization] | The type of the item to ignore modularization for. |
Type [element IniFileSearch] | Must be file if last child is FileSearch element and must be directory if last child is DirectorySearch element. |
Type [element Registry] | Set this attribute to the type of the desired registry key. |
Type [element RegistrySearch] | The value must be 'file' if the last child is a FileSearch element and must be 'directory' if last child is a DirectorySearch element. |
Type [element RegistryValue] | Set this attribute to the type of the desired registry key. |
Type [element ServiceInstall] | The Windows Installer does not currently support kernelDriver or systemDriver |
TypicalDefault [element Feature] | This attribute determines the default advertise state of the feature. |
Underline [element TextStyle] | |
UninstallWhenSuperseded [element Component] | 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. |
UpgradeCode [element Product] | The upgrade code GUID for the product. |
UpgradeCode [element Validate] | Requires that the upgrade UpgradeCode match the target UpgradeCode. |
User [element Permission] | |
UserLanguage [element Control] | This attribute is only valid for Text Controls. |
Validation [element TargetImage] | Product checking to avoid applying irrelevant transforms. |
Value [element AssemblyName] | Value associated with the name specified in the Name column. |
Value [element ConfigurationData] | Value to be passed to configurable merge module. |
Value [element CustomAction] | This attribute specifies a string value to use in the custom action. |
Value [element CustomProperty] | Value of the metadata property. |
Value [element Environment] | The value to set into the environment variable. |
Value [element FileTypeMask] | 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. |
Value [element IniFile] | The localizable value to be written or deleted. This attribute must be set if the Action attribute's value is "addLine", "addTag", or "createLine". |
Value [element ListItem] | The value assigned to the associated ComboBox, ListBox, or ListView property if this item is selected. |
Value [element PatchProperty] | Value of the patch property. |
Value [element Property] | Sets a default value for the property. The value will be overwritten if the Property is used for a search. |
Value [element Publish] | If the Property attribute is specified, set the value of this attribute to the new value for the property. |
Value [element RadioButton] | Value assigned to the associated control Property when this radio button is selected. |
Value [element Registry] | Set this attribute to the localizable registry value. This value is formatted. |
Value [element RegistryValue] | Set this attribute to the localizable registry value. |
Value [element SetDirectory] | This attribute specifies a string value to assign to the Directory. |
Value [element SetProperty] | This attribute specifies a string value to assign to the Property. |
Value [element Substitution] | Provides a formatting template for the data being substituted into the target field specified by Table, Row, and Column. |
Value [element WixVariable] | The value of the variable. |
VBScriptCall [element CustomAction] | This attribute specifies the name of the VBScript Subroutine to execute in a script. |
Version [element Class] | Version for the CLSID. |
Version [element Module] | The major and minor versions of the merge module. |
Version [element PatchFamily] | Used to populate the sequence column of the MsiPatchSequence table in the final MSP file. |
Version [element Product] | The product's version string. |
Versioned [element Interface] | Determines whether a Typelib version entry should be created with the other COM Interface registry keys. |
Vital [element File] | If a file is vital, then installation cannot proceed unless the file is successfully installed. |
Vital [element ServiceInstall] | The overall install should fail if this service fails to install. |
VolumeLabel [element Family] | Entered into the VolumeLabel field of the new Media table record. |
VolumeLabel [element Media] | The label attributed to the volume. |
Wait [element ServiceControl] | Specifies whether or not to wait for the service to complete before continuing. |
WholeFile [element UpgradeFile] | Whether the whole file should be installed, rather than creating a binary patch. |
WholeFilesOnly [element PatchCreation] | Use this to set whether changing files should be included in their entirety. |
Width [element Column] | Width of this column. |
Width [element Control] | Width of the rectangular boundary of the control. |
Width [element Dialog] | The width of the dialog box in dialog units. |
Width [element RadioButton] | |
Win64 [element Component] | Set this attribute to 'yes' to mark this as a 64-bit component. |
Win64 [element CustomAction] | Specifies that a script custom action targets a 64-bit platform. |
Win64 [element RegistrySearch] | Instructs the search to look in the 64-bit registry when the value is 'yes'. |
WorkingDirectory [element Shortcut] | Directory identifier (or Property identifier that resolves to a directory) that resolves to the path of the working directory for the shortcut. |
Write [element Permission] | |
WriteAttributes [element Permission] | |
WriteExtendedAttributes [element Permission] | |
X [element Control] | Horizontal coordinate of the upper-left corner of the rectangular boundary of the control. |
X [element Dialog] | Horizontal placement of the dialog box as a percentage of screen width. |
X [element RadioButton] | |
Y [element Control] | Vertical coordinate of the upper-left corner of the rectangular boundary of the control. |
Y [element Dialog] | Vertical placement of the dialog box as a percentage of screen height. |
Y [element RadioButton] |
This attribute determines if a user will have the option to set a feature to absent in the user interface.
Restricting NMTOKEN
Value | Description |
---|---|
allow | Allows the user interface to display an option to change the feature state to Absent. |
disallow | Prevents the user interface from displaying an option to change the feature state to Absent by setting the msidbFeatureAttributesUIDisallowAbsent attribute. This will force the feature to the installation state, whether or not the feature is visible in the UI. |
The acount under which to start the service. Valid only when ServiceType is ownProcess.
Type string
Used only under Control elements and is required. Allows specific actions to be applied to a control based on the result of this condition.
Restricting NMTOKEN
Value | Description |
---|---|
default | Set the Control as the default. Only used under Control elements. |
enable | Enable the Control. Only used under Control elements. |
disable | Disable the Control. Only used under Control elements. |
hide | Hide the Control. Only used under Control elements. |
show | Display the Control. Only used under Control elements. |
The action to which the Custom element applies.
Type string
Specfies whether the environmental variable should be created, set or removed when the parent component is installed.
Restricting NMTOKEN
Value | Description |
---|---|
create | Creates the environment variable if it does not exist, then set it during installation. This has no effect on the value of the environment variable if it already exists. |
set | Creates the environment variable if it does not exist, and then set it during installation. If the environment variable exists, set it during the installation. |
remove | Removes the environment variable during an installation. The installer only removes an environment variable during an installation if the name and value of the variable match the entries in the Name and Value attributes. If you want to remove an environment variable, regardless of its value, do not set the Value attribute. |
The type of modification to be made.
Restricting NMTOKEN
Value | Description |
---|---|
addLine | Creates or updates an .ini entry. |
addTag | Creates a new entry or appends a new comma-separated value to an existing entry. |
createLine | Creates an .ini entry only if the entry does no already exist. |
removeLine | Removes an .ini entry. |
removeTag | Removes a tag from an .ini entry. |
This is the action that will be taken for this registry key.
Restricting NMTOKEN
Value | Description |
---|---|
append | Appends the specified value(s) to a multiString registry key. |
createKey | Creates the key, if absent, when the parent component is installed. |
createKeyAndRemoveKeyOnUninstall | Creates the key, if absent, when the parent component is installed then remove the key with all its values and subkeys when the parent component is uninstalled. |
prepend | Prepends the specified value(s) to a multiString registry key. |
remove | Removes a registry name when the parent component in installed. |
removeKeyOnInstall | Removes a key with all its values and subkeys when the parent component is installed. |
removeKeyOnUninstall | Removes a key with all its values and subkeys when the parent component is uninstalled. |
write | Writes a registry value. |
This is the action that will be taken for this registry value.
Restricting NMTOKEN
Value | Description |
---|---|
create | Creates the key, if absent, when the parent component is installed. |
createAndRemoveOnUninstall | Creates the key, if absent, when the parent component is installed then remove the key with all its values and subkeys when the parent component is uninstalled. |
none | Does nothing; this element is used merely in WiX authoring for organization and does nothing to the final output. This is the default value. |
This is the action that will be taken for this registry value.
Restricting NMTOKEN
Value | Description |
---|---|
append | Appends the specified value(s) to a multiString registry value. |
prepend | Prepends the specified value(s) to a multiString registry value. |
write | Writes a registry value. This is the default value. |
This is the action that will be taken for this registry value.
Restricting NMTOKEN
Value | Description |
---|---|
removeOnInstall | Removes a key with all its values and subkeys when the parent component is installed. |
removeOnUninstall | Removes a key with all its values and subkeys when the parent component is uninstalled. |
Set this value to 'yes' to configure the client to activate on the same system as persistent storage.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Denotes that the Property is saved during
Type YesNoType
Value | Description |
---|---|
no | |
yes |
<html:a href="http://msdn.microsoft.com/library/aa367541.aspx" target="_blank" xmlns:html="http://www.w3.org/1999/xhtml">admininistrative installation</html:a>
. See the
<html:a href="http://msdn.microsoft.com/library/aa367542.aspx" target="_blank" xmlns:html="http://www.w3.org/1999/xhtml">AdminProperties Property</html:a>
for more information.
Set to 'yes' if the source is an admin image.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Source is an admin image
Type YesNoType
Value | Description |
---|---|
no | |
yes |
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).
Type YesNoType
Value | Description |
---|---|
no | |
yes |
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).
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Whether this extension is to be advertised. The default is "no".
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Whether this MIME is to be advertised.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
The default is to match whatever the parent extension element uses. If the parent element is not advertised, then this element cannot be advertised either.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Specifies if the shortcut should be advertised or not.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Note that advertised shortcuts always point at a particular application, identified by a ProductCode, and should not be shared between applications. Advertised shortcuts only work for the most recently installed application, and are removed when that application is removed. The default value is 'no'.
Value of 'yes' will create a row in the TypeLib table. Value of 'no' will create rows in the Registry table.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
The default value is 'no'.
The name of the standard or custom action after which this action should be performed.
Type string
Mutually exclusive with Before, OnExit, and Sequence attributes
The name of the standard or custom action after which this action should be performed.
Type string
Mutually exclusive with the Before attribute. A Before or After attribute is required when setting a Property.
The name of an action that this action should come after.
Type string
This attribute determins the possible advertise states for this feature.
Restricting NMTOKEN
Value | Description |
---|---|
no | Prevents this feature from being advertised by settting the msidbFeatureAttributesDisallowAdvertise attribute. |
system | Prevents advertising for this feature if the operating system shell does not support Windows Installer descriptors by setting the msidbFeatureAttributesNoUnsupportedAdvertise attribute. |
yes | Allows the feature to be advertised. |
Specifies whether patching this file is vital.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Use this to set whether the major versions between the upgrade and target images match.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
See AllowProductVersionMajorMismatches for more information.
Use this to set whether the product code between the upgrade and target images match.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
See AllowProductCodeMismatches for more information.
Whether this is an uninstallable patch.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Whether this is an uninstallable patch.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Flag used when creating a binary file patch.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Default is "no". Don't fail patch due to imagehlp failures.
Flag used when creating a binary file patch.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Default is "no". Don't use imagehlp.dll.
Flag used when creating a binary file patch.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Default is "no". After matching decorated symbols, try to match remaining by undecorated names.
An optional localizable text describing the category.
Type string
The string is commonly parsed by the application and can be displayed to the user. It should describe the category.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
This attribute is only allowed when a Class is advertised.
Type Guid
Value must match the following pattern: [{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?
Using this attribute will reference an Application ID containing DCOM information for the associated application GUID. The value must correspond to an AppId/@Id of an AppId element nested under a Fragment, Module, or Product element. To associate an AppId with a non-advertised class, nest the class within a parent AppId element.
This column is optional only when the Context column is set to "LocalServer" or "LocalServer32" server context.
Type string
The text is registered as the argument against the OLE server and is used by OLE for invoking the server. Note that the resolution of properties in the Argument field is limited. A property formatted as [Property] in this field can only be resolved if the property already has the intended value when the component owning the class is installed. For example, for the argument "[#MyDoc.doc]" to resolve to the correct value, the same process must be installing the file MyDoc.doc and the component that owns the class.
Value for the command arguments.
Type string
Note that the resolution of properties in the Argument field is limited. A property formatted as [Property] in this field can only be resolved if the property already has the intended value when the component owning the verb is installed. For example, for the argument "[#MyDoc.doc]" to resolve to the correct value, the same process must be installing the file MyDoc.doc and the component that owns the verb.
Contains any command line arguments or properties required to run the service.
Type string
The command-line arguments for the shortcut.
Type string
Note that the resolution of properties in the Arguments field is limited. A property formatted as [Property] in this field can only be resolved if the property already has the intended value when the component owning the shortcut is installed. For example, for the argument "[#MyDoc.doc]" to resolve to the correct value, the same process must be installing the file MyDoc.doc and the component that owns the shortcut.
Specifies if this File is a Win32 Assembly or .NET Assembly that needs to be installed into the Global Assembly Cache.
Restricting NMTOKEN
Value | Description |
---|---|
.net | The file is a .NET Framework assembly. |
no | The file is not a .NET Framework or Win32 assembly. This is the default value. |
win32 | The file is a Win32 assembly. |
If the value is '.net' or 'win32', this file must also be the key path of the Component.
Specifies the file identifier of the application file.
Type string
This assembly will be isolated to the same directory as the application file. If this attribute is absent, the assembly will be installed to the Global Assembly Cache. This attribute may only be specified if the Assembly attribute is set to '.net' or 'win32'.
Specifies the file identifier of the manifest file that describes this assembly.
Type string
The manifest file should be in the same component as the assembly it describes. This attribute may only be specified if the Assembly attribute is set to '.net' or 'win32'.
Set the result of this search to the value of the outer Property.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Set the result of this search to the value of the outer Property.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
if not present can only handle enable, disable, hide, unhide events
Type string
The name of the standard or custom action before which this action should be performed. Mutually exclusive with OnExit, After, and Sequence attributes
Type string
The name of the standard or custom action before which this action should be performed.
Type string
Mutually exclusive with the After attribute. A Before or After attribute is required when setting a Property.
The name of an action that this action should come before.
Type string
This attribute is a reference to a Binary element with matching Id attribute.
Type string
That binary stream contains the custom action for use during install. The custom action will not be installed into a target directory. This attribute is typically used with the DllEntry attribute to specify the custom action DLL to use for a type 1 custom action, with the ExeCommand attribute to specify a type 17 custom action that runs an embedded executable, or with the VBScriptCall or JScriptCall attributes to specify a type 5 or 6 custom action.
Reference to the Binary element that contains the chainer executeable.
Type string
Mutually exclusive with the FileSource and PropertySource attributes.
A list of paths, separated by semicolons, that represent the paths to be searched to find the imported DLLs.
Type string
The list is usually a list of properties, with each property enclosed inside square brackets. The value may be set to an empty string. Including this attribute will cause an entry to be generated for the file in the BindImage table.
This attribute is only valid for RadioButton and PushButton Controls.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
This attribute defines the bitmap displayed with the radio button.
Type string
The value of the attribute creates a reference to a Binary element that represents the bitmap. This attribute is mutually exclusive with the Icon and Text attributes.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
The name of the cabinet if some or all of the files stored on the media are in a cabinet file.
Type string
If no cabinets are used, this attribute must not be set.
Set this attribute to "yes" to cause this Control to be invoked by the escape key.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Category of this column.
Restricting NMTOKEN
Value | Description |
---|---|
Text | |
UpperCase | |
LowerCase | |
Integer | |
DoubleInteger | |
TimeDate | |
Identifier | |
Property | |
Filename | |
WildCardFilename | |
Path | |
Paths | |
AnyPath | |
DefaultDir | |
RegPath | |
Formatted | |
Template | |
Condition | |
Guid | |
Version | |
Language | |
Binary | |
CustomSource | |
Cabinet | |
Shortcut |
This attribute must be specified with a value of 'Binary' if the Type attribute's value is 'binary'.
This attribute is only valid for Volume and Directory Controls.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Type YesNoType
Value | Description |
---|---|
no | |
yes |
This attribute is only valid for CheckBox Controls.
Type string
When set, the linked Property will be set to this value when the check box is checked.
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.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Only those files that have this attribute set will be verified for valid checksum during a reinstall.
Class ID for the COM server that is to be associated with the MIME content.
Type Guid
Value must match the following pattern: [{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?
Category of updates.
Value | Description |
---|---|
Critical Update | A broadly released fix for a specific problem addressing a critical, non-security related bug. |
Hotfix | Hotfixes address a specific customer situation and generally should not be distributed outside the customer's organization. |
Security Rollup | A broadly released fix for a specific security-related related vulnerability. |
Service Pack | A cumulative set of all hotfixes, security rollups, critical updates, and updates, as well as additional fixes and even new features found since the release of the product. |
Update | A broadly released fix for a specific problem addressing a non-critical, non-security related bug. |
Update Rollup | A cumulative set of hotfixes, security rollups, critical updates, and updates packaged together which typically targets a specific area of a product. |
Category of update.
Value | Description |
---|---|
Critical Update | A broadly released fix for a specific problem addressing a critical, non-security related bug. |
Hotfix | Hotfixes address a specific customer situation and generally should not be distributed outside the customer's organization. |
Security Rollup | A broadly released fix for a specific security-related related vulnerability. |
Service Pack | A cumulative set of all hotfixes, security rollups, critical updates, and updates, as well as additional fixes and even new features found since the release of the product. |
Update | A broadly released fix for a specific problem addressing a non-critical, non-security related bug. |
Update Rollup | A cumulative set of hotfixes, security rollups, critical updates, and updates packaged together which typically targets a specific area of a product. |
Use this to set whether Patchwiz should clean the temp folder when finished.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
See DontRemoveTempFolderWhenFinished for more information.
An easily referenced identity unique to a patch that can be used in product authoring.
Type string
See remarks for more information.
The code page integer value or web name for the resulting MSM.
Type string
See remarks for more information.
The code page integer value or web name for the resulting MSP.
Type string
See remarks for more information.
The code page integer value or web name for the resulting PCP.
Type string
See remarks for more information.
The code page integer value or web name for the resulting MSI. See remarks for more information.
Type string
Specifies in which column to insert this data.
Type string
Specifies the target column in the row named in the Row column.
Type string
This attribute is only valid for ComboBox Controls.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
The localized text displayed on the context menu.
Type string
Value to append to the transaction handle and passed to the chainer executable.
Type string
Optional comments for browsing.
Type string
Optional comments for browsing
Type string
Set this attribute to make this file a companion child of another file.
Type string
The installation state of a companion file depends not on its own file versioning information, but on the versioning of its companion parent. A file that is the key path for its component can not be a companion file (that means this attribute cannot be set if KeyPath="yes" for this file). The Version attribute cannot be set along with this attribute since companion files are not installed based on their own version.
The name of the company.
Type string
Name of the company for a custom metadata property.
Type string
Adds a row to the CCPSearch table. This attribute is only valid when this Property contains a search element.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Set this attribute to create a ComPlus entry.
Type integer
The value should be the export flags used during the generation of the .msi file. For more information see the COM+ documentation in the Platform SDK.
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).
Type Guid
Value must match the following pattern: [{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?
It is recommended that this attribute be avoided and that developers install their Components under standard directories with unique names instead (for example, "ProgramFilesFolder\Company Name Product Name Version"). It is important to note that once a directory is assigned a Component Guid Generation Seed the value must not change until the directory name changes.
Sets the file's source type compression.
Type YesNoDefaultType
Value | Description |
---|---|
default | |
no | |
yes |
A setting of "yes" or "no" will override the setting in the Word Count Summary Property.
Set to 'yes' to have compressed files in the source.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
This attribute cannot be set for merge modules.
Compressed files on source
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Indicates the compression level for the Media's cabinet.
Restricting NMTOKEN
Value | Description |
---|---|
high | |
low | |
medium | |
mszip | |
none |
This attribute can only be used in conjunction with the Cabinet attribute. The default is 'mszip'.
Specify the Id of a Directory that can be configured by the user at installation time.
Type string
This identifier must be a public property and therefore completely uppercase.
The MIME type that is to be written.
Type string
This is the identifier for the MIME content.
Type string
It is commonly written in the form of type/format.
The server context(s) for this server.
List anySimpleType
Specifies a semantic context for the requested data.
Type string
Set this attribute's value to 'yes' to identify an object as an ActiveX Control.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
The default value is 'no'.
The parent Control for this Publish element, should only be specified when this element is a child of the UI element.
Type string
Value of 'yes' means the type library describes controls, and should not be displayed in type browsers intended for nonvisual objects.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
This attribute can only be set if Advertise='no'.
The cost associated with the registration of the type library in bytes.
Type int
This attribute cannot be set if Advertise='no'.
For a directory, the right to create a subdirectory.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Only valid under a 'CreateFolder' parent.
For a directory, the right to create a file in the directory.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Only valid under a 'CreateFolder' parent.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Creation time of the .msp file in the form mm-dd-yy HH:MM (month-day-year hour:minute).
Type string
Used to specify if pictures in the dialog box are rendered with a custom palette.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Set this attribute to "yes" to cause this Control to be invoked by the return key.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
If 'yes', become the content type for the parent Extension.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
The default value is 'no'.
This is the default language of this file.
Type string
The linker will replace this value from the value in the file if the suppress files option is not used.
This is the default size of this file.
Type integer
The linker will replace this value from the value in the file if the suppress files option is not used.
Specifies a default value for the item in this record if the merge tool declines to provide a value.
Type string
This is the default version of this file.
Type string
The linker will replace this value from the value in the file if the suppress files option is not used.
This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
In other cases, if the attribute is not specified, the default value is "no" and the file is copied, not moved. Set the value to "yes" in order to move the file (thus deleting the source file) instead of copying it.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
For a directory, the right to delete a directory and all the files it contains, including read-only files.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Only valid under a 'CreateFolder' parent.
Used to define dependency outside of the package.
Type string
Depth below the path that the installer searches for the file or directory specified by the search.
Type integer
If this value is not specified, the depth is assumed to be 0.
Set this value to the description of the AppId.
Type string
It can only be specified when the AppId is not being advertised.
Localized description associated with the Class ID and Program ID.
Type string
Description of this column.
Type string
Description for authoring.
Type string
Longer string of text describing the feature.
Type string
This localizable string is displayed by the Text Control of the Selection Dialog.
The product full name or description.
Type string
Product full name or description
Type string
Description of the patch.
Type string
Sets the description of the service.
Type string
The localizable description for the shortcut.
Type string
The localizable description of the type library.
Type string
The Formatted string providing the full path to the language neutral file containing the MUI Manifest.
Type string
Generally authored using [#filekey] form. When this attribute is specified, the DescriptionResourceId attribute must also be provided.
This attribute is only used on Windows Vista and above. If this attribute is not specified and the install is running on Vista and above, the value in the Name attribute is used. If this attribute is provided and the install is running on Vista and above, the value in the Name attribute is ignored.
The description name index for the shortcut.
Type integer
This must be a non-negative number. When this attribute is specified, the DescriptionResourceDll attribute must also be populated.
This attribute is only used on Windows Vista and above. If this attribute is not specified and the install is running on Vista and above, the value in the Name attribute is used. If this attribute is populated and the install is running on Vista and above, the value in the Name attribute is ignored.
Set this value to the destination directory where an existing file on the target machine should be moved or copied to.
Type string
This Directory must exist in the installer database at creation time. This attribute cannot be specified in conjunction with DestinationProperty.
Type LongFileNameType
Value must match the following pattern: [^\\\?
In prior versions of the WiX toolset, this attribute specified the short file name.
Type LongFileNameType
Value must match the following pattern: [^\\\?
Now set this value to the localizable name to be given to the original file after it is moved or copied. If this attribute is not specified, then the destination file is given the same name as the source file. If a short file name is specified, the DestinationShortName attribute may not be specified. If a long file name is specified, the DestinationLongName attribute may not be specified. Also, if this value is a long file name, the DestinationShortName attribute may be omitted to allow WiX to attempt to generate a unique short file name. However, if this name collides with another file or you wish to manually specify the short file name, then the DestinationShortName attribute may be specified.
Set this value to a property that will have a value that resolves to the full path of the destination directory.
Type string
The property does not have to exist in the installer database at creation time; it could be created at installation time by a custom action, on the command line, etc. This attribute cannot be specified in conjunction with DestinationDirectory.
The short file name of the file in 8.3 format.
Type ShortFileNameType
Value must match the following pattern: [^\\\?
This attribute should only be set if there is a conflict between generated short file names or you wish to manually specify the short file name.
The parent Dialog for this Publish element, should only be specified when this element is a child of the UI element.
Type string
This attribute will create a reference to the specified Dialog, so an additional DialogRef is not necessary.
Sets the Directory of the Component.
Type string
If this element is nested under a Directory element, this value defaults to the value of the parent Directory/@Id.
Identifier of Directory to create.
Type string
Defaults to Directory of parent Component.
This attribute specifies a reference to a Directory element with matching Id attribute containing a directory path.
Type string
This attribute is typically used with the ExeCommand attribute to specify the source executable for a type 34 custom action, or with the Value attribute to specify a formatted string to place in the specified Directory table entry in a type 35 custom action.
Name of a property, the value of which is the full path of the folder containing the .ini file.
Type string
Can be name of a directory in the Directory table, a property set by the AppSearch table, or any other property representing a full path.
Overrides the directory of the parent component with a specific Directory.
Type string
This Directory must exist in the installer database at creation time. This attribute cannot be specified in conjunction with the Property attribute.
Overrides the directory of the parent component with a specific Directory.
Type string
This Directory must exist in the installer database at creation time. This attribute cannot be specified in conjunction with the Property attribute.
Adds the amount of disk space specified in RunFromSource or RunLocal to the volume cost of the device containing the directory.
Type string
If this attribute is not set, it will default to the directory of parent component.
Identifier reference to Directory element where shortcut is to be created.
Type string
When nested under a Component element, this attribute's value will default to the parent directory. Otherwise, this attribute is required.
Set this attribute to "yes" to cause the Control to be disabled.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Set this attribute to 'yes' in order to disable registry reflection on all existing and new registry keys affected by this component.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
When set to 'yes', the Windows Installer calls the RegDisableReflectionKey on each key being accessed by the component. This bit is available with Windows Installer version 4.0 and is ignored on 32-bit systems.
This attribute must be set either on a Component element or all of its children File elements.
Type integer
The value of this attribute should correspond to the Id attribute of a Media element authored elsewhere. By creating this connection between a component (or particular files), you set the packaging options to the values specified in the Media element (values such as compression level, cab embedding, etc...).
Sets the default disk identifier for the files contained in this directory.
Type integer
This attribute must be set on a Component, Directory, or DirectoryRef element or all of its children File elements, else the default disk identifier of 1 is assumed. The value of this attribute should correspond to the Id attribute of a Media element authored elsewhere. By creating this connection between a component (or particular files), you set the packaging options to the values specified in the Media element (values such as compression level, cab embedding, etc...).
Sets the default disk identifier for the files contained in this directory.
Type integer
This attribute must be set on a Component, Directory, or DirectoryRef element or all of its children File elements, else the default disk identifier of 1 is assumed. The value of this attribute should correspond to the Id attribute of a Media element authored elsewhere. By creating this connection between a component (or particular files), you set the packaging options to the values specified in the Media element (values such as compression level, cab embedding, etc...).
Entered into the DiskId field of the new Media table record.
Type int
Specifies the Media this File should be sourced on.
Type integer
This attribute overrides the default DiskId attribute from the parent Component element. If no DiskId attribute is specifed, the default is "1".
The value of this attribute should correspond to the Id attribute of a Media element authored elsewhere.
Type string
By creating this connection between the Merge Module and Media element, you set the packaging options to the values specified in the Media element (values such as compression level, cab embedding, etc...).
Value to display in the "[1]" of the DiskPrompt Property.
Type string
Using this attribute will require you to define a DiskPrompt Property.
The disk name, which is usually the visible text printed on the disk.
Type string
This localizable text is used to prompt the user when this disk needs to be inserted. This value will be used in the "[1]" of the DiskPrompt Property. Using this attribute will require you to define a DiskPrompt Property.
Determines the initial display of this feature in the feature tree.
Type string
This attribute's value should be one of the following:
collapse - Initially shows the feature collapsed. This is the default value.
expand - Initially shows the feature expanded.
hidden - Prevents the feature from displaying in the user interface.
<an explicit integer value> - For advanced users only, it is possible to directly set the integer value of the display value that will appear in the Feature row.
Display name for authoring.
Type string
A title for the patch that is suitable for public display.
Type string
In Add/Remove Programs from XP SP2 on.
A title for the patch that is suitable for public display.
Type string
In Add/Remove Programs from XP SP2 on.
This column is the localizable string that user interface programs use to identify the service.
Type string
The Formatted string providing the full path to the language neutral file containing the MUI Manifest.
Type string
Generally authored using [#filekey] form. When this attribute is specified, the DisplayResourceId attribute must also be provided.
This attribute is only used on Windows Vista and above. If this attribute is not populated and the install is running on Vista and above, the value in the Name attribute is used. If this attribute is populated and the install is running on Vista and above, the value in the Name attribute is ignored.
The display name index for the shortcut.
Type integer
This must be a non-negative number. When this attribute is specified, the DisplayResourceDll attribute must also be proviced.
This attribute is only used on Windows Vista and above. If this attribute is not specified and the install is running on Vista and above, the value in the Name attribute is used. If this attribute is specified and the install is running on Vista and above, the value in the Name attribute is ignored.
This attribute specifies the name of a function in a custom action to execute.
Type string
This attribute is used with the BinaryKey attribute to create a type 1 custom action, or with the FileKey attribute to create a type 17 custom action.
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.
Type string
Required if not found as child of ODBCDriver element
Type string
This attribute is only valid for PushButton controls.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Set this attribute to "yes" to add the User Account Control (UAC) elevation icon (shield icon) to the PushButton control. If this attribute's value is "yes" and the installation is not yet running with elevated privileges, the pushbutton control is created using the User Account Control (UAC) elevation icon (shield icon). If this attribute's value is "yes" and the installation is already running with elevated privileges, the pushbutton control is created using the other icon attributes. Otherwise, the pushbutton control is created using the other icon attributes.
Instructs the binder to embed the cabinet in the product if 'yes'.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
This attribute can only be specified in conjunction with the Cabinet attribute.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Determines whether the existing service description will be ignored.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
If 'yes', the service description will be null, even if the Description attribute is set.
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.
Type string
Determines what action should be taken on an error.
Restricting NMTOKEN
Value | Description |
---|---|
ignore | Logs the error and continues with the startup operation. |
normal | Logs the error, displays a message box and continues the startup operation. |
critical | Logs the error if it is possible and the system is restarted with the last configuration known to be good. If the last-known-good configuration is being started, the startup operation fails. |
Specifies this dialog as an error dialog.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Set this attribute's value to one of the standard control events to trigger that event.
Type string
Either this attribute or the Property attribute must be set, but not both at the same time.
must be one of the standard control events'
Type string
Identifier of the merge module that is incompatible.
Type string
Maximum version excluded from a range.
Type string
If not set, all versions after min are excluded. If neither max nor min, no exclusion based on version.
Minimum version excluded from a range.
Type string
If not set, all versions before max are excluded. If neither max nor min, no exclusion based on version.
Numeric language ID of the merge module in ExcludedID.
Type integer
All except this language will be excluded. Only one of ExcludeExceptLanguage and ExcludeLanguage may be specified.
Numeric language ID of the merge module in ExcludedID.
Type integer
The specified language will be excluded. Only one of ExcludeExceptLanguage and ExcludeLanguage may be specified.
Set to "yes" to detect all languages, excluding the languages listed in the Language attribute.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
This attribute specifies the command line parameters to supply to an externally run executable.
Type string
This attribute is typically used with the BinaryKey attribute for a type 2 custom action, the FileKey attribute for a type 18 custom action, the Property attribute for a type 50 custom action, or the Directory attribute for a type 34 custom action that specify the executable to run.
This attribute indicates the scheduling of the custom action.
Restricting NMTOKEN
Value | Description |
---|---|
commit | Indicates that the custom action will run after successful completion of the installation script (at the end of the installation). |
deferred | Indicates that the custom action runs in-script (possibly with elevated privileges). |
firstSequence | Indicates that the custom action will only run in the first sequence that runs it. |
immediate | Indicates that the custom action will run during normal processing time with user privileges. This is the default. |
oncePerProcess | Indicates that the custom action will only run in the first sequence that runs it in the same process. |
rollback | Indicates that a custom action will run in the rollback sequence when a failure occurs during installation, usually to undo changes made by a deferred custom action. |
secondSequence | Indicates that a custom action should be run a second time if it was previously run in an earlier sequence. |
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Feature whose state determines if the Billboard is shown.
Type string
Feature that controls the advertisement of the category.
Type string
Defaults to the primary Feature for the parent Component.
Identifies a feature to which this component belongs, as a shorthand for a child ComponentRef element of the Feature element.
Type string
The value of this attribute should correspond to the Id attribute of a Feature element authored elsewhere. Note that a single component can belong to multiple features but this attribute allows you to specify only a single feature.
The field in the .ini line. If field is Null or 0, the entire line is read.
Type integer
Foreign key into the File table.
Type string
Required if not found as child of File element
Type string
Required if not found as child of File element
Type string
Foreign key into the File table.
Type string
Foreign key into the File table.
Type string
Specifies if the files in the merge module should be compressed.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
This attribute cannot be specified if the element is nested under a File element.
Type string
Set this attribute's value to the identifier of a file from a different component to copy it based on the install state of the parent component.
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.
Type string
This attribute is typically used with the ExeCommand attribute to specify a type 18 custom action that runs an installed executable, with the DllEntry attribute to specify an installed custom action DLL to use for a type 17 custom action, or with the VBScriptCall or JScriptCall attributes to specify a type 21 or 22 custom action.
Used to set the file system source for this directory's child elements.
Type string
Used to set the file system source for this directory ref's child elements.
Type string
Reference to the File element that is the chainer executeable.
Type string
Mutually exclusive with the BinarySource and PropertySource attributes.
This attribute is only valid for Volume and Directory Controls.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
This attribute is only valid for RadioButton, PushButton, and Icon Controls.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
This attribute is only valid for Volume and Directory Controls.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Causes an entry to be generated for the file in the Font table with the specified FontTitle.
Type string
This attribute is intended to be used to register the file as a non-TrueType font.
Specifies the format of the data being changed.
Restricting string
Value | Description |
---|---|
Text | |
Key | |
Integer | |
Bitfield |
This attribute is only valid for Text Controls.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Type YesNoType
Value | Description |
---|---|
no | |
yes |
specifying this will fail to grant read access
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Set to 'yes' to indicate that the value in the Id attribute is the name of a group of services.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
This value should be a guid that uniquely identifies this component's contents, language, platform, and version.
Type ComponentGuid
Value must match the following pattern: [{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?
It's also possible to set the value to an empty string to specify an unmanaged component. Unmanaged components are a security vulnerability because the component cannot be removed or repaired by Windows Installer (it is essentially an unpatchable, permanent component). Therefore, a guid should always be specified for any component which contains resources that may need to be patched in the future.
The component ID of the component whose key path is to be used for the search.
Type Guid
Value must match the following pattern: [{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?
This attribute is deprecated. Use the Package/@Id instead.
Type Guid
Value must match the following pattern: [{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?
The default inproc handler.
Type string
May be optionally provided only for Context = LocalServer or LocalServer32. Value of "1" creates a 16-bit InprocHandler (appearing as the InprocHandler value). Value of "2" creates a 32-bit InprocHandler (appearing as the InprocHandler32 value). Value of "3" creates 16-bit as well as 32-bit InprocHandlers. A non-numeric value is treated as a system file that serves as the 32-bit InprocHandler (appearing as the InprocHandler32 value).
This attribute is only valid for RadioButton Controls.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Value of 'yes' means the type library exists in a persisted form on disk.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
This attribute can only be set if Advertise='no'.
Height of the rectangular boundary of the control.
Type LocalizableInteger
Value must match the following pattern: [0-9][0-9]*
This must be a non-negative number.
The height of the dialog box in dialog units.
Type integer
Type LocalizableInteger
Value must match the following pattern: [0-9][0-9]*
This attribute is reserved for future use.
Type string
There is no need to use this until Windows Installer uses it for something.
The identifier of the Directory element for the help directory.
Type string
Keyword into chm file for authoring.
Type string
Location of chm file for authoring.
Type string
Set this attribute to "yes" to cause the Control to be hidden.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Used to hide the dialog.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Set to yes in order to have the file's hidden attribute set when it is installed on the target machine.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Denotes that the Property is not logged during installation.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
See the MsiHiddenProperties Property for more information.
Value of 'yes' means the type library should not be displayed to users, although its use is not restricted.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Should be used by controls. Hosts should create a new type library that wraps the control with extended properties. This attribute can only be set if Advertise='no'.
Ensures the installer does not log the CustomActionData for the deferred custom action.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
The hotkey for the shortcut.
Type integer
The low-order byte contains the virtual-key code for the key, and the high-order byte contains modifier flags. This must be a non-negative number. Authors of installation packages are generally recommend not to set this option, because this can add duplicate hotkeys to a users desktop. In addition, the practice of assigning hotkeys to shortcuts can be problematic for users using hotkeys for accessibility.
The file providing the icon associated with this CLSID.
Type string
Reference to an Icon element (should match the Id attribute of an Icon element). This is currently not supported if the value of the Advertise attribute is "no".
This attribute is only valid for RadioButton and PushButton Controls.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
The identifier of the Binary (not Icon) element containing the icon to associate with this item.
Type string
This value is only valid when nested under a ListView element.
For an advertised ProgId, the Id of an Icon element.
Type string
For a non-advertised ProgId, this is the Id of a file containing an icon resource.
This attribute defines the icon displayed with the radio button.
Type string
The value of the attribute creates a reference to a Binary element that represents the icon. This attribute is mutually exclusive with the Bitmap and Text attributes.
Identifier reference to Icon element.
Type string
The Icon identifier should have the same extension as the file that it points at. For example, a shortcut to an executable (e.g. "my.exe") should reference an Icon with identifier like "MyIcon.exe"
Icon index into the icon file.
Type integer
Identifier reference to Icon element.
Type integer
This attribute is only valid for RadioButton, PushButton, and Icon Controls.
Restricting NMTOKEN
Value | Description |
---|---|
16 | |
32 | |
48 |
Set this value to the AppID GUID that corresponds to the named executable.
Type Guid
Value must match the following pattern: [{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?
Name of the attribute associated with the value specified in the Value column.
Type string
Unique identifier for the Billboard.
Type string
Action name that determines when the Billboard should be shown.
Type string
The Id cannot by longer than 55 characters.
Type string
In order to prevent errors in cases where the Id is modularized, it should not be longer than 18 characters.
The identifier of the Binary element to reference.
Type string
A string GUID that represents the category of components being grouped together.
Type Guid
Value must match the following pattern: [{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?
The Class identifier (CLSID) of a COM server.
Type Guid
Value must match the following pattern: [{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?
Identifier for the column.
Type string
Component identifier; this is the primary key for identifying components.
Type string
Identifier for the ComponentGroup.
Type string
The identifier of the ComponentGroup to reference.
Type string
The identifier of the Component element to reference.
Type string
Combined with the Dialog Id to make up the primary key of the Control table.
Type string
Primary key used to identify this particular entry.
Type string
The identifier of the custom action.
Type string
The identifier of the CustomAction to reference.
Type string
Identifier for the custom table.
Type string
Unique identifier for the dialog.
Type string
The identifier of the Dialog to reference.
Type string
Identifier for a certificate file.
Type string
This value is the unique identifier of the directory entry.
Type string
The identifier of the Directory element to reference.
Type string
Unique identifier for the directory search.
Type string
Id of the search being referred to.
Type string
Unique identifier for embedded chainer.
Type string
Unique identifier for embedded UI.
Type string
Identifier for the embedded UI resource.
Type string
The name of the table.
Type string
Unique identifier for environment entry.
Type string
Number of the error for which a message is being provided.
Type integer
See MSI SDK for error definitions.
This is simply the file extension, like "doc" or "xml". Do not include the preceding period.
Type string
Unique identifier of the feature.
Type string
Identifier for the FeatureGroup.
Type string
The identifier of the FeatureGroup to reference.
Type string
The identifier of the Feature element to reference.
Type string
The unique identifier for this File element.
Type string
If you omit Id, it defaults to the file name portion of the Source attribute, if specified. May be referenced as a Property by specifying [#value].
Unique identifier for the file search and external key into the Signature table.
Type string
This attribute is required if FileSearch is nested under a DirectorySearch or DirectorySearchRef element.
Specify the Id to the FileSearch to reference.
Type string
Optional identifier for a Fragment.
Type string
Should only be set by advanced users to tag sections.
The Id cannot by longer than 55 characters.
Type string
In order to prevent errors in cases where the Id is modularized, it should not be longer than 18 characters.
The identifier of the Icon element to reference.
Type string
The name of the table in the merge module that is not to be merged into the .msi file.
Type string
Identifier for ini file.
Type string
External key into the Signature table.
Type string
The identity of the instance transform.
Type string
This value will define the name by which the instance should be referred to on the command line. In addition, the value of the this attribute will determine what the value of the property specified in Property attribute on InstanceTransforms will change to for each instance.
GUID identifier for COM Interface.
Type Guid
Value must match the following pattern: [{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?
Disk identifier for Media table.
Type integer
This number must be equal to or greater than 1.
The unique identifier for the Merge element in the source code.
Type string
Referenced by the MergeRef/@Id.
The unique identifier for the Merge element to be referenced.
Type string
The name of the merge module (not the file name).
Type string
Identifier of the data source.
Type string
Identifier for the driver.
Type string
Identifier for the translator.
Type string
The package code GUID for a product or merge module.
Type AutogenGuid
Value must match the following pattern: [{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?
When compiling a product, this attribute should not be set in order to allow the package code to be generated for each build. When compiling a merge module, this attribute must be set to the modularization guid.
Patch code for this patch.
Type AutogenGuid
Value must match the following pattern: [{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?
Identifier for a set of product versions.
Type string
PatchCreation identifier; this is the primary key for identifying patches.
Type Guid
Value must match the following pattern: [{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?
Identifier which indicates a sequence family to which this patch belongs.
Type string
The identifier of the CustomAction to reference.
Type string
The product code GUID for the product.
Type AutogenGuid
Value must match the following pattern: [{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?
Unique identifier for Property.
Type string
Identifier of Property to reference.
Type string
Primary key used to identify this particular entry.
Type string
If this attribute is not specified, an identifier will be generated by hashing the parent Component identifier, Root, Key, and Name.
Primary key used to identify this particular entry.
Type string
If this attribute is not specified, an identifier will be generated by hashing the parent Component identifier, Root, Key, and Name.
Signature to be used for the file, directory or registry key being searched for.
Type string
Specify the Id of the RegistrySearch to reference.
Type string
Primary key used to identify this particular entry.
Type string
If this attribute is not specified, an identifier will be generated by hashing the parent Component identifier, Root, Key, and Name.
Primary key used to identify this particular entry.
Type string
Primary key used to identify this particular entry.
Type string
Primary key used to identify this particular entry.
Type string
If this attribute is not specified, an identifier will be generated by hashing the parent Component identifier, Root, Key, and Name.
Primary key used to identify this particular entry.
Type string
If this attribute is not specified, an identifier will be generated by hashing the parent Component identifier, Root, Key, and Name.
Patch GUID to be unregistered if it exists on the machine targeted by this patch.
Type Guid
Value must match the following pattern: [{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?
A primary key that uniquely identifies this ReserveCost entry.
Type string
Type string
The value of this attribute should be one of the following:
The name (not the display name) of a previously installed service.
Unique identifier for this service.
Type string
This attribute specifies a reference to a Directory element with matching Id attribute.
Type string
The path of the Directory will be set to the Value attribute.
This attribute specifies the Property to set to the Value.
Type string
Primary Key to File Table.
Type string
Unique identifier for the shortcut.
Type string
This value will serve as the primary key for the row.
Foreign key into the File table.
Type string
Identifier for the target image.
Type string
The product code for a product that can receive this patch (or '*' for all products).
Type string
The GUID that identifes the type library.
Type Guid
Value must match the following pattern: [{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?
This value specifies the upgrade code for the products that are to be detected by the FindRelatedProducts action.
Type Guid
Value must match the following pattern: [{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?
Identifier to connect target images with upgraded image.
Type string
The name of the variable.
Type string
If yes, the file is ignored during patching, and the next two attributes are ignored.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Embedded UI will not recieve any INSTALLLOGMODE_ACTIONDATA messages.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Embedded UI will not recieve any INSTALLLOGMODE_ACTIONSTART messages.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Ignore errors when adding existing rows.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
The default is 'yes'.
Ignore errors when adding existing tables.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
The default is 'yes'.
Ignore errors when changing the database code page.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
The default is 'no'.
Embedded UI will not recieve any INSTALLLOGMODE_COMMONDATA messages.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Ignore errors when deleting missing rows.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
The default is 'yes'.
Ignore errors when deleting missing tables.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
The default is 'yes'.
Embedded UI will not recieve any INSTALLLOGMODE_ERROR messages.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Embedded UI will not recieve any INSTALLLOGMODE_FATALEXIT messages.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Embedded UI will not recieve any INSTALLLOGMODE_FILESINUSE messages.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Embedded UI will not recieve any INSTALLLOGMODE_INFO messages.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Embedded UI will not recieve any INSTALLLOGMODE_INITIALIZE messages.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Files missing from the target image are ignored by the installer.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Embedded UI will not recieve any INSTALLLOGMODE_OUTOFDISKSPACE messages.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Normally feature group references that end up nested under a parent element create a connection to that parent.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
This behavior is undesirable when trying to simply reference to a FeatureGroup in a different Fragment. Specify 'yes' to have this feature group reference not create a connection to its parent. The default is 'no'.
Normally feature references that are nested under a parent element create a connection to that parent.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
This behavior is undesirable when trying to simply reference a Feature in a different Fragment. Specify 'yes' to have this feature reference not create a connection to its parent. The default is 'no'.
Embedded UI will not recieve any INSTALLLOGMODE_PROGRESS messages.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Set to "yes" to continue installation upon failure to remove a product or application.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Embedded UI will not recieve any INSTALLLOGMODE_RESOLVESOURCE messages.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Embedded UI will not recieve any INSTALLLOGMODE_RMFILESINUSE messages.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Embedded UI will not recieve any INSTALLLOGMODE_SHOWDIALOG messages.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Embedded UI will not recieve any INSTALLLOGMODE_TERMINATE messages.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Ignore errors when updating missing rows.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
The default is 'yes'.
Embedded UI will not recieve any INSTALLLOGMODE_USER messages.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Embedded UI will not recieve any INSTALLLOGMODE_WARNING messages.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
This attribute is only valid for RadioButton, PushButton, and Icon Controls.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
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.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Typically the value should be 'yes', except when the custom action needs elevated privileges to apply changes to the machine.
Set to "yes" to make the range of versions detected include the value specified in Maximum.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Set to "no" to make the range of versions detected exclude the value specified in Minimum.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
This attribute is "yes" by default.
Specifies whether the value displayed or changed by this control is referenced indirectly.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
If this bit is set, the control displays or changes the value of the property that has the identifier listed in the Property column of the Control table.
Specifies the CLISD may be insertable.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
This attribute determines the default install/run location of a feature.
Restricting NMTOKEN
Value | Description |
---|---|
followParent | Forces the feature to follow the same installation state as its parent feature. |
local | Favors installing this feature locally by setting the msidbFeatureAttributesFavorLocal attribute. |
source | Favors running this feature from source by setting the msidbFeatureAttributesFavorSource attribute. |
This attribute cannot be specified if the value of the FollowParent attribute is 'yes' since that would ask the installer to force this feature to follow the parent installation state and simultaneously favor a particular installation state just for this feature.
The minimum version of the Windows Installer required to install this package.
Type integer
Take the major version of the required Windows Installer and multiply by a 100 then add the minor version of the Windows Installer. For example, "200" would represent Windows Installer 2.0 and "405" would represent Windows Installer 4.5.
Use this attribute to specify the priviliges required to install the package on Windows Vista and above.
Restricting NMTOKEN
Value | Description |
---|---|
limited | Set this value to declare that the package does not require elevated privileges to install. |
elevated | Set this value to declare that the package requires elevated privileges to install. This is the default value. |
Use this attribute to specify the installation scope of this package: per-machine or per-user.
Restricting NMTOKEN
Value | Description |
---|---|
perMachine | Set this value to declare that the package is a per-machine installation and requires elevated privileges to install. Sets the ALLUSERS property to 1. |
perUser | Set this value to declare that the package is a per-user installation and does not require elevated privileges to install. Sets the package's InstallPrivileges attribute to "limited." |
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.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Whether or not the service interacts with the desktop.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Type YesNoType
Value | Description |
---|---|
no | |
yes |
This attribute specifies the name of the JScript function to execute in a script.
Type string
The script must be provided in a Binary element identified by the BinaryKey attribute described above. In other words, this attribute must be specified in conjunction with the BinaryKey attribute.
Keep modeless dialogs alive when this dialog is created through DoAction.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
The localizable .ini file key within the section.
Type string
The key value within the section.
Type string
The localizable key for the registry value.
Type string
The localizable key for the registry value.
Type string
If the parent element is a RegistryKey, this value may be omitted to use the path of the parent, or if its specified it will be appended to the path of the parent.
Key for the registry value.
Type string
The localizable key for the registry value.
Type string
If the parent element is a RegistryKey, this value may be omitted to use the path of the parent, or if its specified it will be appended to the path of the parent.
The localizable key for the registry value.
Type string
The localizable key for the registry value.
Type string
If the parent element is a RegistryKey, this value may be omitted to use the path of the parent, or if its specified it will be appended to the path of the parent.
Column in the table in KeyTable attribute.
Type integer
Does not merge rule according to rules in MSI SDK.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
If this attribute's value is set to 'yes', then the Directory of this Component is used as the KeyPath.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
To set a Registry key or File as the KeyPath of a component, set the KeyPath attribute to 'yes' on one of those child elements.
Set to yes in order to force this file to be the key path for the parent component.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Set 'yes' to force this file to be key path for parent Component
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Set this attribute to 'yes' to make this registry key the KeyPath of the parent component.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Only one resource (registry, file, etc) can be the KeyPath of a component.
Set this attribute to 'yes' to make this registry key the KeyPath of the parent component.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Only one resource (registry, file, etc) can be the KeyPath of a component.
Table in which this column is an external key.
Type string
Can be semicolon delimited.
Optional keywords for browsing.
Type string
Optional keywords for browsing
Type string
Specifies the decimal LCID or localization token for the language to merge the Module in as.
Type LocalizableInteger
Value must match the following pattern: [0-9][0-9]*
The decimal language ID (LCID) of the merge module.
Type LocalizableInteger
Value must match the following pattern: [0-9][0-9]*
The decimal language ID (LCID) for the product.
Type LocalizableInteger
Value must match the following pattern: [0-9][0-9]*
The language of the type library.
Type integer
This must be a non-negative integer.
Specifies the set of languages detected by FindRelatedProducts.
Type string
Enter a list of numeric language identifiers (LANGID) separated by commas (,). Leave this value null to specify all languages. Set ExcludeLanguages to "yes" in order detect all languages, excluding the languages listed in this value.
The languages supported by the file.
Type string
The list of language IDs (LCIDs) supported in the package.
Type string
List of language IDs supported in package
Type string
This attribute specifies the root directory for the uncompressed files that are a part of this Media element.
Type string
By default, the src will be the output directory for the final image. The default value ensures the binder generates
an installable image. If a relative path is specified in the src attribute, the value will be appended to the image's output directory. If an absolute path is provided, that path will be used without modification. The latter two options are provided to ease the layout of an image onto multiple medias (CDs/DVDs).
Set this attribute to "yes" to cause the scroll bar to display on the left side of the Control.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Used to align the scroll bar on the left.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Used only under Feature elements and is required.
Type integer
Allows modifying the level of a Feature based on the result of this condition.
Sets the install level of this feature.
Type integer
A value of 0 will disable the feature. Processing the Condition Table can modify the level value (this is set via the Condition child element).
The load ordering group that this service should be a part of.
Type string
Whether this column can be localized.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Set this value to the name of a service to allow the object to be installed as a Win32 service.
Type string
Restricting NMTOKEN
Value | Description |
---|---|
local | Prevents the component from running from the source or the network (this is the default behavior if this attribute is not set). |
source | Enforces that the component can only be run from the source (it cannot be run from the user's computer). |
either | Allows the component to run from source or locally. |
Type LongFileNameType
Value must match the following pattern: [^\\\?
Type LongFileNameType
Value must match the following pattern: [^\\\?
Type LongFileNameType
Value must match the following pattern: [^\\\?
Type LongFileNameType
Value must match the following pattern: [^\\\?
Type LongFileNameType
Value must match the following pattern: [^\\\?
Value must match the following pattern: [^\\\
Type LongFileNameType
Value must match the following pattern: [^\\\?
Type LongFileNameType
Value must match the following pattern: [^\\\?
The major version of the type library.
Type integer
The value should be an integer from 0 - 255.
The vendor releasing the package.
Type string
Vendor releasing the package
Type string
Vendor releasing the package
Type string
The manufacturer of the product.
Type string
Name of the manufacturer.
Type string
Hex value that is AND'd against the bytes in the file at Offset.
Type HexType
Value must match the following pattern: [0-9A-Fa-f]*
The maximum modification date and time of the file.
Type dateTime
Formatted as YYYY-MM-DDTHH:mm:ss, where YYYY is the year, MM is month, DD is day, 'T' is literal, HH is hour, mm is minute and ss is second.
Specifies the upper boundary of the range of product versions detected by FindRelatedProducts.
Type string
The maximum size of the file.
Type int
Maximum value for a numeric value, date or version in this column.
Type integer
The maximum version of the file.
Type string
Entered into the Source field of the new Media table entry of the upgraded image.
Type string
Used only under Fragment or Product elements and is required.
Type string
Set the value to the text to display when the condition fails and the installation must be terminated.
Set to "yes" to migrate feature states from upgraded products by enabling the logic in the MigrateFeatureStates action.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
The minimum modification date and time of the file.
Type dateTime
Formatted as YYYY-MM-DDTHH:mm:ss, where YYYY is the year, MM is month, DD is day, 'T' is literal, HH is hour, mm is minute and ss is second.
Specifies the lower bound on the range of product versions to be detected by FindRelatedProducts.
Type string
Indicates that the patch targets the RTM version of the product or the most recent major upgrade patch.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Author this optional property in minor update patches that contain sequencing information to indicate that the patch removes all patches up to the RTM version of the product, or up to the most recent major upgrade patch. This property is available beginning with Windows Installer 3.1.
Indicates that the patch targets the RTM version of the product or the most recent major upgrade patch.
Type string
Author this optional property in minor update patches that contain sequencing information to indicate that the patch removes all patches up to the RTM version of the product, or up to the most recent major upgrade patch. This property is available beginning with Windows Installer 3.1.
The minor version of the type library.
Type integer
The value should be an integer from 0 - 255.
The minimum size of the file.
Type int
Minimum value for a numeric value, date or version in this column.
Type integer
The minimum version of the file.
Type string
Used to set the dialog as modeless.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
How this column should be modularized, if at all.
Restricting NMTOKEN
Value | Description |
---|---|
None | Column should not be modularized. This is the default value. |
Column | Column should be modularized. |
Condition | Column is a condition and should be modularized. |
Icon | When the column is an primary or foreign key to the Icon table it should be modularized special. |
Property | Any Properties in the column should be modularized. |
SemicolonDelimited | Semi-colon list of keys, all of which need to be modularized. |
A URL that provides information specific to this patch.
Type string
In Add/Remove Programs from XP SP2 on.
A URL that provides information specific to this patch.
Type string
In Add/Remove Programs from XP SP2 on.
This attribute is only valid for Edit Controls.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Defines the name of the configurable item.
Type string
Key into the ModuleConfiguration table.
Type string
The name of the directory.
Type LongFileNameType
Value must match the following pattern: [^\\\?
Do not specify this attribute (or the LongName attribute) if this directory represents the same directory as the parent (see the Windows Installer SDK's Directory table topic for more information about the "." operator).
In prior versions of the WiX toolset, this attribute specified the short directory name. This attribute's value may now be either a short or long directory name. If a short directory name is specified, the ShortName attribute may not be specified. If a long directory name is specified, the LongName attribute may not be specified. Also, if this value is a long directory name, the ShortName attribute may be omitted to allow WiX to attempt to generate a unique short directory name. However, if this name collides with another directory or you wish to manually specify the short directory name, then the ShortName attribute may be specified.
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.)
Type LongFileNameType
Value must match the following pattern: [^\\\?
If this attribute is not specified the Id attribute will be used.
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.)
Type LongFileNameType
Value must match the following pattern: [^\\\?
If this attribute is not specified the Id attribute will be used.
Name of the environment variable.
Type string
Identifier for the family.
Type string
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.
Type LongFileNameType
Value must match the following pattern: [^\\\?
If a short file name is specified, the ShortName attribute may not be specified. If a long file name is specified, the LongName attribute may not be specified. Also, if this value is a long file name, the ShortName attribute may be omitted to allow WiX to attempt to generate a unique short file name. However, if this name collides with another file or you wish to manually specify the short file name, then the ShortName attribute may be specified. Finally, if this attribute is omitted then its default value is the file name portion of the Source attribute, if one is specified, or the value of the Id attribute, if the Source attribute is omitted or doesn't contain a file name.
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.
Type LongFileNameType
Value must match the following pattern: [^\\\?
If a short file name is specified, the ShortName attribute may not be specified. If a long file name is specified, the LongName attribute may not be specified. If you wish to manually specify the short file name, then the ShortName attribute may be specified.
The name of the item to ignore modularization for.
Type string
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.
Type LongFileNameType
Value must match the following pattern: [^\\\?
If a short name is specified, the ShortName attribute may not be specified. If a long name is specified, the LongName attribute may not be specified. Also, if this value is a long name, the ShortName attribute may be omitted to allow WiX to attempt to generate a unique short name. However, if this name collides with another file or you wish to manually specify the short name, then the ShortName attribute may be specified.
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.
Type LongFileNameType
Value must match the following pattern: [^\\\?
If a short name is specified, the ShortName attribute may not be specified. If a long name is specified, the LongName attribute may not be specified. Also, if this value is a long name, the ShortName attribute may be omitted to allow WiX to attempt to generate a unique short name. However, if you wish to manually specify the short name, then the ShortName
attribute may be specified.
Name for COM Interface.
Type string
Name for the data source.
Type string
Name for the translator.
Type string
Name of the patch property.
Type string
The descriptive name of the product.
Type string
The localizable registry value name.
Type string
If this attribute is not provided the default value for the registry key will be set instead. The Windows Installer allows several special values to be set for this attribute. You should not use them in WiX. Instead use appropriate values in the Action attribute to get the desired behavior.
Registry value name.
Type string
The localizable registry value name.
Type string
If this attribute is not provided the default value for the registry key will be set instead. The Windows Installer allows several special values to be set for this attribute. You should not use them in WiX. Instead use appropriate values in the Action attribute to get the desired behavior.
This value should be set to the localizable name of the file(s) to be removed.
Value must match the following pattern: [^\\\
All of the files that match the wild card will be removed from the specified directory. The value is a filename that may also
contain the wild card characters "?" for any single character or "*" for zero or more occurrences of any character. In prior versions of the WiX toolset, this attribute specified the short file name. This attribute's value may now be either a short or long file name. If a short file name is specified, the ShortName attribute may not be specified. If a long file name is specified, the LongName attribute may not be specified. Also, if this value is a long file name, the ShortName attribute may be omitted to
allow WiX to attempt to generate a unique short file name. However, if you wish to manually specify the short file name, then the ShortName attribute may be specified.
The localizable registry value name.
Type string
If this attribute is not provided the default value for the registry key will be set instead. The Windows Installer allows several special values to be set for this attribute. You should not use them in WiX. Instead use appropriate values in the Action attribute to get the desired behavior.
Name of the service.
Type string
This column is the string that gives the service name to install.
Type string
Filename for catalog file when installed.
Type string
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.
Type LongFileNameType
Value must match the following pattern: [^\\\?
If a short name is specified, the ShortName attribute may not be specified. If a long name is specified, the LongName attribute may not be specified. Also, if this value is a long name, the ShortName attribute may be omitted to allow WiX to attempt to generate a unique short name. However, if this name collides with another shortcut or you wish to manually specify the short name, then the ShortName attribute may be specified.
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.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
The application does register itself as a client of the component. Use this flag only for components that are being registered by the Registry table. Do not use this flag for components registered by the AppId, Class, Extension, ProgId, MIME, and Verb tables.
Used to specify if the dialog can be minimized.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
If yes, null is not a valid entry.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Specifies that the associated ProgId should not be opened by users.
Type string
The value is presented as a warning to users. An empty string is also valid for this attribute.
This attribute is only valid for Text Controls.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Type YesNoType
Value | Description |
---|---|
no | |
yes |
This attribute is only valid for Text Controls.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Whether this column can be left null.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Number of methods implemented on COM Interface.
Type integer
Offset into file. If positive, offset is from the beginning; if negative, offset is from the end.
Type integer
Offset of the start of the range.
Type int
Offset of the start of the range.
Type int
This value determines the time at which the file(s) may be removed.
Restricting NMTOKEN
Value | Description |
---|---|
install | Removes the file only when the parent component is being installed (msiInstallStateLocal or msiInstallStateSource). |
uninstall | Removes the file only when the parent component is being removed (msiInstallStateAbsent). |
both | Removes the file when the parent component is being installed or removed. |
This value determines the time at which the folder may be removed.
Restricting NMTOKEN
Value | Description |
---|---|
install | Removes the folder only when the parent component is being installed (msiInstallStateLocal or msiInstallStateSource). |
uninstall | Removes the folder only when the parent component is being removed (msiInstallStateAbsent). |
both | Removes the folder when the parent component is being installed or removed. |
Mutually exclusive with Before, After, and Sequence attributes
Restricting NMTOKEN
Value | Description |
---|---|
success | |
cancel | |
error | |
suspend |
mutually exclusive with Before, After, and Sequence attributes
Restricting NMTOKEN
Value | Description |
---|---|
success | |
cancel | |
error | |
suspend |
Set to "yes" to detect products and applications but do not uninstall.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
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.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Available beginning with Windows Installer 3.1.
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.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Available beginning with Windows Installer 3.1.
When this attribute is set, patches for files greater than approximately 4 MB in size may be made smaller.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Specifies the order of the external files to use when creating the patch.
Type int
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.
Type string
If this element is nested under a Control element, the default value will be one greater than any previous Publish element's order (the first element's default value is 1).
If this element is nested under a UI element, the default value is always 1 (it does not get a default value based on any previous Publish elements).
Relative order of the target image.
Type int
The full path, including file name, of the patch package file that is to be generated.
Type string
See PatchOutputPath for more information.
If "yes", the sequencing of this action may be overridden by sequencing elsewhere.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
If "yes", the sequencing of this dialog may be overridden by sequencing elsewhere.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Set this value to 'yes' in order to make the variable's value overridable either by another WixVariable entry or via the command-line option -d<name>=<value> for light.exe.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
If the same variable is declared overridable in multiple places it will cause an error (since WiX won't know which value is correct). The default value is 'no'.
If "yes", the sequencing of this action may be overridden by sequencing elsewhere.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
This attribute is the signature of the parent directory of the file or directory in the Signature_ column.
Type string
If this field is null, and the Path column does not expand to a full path, then all the fixed drives of the user's system are searched by using the Path. This field is a key into one of the following tables: the RegLocator, the IniLocator, the CompLocator, or the DrLocator tables.
Restricting NMTOKEN
Value | Description |
---|---|
all | This value is the entire environmental variable. This is the default. |
first | This value is prefixed. |
last | This value is appended. |
This attribute is only valid for Edit Controls.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
The password for the account. Valid only when the account has a password.
Type string
Set to indicate that the patch is non-vital.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Identifier which indicates a sequence family to which this patch belongs.
Type string
This attribute must be set for patch-added files.
Type integer
Each patch should be assigned a different patch group number. Patch groups numbers must be greater 0 and should be assigned consecutively. For example, the first patch should use PatchGroup='1', the second patch will have PatchGroup='2', etc...
Prevents the updating of the file that is in fact changed in the upgraded image relative to the target images.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
This attribute specifies that the Windows Installer, execute the custom action only when a patch is being uninstalled.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
These custom actions should also be conditioned using the MSIPATCHREMOVE property to ensure proper down level (less than Windows Installer 4.5) behavior.
Set if the entire file should be installed rather than creating a binary patch.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Path on the user's system. Either absolute, or relative to containing directories.
Type string
Path on the user's system. Either absolute, or relative to containing directories.
Type string
If this attribute is set to 'yes', the installer does not remove the component during an uninstall.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
The installer registers an extra system client for the component in the Windows Installer registry settings (which basically just means that at least one product is always referencing this component). Note that this option differs from the behavior of not setting a guid because although the component is permanent, it is still patchable (because Windows Installer still tracks it), it's just not uninstallable.
Specifies that the environment variable should not be removed on uninstall.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
The platform supported by the package.
Restricting NMTOKEN
Value | Description |
---|---|
x86 | Set this value to declare that the package is an x86 package. |
ia64 | Set this value to declare that the package is an ia64 package. |
x64 | Set this value to declare that the package is an x64 package. |
intel | Deprecated. Use "x86" instead. |
intel64 | Deprecated. Use "ia64" instead. |
List of platforms supported in package
Type string
Set this attribute to 'yes' in order to make the parent feature of this component the primary feature for this component.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Components may belong to multiple features. By designating a feature as the primary feature of a component, you ensure that whenever a component is selected for install-on-demand (IOD), the primary feature will be the one to install it. This attribute should only be set if a component actually nests under multiple features. If a component nests under only one feature, that feature is the primary feature for the component. You cannot set more than one feature as the primary feature of a given component.
Set this attribute to 'yes' in order to make the parent feature of this component the primary feature for this component.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Components may belong to multiple features. By designating a feature as the primary feature of a component, you ensure that whenever a component is selected for install-on-demand (IOD), the primary feature will be the one to install it. This attribute should only be set if a component actually nests under multiple features. If a component nests under only one feature, that feature is the primary feature for the component. You cannot set more than one feature as the primary feature of a given component.
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.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Features may belong to multiple features. By designating a feature as the primary feature of a component or merge, you ensure that whenever a component is selected for install-on-demand (IOD), the primary feature will be the one to install it. This attribute should only be set if a component actually nests under multiple features. If a component nests under only one feature, that feature is the primary feature for the component. You cannot set more than one feature as the primary feature of a given component.
Specifies whether the feature containing this MergeRef is the primary feature for advertising the merge module's components.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Whether this column is a primary key.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Specifies the architecture for this assembly.
Restricting NMTOKEN
Value | Description |
---|---|
msil | The file is a .NET Framework assembly that is processor-neutral. |
x86 | The file is a .NET Framework assembly for the x86 processor. |
x64 | The file is a .NET Framework assembly for the x64 processor. |
ia64 | The file is a .NET Framework assembly for the ia64 processor. |
This attribute should only be used on .NET Framework 2.0 assemblies.
The ProductCode for this instance.
Type string
Specifies the ProductCode of the product that this family applies to.
Type Guid
Value must match the following pattern: [{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?
Specifies the ProductCode of the product that this family applies to.
Type Guid
Value must match the following pattern: [{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?
This attribute cannot the specified if the TargetImage attribute is specified.
Requires that the upgrade ProductCode match the target ProductCode.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
The default is 'yes'.
Requires that the upgrade ProductLanguage match the target ProductLanguage.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
The default is 'no'.
The ProductName for this instance.
Type string
Determines how many fields in the ProductVersion to check.
Restricting NMTOKEN
Value | Description |
---|---|
Major | Checks the major version. |
Minor | Checks the major and minor versions. |
Update | Checks the major, minor, and update versions. |
The default is 'Update'.
Determines how the target and upgrade ProductVersions are compared.
Restricting NMTOKEN
Value | Description |
---|---|
Lesser | Upgrade ProductVersion < target ProductVersion. |
LesserOrEqual | Upgrade ProductVersion <= target ProductVersion. |
Equal | Upgrade ProductVersion = target ProductVersion. |
GreaterOrEqual | Upgrade ProductVersion >= target ProductVersion. |
Greater | Upgrade ProductVersion > target ProductVersion. |
The default is 'Equal'.
Specifies the CLSID may be programmable.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
This attribute is only valid for ProgressBar Controls.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Property tied to this group
Type string
The name of a defined property to be linked to this control.
Type string
This column is required for active controls.
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.
Type string
This attribute is typically used with the Value attribute to create a type 51 custom action that parses the text in Value and places it into the specified Property. This attribute is also used with the ExeCommand attribute to create a type 50 custom action that uses the value of the given property to specify the path to the executable. Type 51 custom actions are often useful to pass values to a deferred custom action.
See http://msdn.microsoft.com/library/aa370543.aspx for more information.
The name of the metadata property.
Type string
The Id of the Property who's value should change for each instance.
Type string
Property tied to this group
Type string
Property tied to this group
Type string
Set this attribute's value to a property name to set that property.
Type string
Either this attribute or the Event attribute must be set, but not both at the same time.
Property tied to this group.
Type string
Overrides the directory of the parent component with the value of the specified property.
Type string
The property should have a value that resolves to the full path of the source directory. The property does not have to exist in the installer database at creation time; it could be created at installation time by a custom action, on the command line, etc. This attribute cannot be specified in conjunction with the Directory attribute.
Overrides the directory of the parent component with the value of the specified property.
Type string
The property should have a value that resolves to the full path of the source directory. The property does not have to exist in the installer database at creation time; it could be created at installation time by a custom action, on the command line, etc. This attribute cannot be specified in conjunction with the Directory attribute.
When the FindRelatedProducts action detects a related product installed on the system, it appends the product code to the property specified in this field.
Type string
Windows Installer documentation for the Upgrade table states that the property specified in this field must be a public property and must be added to the SecureCustomProperties property. WiX automatically appends the property specified in this field to the SecureCustomProperties property when creating an MSI. Each UpgradeVersion must have a unique Property value. After the FindRelatedProducts action is run, the value of this property is a list product codes, separated by semicolons (;), detected on the system.
Reference to a Property that resolves to the full path to the chainer executeable.
Type string
Mutually exclusive with the BinarySource and FileSource attributes.
GUID CLSID for proxy stub to COM Interface.
Type Guid
Value must match the following pattern: [{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?
GUID CLSID for 32-bit proxy stub to COM Interface.
Type Guid
Value must match the following pattern: [{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?
This attribute is only valid for RadioButton and Checkbox Controls.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
A text string that qualifies the value in the Id attribute.
Type string
A qualifier is used to distinguish multiple forms of the same Component, such as a Component that is implemented in multiple languages.
This attribute is only valid for Volume and Directory Controls.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Set to yes in order to have the file's read-only attribute set when it is installed on the target machine.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
The value of this attribute conveys whether the package should be opened as read-only.
Type YesNoDefaultType
Value | Description |
---|---|
default | |
no | |
yes |
A database editing tool should not modify a read-only enforced database and should issue a warning at attempts to modify a read-only recommended database.
The value of this attribute conveys whether the package should be opened as read-only.
Type YesNoDefaultType
Value | Description |
---|---|
default | |
no | |
yes |
A database editing tool should not modify a read-only enforced database and should issue a warning at attempts to modify a read-only recommended database.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Scope for which the data source should be registered.
Restricting NMTOKEN
Value | Description |
---|---|
machine | Data source is registered per machine. |
user | Data source is registered per user. |
When the value is "yes", the bare file name can be used for COM servers.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
The installer registers the file name only instead of the complete path. This enables the server in the current directory to take precedence and allows multiple copies of the same component.
This attribute is only valid for Volume and Directory Controls.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
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.
Type string
This attribute is only valid for Volume and Directory Controls.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Specifies whether the service should be removed on install, uninstall or both.
Restricting NMTOKEN
Value | Description |
---|---|
install | The service will be deleted by the DeleteServices action during install. |
uninstall | The service will be deleted by the DeleteServices action during uninstall. |
both | The service will be deleted by the DeleteServices action during install and uninstall. |
The installer sets the REMOVE property to features specified in this column.
Type string
The features to be removed can be determined at run time. The Formatted string entered in this field must evaluate to a comma-delimited list of feature names. For example: [Feature1],[Feature2],[Feature3]. No features are removed if the field contains formatted text that evaluates to an empty string. The installer sets REMOVE=ALL only if the Remove field is empty.
Identifier of the merge module required by the merge module.
Type string
Numeric language ID of the merge module in RequiredID.
Type integer
Version of the merge module in RequiredID.
Type string
Required version of the WiX toolset to compile this input file.
Type VersionType
Value must match the following pattern: (\d{1,5}\.){3}\d{1,5}
The resource id of a typelib.
Type integer
The value is appended to the end of the typelib path in the registry.
Value of 'yes' means the type library is restricted, and should not be displayed to users.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
This attribute can only be set if Advertise='no'.
Set this attribute to set the return behavior of the custom action.
Restricting NMTOKEN
Value | Description |
---|---|
asyncNoWait | Indicates that the custom action will run asyncronously and execution may continue after the installer terminates. |
asyncWait | Indicates that the custom action will run asynchronously but the installer will wait for the return code at sequence end. |
check | Indicates that the custom action will run synchronously and the return code will be checked for success. This is the default. |
ignore | Indicates that the custom action will run synchronously and the return code will not be checked. |
Set this attribute to "yes" to cause the Control to be right aligned.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Align text on the right.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Set this attribute to "yes" to cause the Control to display from right to left.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Used to specify if the text in the dialog should be displayed in right to left reading order.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
The predefined root key for the registry value.
Type RegistryRootType
Value | Description |
---|---|
HKMU | A per-user installation will make the operation occur under HKEY_CURRENT_USER. A per-machine installation will make the operation occur under HKEY_LOCAL_MACHINE. |
HKCR | Operation occurs under HKEY_CLASSES_ROOT. When using Windows 2000 or later, the installer writes or removes the value from the HKCU\Software\Classes hive during per-user installations. When using Windows 2000 or later operating systems, the installer writes or removes the value from the HKLM\Software\Classes hive during per-machine installations. |
HKCU | Operation occurs under HKEY_CURRENT_USER. It is recommended to set the KeyPath='yes' attribute when setting this value for writing values in order to ensure that the installer writes the necessary registry entries when there are multiple users on the same computer. |
HKLM | Operation occurs under HKEY_LOCAL_MACHINE. |
HKU | Operation occurs under HKEY_USERS. |
The predefined root key for the registry value.
Type RegistryRootType
Value | Description |
---|---|
HKMU | A per-user installation will make the operation occur under HKEY_CURRENT_USER. A per-machine installation will make the operation occur under HKEY_LOCAL_MACHINE. |
HKCR | Operation occurs under HKEY_CLASSES_ROOT. When using Windows 2000 or later, the installer writes or removes the value from the HKCU\Software\Classes hive during per-user installations. When using Windows 2000 or later operating systems, the installer writes or removes the value from the HKLM\Software\Classes hive during per-machine installations. |
HKCU | Operation occurs under HKEY_CURRENT_USER. It is recommended to set the KeyPath='yes' attribute when setting this value for writing values in order to ensure that the installer writes the necessary registry entries when there are multiple users on the same computer. |
HKLM | Operation occurs under HKEY_LOCAL_MACHINE. |
HKU | Operation occurs under HKEY_USERS. |
Root key for the registry value.
Restricting NMTOKEN
Value | Description |
---|---|
HKCR | HKEY_CLASSES_ROOT |
HKCU | HKEY_CURRENT_USER |
HKLM | HKEY_LOCAL_MACHINE |
HKU | HKEY_USERS |
The predefined root key for the registry value.
Type RegistryRootType
Value | Description |
---|---|
HKMU | A per-user installation will make the operation occur under HKEY_CURRENT_USER. A per-machine installation will make the operation occur under HKEY_LOCAL_MACHINE. |
HKCR | Operation occurs under HKEY_CLASSES_ROOT. When using Windows 2000 or later, the installer writes or removes the value from the HKCU\Software\Classes hive during per-user installations. When using Windows 2000 or later operating systems, the installer writes or removes the value from the HKLM\Software\Classes hive during per-machine installations. |
HKCU | Operation occurs under HKEY_CURRENT_USER. It is recommended to set the KeyPath='yes' attribute when setting this value for writing values in order to ensure that the installer writes the necessary registry entries when there are multiple users on the same computer. |
HKLM | Operation occurs under HKEY_LOCAL_MACHINE. |
HKU | Operation occurs under HKEY_USERS. |
The predefined root key for the registry value.
Type RegistryRootType
Value | Description |
---|---|
HKMU | A per-user installation will make the operation occur under HKEY_CURRENT_USER. A per-machine installation will make the operation occur under HKEY_LOCAL_MACHINE. |
HKCR | Operation occurs under HKEY_CLASSES_ROOT. When using Windows 2000 or later, the installer writes or removes the value from the HKCU\Software\Classes hive during per-user installations. When using Windows 2000 or later operating systems, the installer writes or removes the value from the HKLM\Software\Classes hive during per-machine installations. |
HKCU | Operation occurs under HKEY_CURRENT_USER. It is recommended to set the KeyPath='yes' attribute when setting this value for writing values in order to ensure that the installer writes the necessary registry entries when there are multiple users on the same computer. |
HKLM | Operation occurs under HKEY_LOCAL_MACHINE. |
HKU | Operation occurs under HKEY_USERS. |
The predefined root key for the registry value.
Type RegistryRootType
Value | Description |
---|---|
HKMU | A per-user installation will make the operation occur under HKEY_CURRENT_USER. A per-machine installation will make the operation occur under HKEY_LOCAL_MACHINE. |
HKCR | Operation occurs under HKEY_CLASSES_ROOT. When using Windows 2000 or later, the installer writes or removes the value from the HKCU\Software\Classes hive during per-user installations. When using Windows 2000 or later operating systems, the installer writes or removes the value from the HKLM\Software\Classes hive during per-machine installations. |
HKCU | Operation occurs under HKEY_CURRENT_USER. It is recommended to set the KeyPath='yes' attribute when setting this value for writing values in order to ensure that the installer writes the necessary registry entries when there are multiple users on the same computer. |
HKLM | Operation occurs under HKEY_LOCAL_MACHINE. |
HKU | Operation occurs under HKEY_USERS. |
Specifies the primary keys of the target row in the table named in the Table column.
Type string
If multiple keys, separated by semicolons.
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.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
The number of bytes of disk space to reserve if the component is installed to run from source.
Type integer
The number of bytes of disk space to reserve if the component is installed to run locally.
Type integer
May only be specified if the value of the Advertise attribute is "no".
Type YesNoType
Value | Description |
---|---|
no | |
yes |
May only be specified if the value of the Advertise attribute is "no".
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Creates a type 37 or 38 custom action.
Restricting NMTOKEN
Value | Description |
---|---|
jscript | |
vbscript |
The text of the element should contain the script to be embedded in the package.
The localizable .ini file section.
Type string
The localizable .ini file section.
Type string
Denotes that the Property can be passed to the server side when doing a managed installation with elevated privileges.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
See the SecureCustomProperties Property for more information.
The cost of registering the file in bytes.
Type integer
This must be a non-negative number. Including this attribute will cause an entry to be generated for the file in the SelfReg table.
Optional attribute to change the separator used between values.
Type string
By default a semicolon is used.
The sequence number for this action.
Type integer
Mutually exclusive with Before, After, and OnExit attributes
Used to populate the sequence column of the MsiPatchSequence table in the final MSP file.
Type string
Specified in x.x.x.x format. See documentation for Sequence column of MsiPatchSequence table in MSI SDK.
Controls which sequences the Directory assignment is sequenced in.
Restricting NMTOKEN
Value | Description |
---|---|
both | Schedules the assignment in the InstallUISequence and the InstallExecuteSequence. |
execute | Schedules the assignment only in the the InstallExecuteSequence. |
ui | Schedules the assignment only in the the InstallUISequence. |
The default is both.
Controls which sequences the Property assignment is sequenced in.
Restricting NMTOKEN
Value | Description |
---|---|
both | Schedules the assignment in the InstallUISequence and the InstallExecuteSequence. |
execute | Schedules the assignment only in the the InstallExecuteSequence. |
ui | Schedules the assignment only in the the InstallUISequence. |
The default is both.
The sequence of the commands.
Type integer
Only verbs for which the Sequence is specified are used to prepare an ordered list for the default value of the shell key. The Verb with the lowest value in this column becomes the default verb. Used only for Advertised verbs.
A value used to indicate the position of this action in a sequence.
Type integer
A value used to indicate the position of this action in a sequence.
Type integer
Sequence number for the starting file.
Type int
May only be specified if the value of the Advertise attribute is "no".
Type string
File Id of the COM server file. If this element is nested under a File element, this value defaults to the value of the parent File/@Id.
Set this value to the parameters to be passed to a LocalService on invocation.
Type string
Semicolon delimited list of permissible values.
Type string
Required if not found as child of File element or different from File attribute above
Type string
Required if not found as child of File element or different from File attribute above
Type string
If this attribute's value is set to 'yes', enables advanced patching semantics for Components that are shared across multiple Products.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Specifically, the Windows Installer will cache the shared files to improve patch uninstall. This functionality is available in Windows Installer 4.5 and later.
Shared Component for this application Component.
Type string
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.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
If this bit is not set, the installer increments the reference count only if the reference count already exists.
The short name of the directory in 8.3 format.
Type ShortFileNameType
Value must match the following pattern: [^\\\?
This attribute should only be set if there is a conflict between generated short directory names or the user wants to manually specify the short directory name.
The short file name of the file in 8.3 format.
Type ShortFileNameType
Value must match the following pattern: [^\\\?
This attribute should only be set if there is a conflict between generated short file names or the user wants to manually specify the short file name.
The short file name of the file in 8.3 format.
Type ShortFileNameType
Value must match the following pattern: [^\\\?
There is a Windows Installer bug which prevents the FileSearch functionality from working if both a short and long file name are specified. Since the Name attribute allows either a short or long name to be specified, it is the only attribute related to file names which should be specified.
The short name of the in 8.3 format.
Type ShortFileNameType
Value must match the following pattern: [^\\\?
This attribute should only be set if there is a conflict between generated short names or the user wants to manually specify the short name.
The short name of the file in 8.3 format.
Type ShortFileNameType
Value must match the following pattern: [^\\\?
This attribute should only be set if the user wants to manually specify the short name.
The short file name of the file in 8.3 format.
Type WildCardShortFileNameType
Value must match the following pattern: [^\\\
This attribute should only be set if you want to manually specify the short file name.
The short name of the shortcut in 8.3 format.
Type ShortFileNameType
Value must match the following pattern: [^\\\?
This attribute should only be set if there is a conflict between generated short names or the user wants to manually specify the short name.
Set to 'yes' to have short filenames in the source.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Short filenames on source
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Specifies whether or not to use the short path for the COM server.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
This can only apply when Adverstise is set to 'no'. The default is 'no' meaning that it will use the long file name for the COM server.
The short name of the directory on the source media in 8.3 format.
Type ShortFileNameType
Value must match the following pattern: [^\\\?
This attribute should only be set if there is a conflict between generated short directory names or the user wants to manually specify the short source directory name.
Restricting NMTOKEN
Value | Description |
---|---|
normal | The shortcut target will be displayed using the SW_SHOWNORMAL attribute. |
minimized | The shortcut target will be displayed using the SW_SHOWMINNOACTIVE attribute. |
maximized | The shortcut target will be displayed using the SW_SHOWMAXIMIZED attribute. |
This attribute is only valid for VolumeCostList Controls.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Skip property (type 51) and directory (type 35) assignment custom actions.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Skip custom actions that run within the script.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Skip immediate custom actions that are not property or directory assignment custom actions.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
This attribute is only valid for Listbox, ListView, and ComboBox Controls.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Set the value of this attribute to "yes" to have entries appear in the order specified under the Control. If the attribute value is "no" or absent the entries in the control will appear in alphabetical order.
Full path of the external file.
Type string
Specifies the path to the File in the build process.
Type string
This attribute must be set if no source information can be gathered from parent directories.
Optional property that identifies the source of the embedded cabinet.
Type string
If a cabinet is specified for a patch, this property should be defined and unique to each patch so that the embedded cabinet containing patched and new files can be located in the patch package. If the cabinet is not embedded - this is not typical - the cabinet can be found in the directory referenced in this column. If empty, the external cabinet must be located in the SourceDir directory.
This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified.
Type string
Set this value to the source directory from which to copy or move an existing file on the target machine. This Directory must exist in the installer database at creation time. This attribute cannot be specified in conjunction with SourceProperty.
The path to the certificate file.
Type string
The path to signature's optional hash file.
Type string
Path to the binary file that is the embedded UI.
Type string
This must be a DLL that exports the following three entry points: InitializeEmbeddedUI, EmbeddedUIHandler and ShutdownEmbeddedUI.
Path to the binary file that is the embedded UI resource.
Type string
Path to the source location of the merge module.
Type string
Path to catalog file in binary.
Type string
Full path to the location of the msi file for the target image.
Type string
Instructs the text to be imported from a file instead of the element value during the binding process.
Type string
Full path to location of msi file for upgraded image.
Type string
Used to locate the .msp file for the patch if the cached copy is unavailable.
Type string
See PatchSourceList for more information.
This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified.
Value must match the following pattern: [^\\\
Set this value to the localizable name of the file(s) to be copied or moved. All of the files that match the wild card will be removed from the specified directory. The value is a filename that may also contain the wild card characters "?" for any single character or "*" for zero or more occurrences of any character. If this attribute is not specified (and this element is not nested under a File element or specify a FileId attribute) then the SourceProperty attribute should be set to the name of a property that will resolve to the full path of the source filename. If the value of this attribute contains a "*" wildcard and the DestinationName attribute is specified, all moved or copied files retain the file names from their sources.
The name of the directory on the source media.
Type LongFileNameType
Value must match the following pattern: [^\\\?
If this attribute is note specified, the Windows Installer will default to the Name attribute. In prior versions of the WiX toolset, this attribute specified the short source directory name. This attribute's value may now be either a short or long directory name. If a short directory name is specified, the ShortSourceName attribute may not be specified. If a long directory name is specified, the LongSource attribute may not be specified. Also, if this value is a long directory name, the ShortSourceName attribute may be omitted to allow WiX to attempt to generate a unique short directory name. However, if this name collides with another directory or you wish to manually specify the short directory name, then the ShortSourceName attribute may be specified.
Modified copy of the upgraded installation database that contains additional authoring specific to patching.
Type string
This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified.
Type string
Set this value to a property that will have a value that resolves to the full path of the source directory (or full path including file name if SourceName is not specified). The property does not have to exist in the installer database at creation time; it could be created at installation time by a custom action, on the command line, etc. This attribute cannot be specified in conjunction with SourceDirectory.
Specifies whether the service should be started on install, uninstall or both.
Restricting NMTOKEN
Value | Description |
---|---|
install | The service will be started by the StartServices action during install. |
uninstall | The service will be started by the StartServices action during uninstall. |
both | The service will be started by the StartServices action during install and uninstall. |
Determines when the service should be started.
Restricting NMTOKEN
Value | Description |
---|---|
auto | The service will start during startup of the system. |
demand | The service will start when the service control manager calls the StartService function. |
disabled | The service can no longer be started. |
boot | The service is a device driver that will be started by the operating system boot loader. This value is not currently supported by the Windows Installer. |
system | The service is a device driver that will be started by the IoInitSystem function. This value is not currently supported by the Windows Installer. |
The Windows Installer does not support boot or system.
Specifies whether the service should be stopped on install, uninstall or both.
Restricting NMTOKEN
Value | Description |
---|---|
install | The service will be stopped by the StopServices action during install. |
uninstall | The service will be stopped by the StopServices action during uninstall. |
both | The service will be stopped by the StopServices action during install and uninstall. |
Type YesNoType
Value | Description |
---|---|
no | |
yes |
The code page integer value or web name for summary info strings only.
Type string
See remarks for more information.
The code page integer value or web name for summary info strings only.
Type string
See remarks for more information.
Set this attribute to "yes" to cause the Control to be sunken.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Set this value to 'yes' to indicate that this patch will supersede all previous patches in this patch family.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
The default value is 'no'.
Set this value to 'yes' to indicate that this patch will supersede all previous patches in this patch family.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
The default value is 'no'.
Set yes to allow the Windows Installer to display the embedded UI during basic UI level installation.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
If yes, this action will not occur.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
If yes, this action will not occur.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Use to suppress modularization of this Binary identifier in merge modules.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Use to suppress modularization of this custom action name in merge modules.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
This should only be necessary for table-driven custom actions because the table name which they interact with cannot be modularized, so there can only be one instance of the table.
Use to suppress modularization of this property identifier in merge modules.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Using this functionality is strongly discouraged; it should only be necessary as a workaround of last resort in rare scenarios.
An 8-digit hex integer representing the combination of patch symbol usage flags to use when creating a binary file patch.
Type int
See ApiPatchingSymbolFlags for more information.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Specifies that the environment variable should be added to the system environment space.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
The default is 'no' which indicates the environment variable is added to the user environment space.
Set to yes in order to have the file's system attribute set when it is installed on the target machine.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Used to set the dialog as system modal.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Specifies the name of the table being modified in the module database.
Type string
Set this attribute to "yes" to cause this Control to be skipped in the tab sequence.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Type YesNoType
Value | Description |
---|---|
no | |
yes |
This attribute can only be set if this Shortcut element is nested under a Component element.
Type string
When nested under a Component element, this attribute's value will default to the parent directory. This attribute's value is the target for a non-advertised shortcut. This attribute is not valid for advertised shortcuts. If you specify this value, its value should be a property identifier enclosed by square brackets ([ ]), that is expanded into the file or a folder pointed to by the shortcut.
Either this attribute or the TargetProperty attribute must be specified for a non-advertised verb.
Type string
The value should be the identifier of the target file to be executed for the verb.
Specifies the TargetImage that this family applies to.
Type string
This attribute cannot the specified if the ProductCode attribute is specified.
Name of the application or target product suite.
Type string
Name of the application or target product suite.
Type string
Either this attribute or the TargetFile attribute must be specified for a non-advertised verb.
Type string
The value should be the identifier of the property which will resolve to the path to the target file to be executed for the verb.
used to format ActionData messages from action processing
Type string
This attribute specifies controls whether the custom action will impersonate the installing user during per-machine installs on Terminal Server machines.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Deferred execution custom actions that do not specify this attribute, or explicitly set it 'no', will run with no user impersonation on Terminal Server machines during per-machine installations. This attribute is only applicable when installing on the Windows Server 2003 family.
A localizable string used to set the initial text contained in a control.
Type string
This attribute can contain a formatted string that is processed at install time to insert the values of properties using [PropertyName] syntax. Also supported are environment variables, file installation paths, and component installation directories; see Formatted for details.
The localizable, visible text to be assigned to the item.
Type string
If not specified, this will default to the value of the Value attribute.
Text displayed with the radio button.
Type string
This attribute is mutually exclusive with the Bitmap and Icon attributes.
Threading model for the CLSID.
Restricting NMTOKEN
Value | Description |
---|---|
apartment | |
free | |
both | |
neutral | |
single | |
rental |
The title of the dialog box.
Type string
Short string of text identifying the feature.
Type string
This string is listed as an item by the SelectionTree control of the Selection Dialog.
The string used for the Tooltip.
Type string
Have the dialog periodically call the installer to check if available disk space has changed.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
If this attribute is set to 'yes', the installer reevaluates the value of the statement in the Condition upon a reinstall.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
If the value was previously False and has changed to True, the installer installs the component. If the value was previously True and has
changed to False, the installer removes the component even if the component has other products as clients.
This attribute is only valid for Text Controls.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
For a directory, the right to traverse the directory.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
By default, users are assigned the BYPASS_TRAVERSE_CHECKING privilege, which ignores the FILE_TRAVERSE access right. Only valid under a 'CreateFolder' parent.
Causes an entry to be generated for the file in the Font table with no FontTitle specified.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
This attribute is intended to be used to register the file as a TrueType font.
The type of this column.
Restricting NMTOKEN
Value | Description |
---|---|
binary | Column contains a path to a file that will be inserted into the column as a binary object. If this value is set, the Category attribute must also be set with a value of 'Binary' to pass ICE validation. |
int | Column contains an integer or datetime value (the MinValue and MaxValue attributes should also be set). |
string | Column contains a non-localizable string value. |
Must be file if last child is FileSearch element and must be directory if last child is DirectorySearch element.
Restricting NMTOKEN
Value | Description |
---|---|
directory | The key path of the component is a directory. |
file | The key path of the component is a file. This is the default value. |
Specifies the type of the data being changed.
Type string
The type of the control.
Type string
Could be one of the following: Billboard, Bitmap, CheckBox, ComboBox, DirectoryCombo, DirectoryList, Edit, GroupBox, Icon, Line, ListBox, ListView, MaskedEdit, PathEdit, ProgressBar, PushButton, RadioButtonGroup, ScrollableText, SelectionTree, Text, VolumeCostList, VolumeSelectCombo
The type of the item to ignore modularization for.
Restricting NMTOKEN
Value | Description |
---|---|
Action | |
Property | |
Directory |
Must be file if last child is FileSearch element and must be directory if last child is DirectorySearch element.
Restricting NMTOKEN
Value | Description |
---|---|
directory | A directory location. |
file | A file location. This is the default value. |
raw | A raw .ini value. |
Set this attribute to the type of the desired registry key.
Restricting NMTOKEN
Value | Description |
---|---|
string | The value is interpreted and stored as a string (REG_SZ). |
integer | The value is interpreted and stored as an integer (REG_DWORD). |
binary | The value is interpreted and stored as a hexadecimal value (REG_BINARY). |
expandable | The value is interpreted and stored as an expandable string (REG_EXPAND_SZ). |
multiString | The value is interpreted and stored as a multiple strings (REG_MULTI_SZ). Please note that this value will only result in a multi-string value if there is more than one registry value or the Action attribute's value is 'append' or 'prepend'. Otherwise a string value will be created. |
This attribute must be specified whenever the Value attribute or a child RegistryValue element is specified. This attribute should only be set when the value of the Action attribute does not include the word 'remove'.
The value must be 'file' if the last child is a FileSearch element and must be 'directory' if last child is a DirectorySearch element.
Restricting NMTOKEN
Value | Description |
---|---|
directory | Sets a directory path from the registry value. |
file | Sets a file path from the registry value. |
raw | Sets the raw value from the registry value. Please note that this value will contain a prefix as follows: |
Set this attribute to the type of the desired registry key.
Restricting NMTOKEN
Value | Description |
---|---|
string | The value is interpreted and stored as a string (REG_SZ). |
integer | The value is interpreted and stored as an integer (REG_DWORD). |
binary | The value is interpreted and stored as a hexadecimal value (REG_BINARY). |
expandable | The value is interpreted and stored as an expandable string (REG_EXPAND_SZ). |
multiString | The value is interpreted and stored as a multiple strings (REG_MULTI_SZ). Please note that this value will only result in a multi-string value if there is more than one registry value or the Action attribute's value is 'append' or 'prepend'. Otherwise a string value will be created. |
This attribute must be specified whenever the Value attribute or a child RegistryValue element is specified. This attribute should only be set when the value of the Action attribute does not include the word 'remove'.
The Windows Installer does not currently support kernelDriver or systemDriver
Restricting NMTOKEN
Value | Description |
---|---|
ownProcess | A Win32 service that runs its own process. |
shareProcess | A Win32 service that shares a process. |
kernelDriver | A kernel driver service. This value is not currently supported by the Windows Installer. |
systemDriver | A file system driver service. This value is not currently supported by the Windows Installer. |
This attribute determines the default advertise state of the feature.
Restricting NMTOKEN
Value | Description |
---|---|
advertise | Sets the feature to be advertised by setting the msidbFeatureAttributesFavorAdvertise attribute. This value cannot be set if the value of the AllowAdvertise attribute is 'no' since that would ask the installer to disallow the advertised state for this feature while at the same time favoring it. |
install | Sets the feature to the default non-advertised installation option. |
Type YesNoType
Value | Description |
---|---|
no | |
yes |
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.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
This functionality is available in Windows Installer 4.5 and later.
The upgrade code GUID for the product.
Type Guid
Value must match the following pattern: [{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?
Requires that the upgrade UpgradeCode match the target UpgradeCode.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
The default is 'yes'.
This attribute is only valid for Text Controls.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Product checking to avoid applying irrelevant transforms.
Type string
Value associated with the name specified in the Name column.
Type string
Value to be passed to configurable merge module.
Type string
This attribute specifies a string value to use in the custom action.
Type string
This attribute must be used with the Property attribute to set the property as part of a type 51 custom action or with the Directory attribute to set a directory path in that table in a type 35 custom action. The value can be a literal value or derived from a Property element using the Formatted syntax.
Value of the metadata property.
Type string
The value to set into the environment variable.
Type string
If this attribute is not set, the environment variable is removed during installation if it exists on the machine.
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.
Type HexType
Value must match the following pattern: [0-9A-Fa-f]*
The localizable value to be written or deleted. This attribute must be set if the Action attribute's value is "addLine", "addTag", or "createLine".
Type string
The value assigned to the associated ComboBox, ListBox, or ListView property if this item is selected.
Type string
Value of the patch property.
Type string
Sets a default value for the property. The value will be overwritten if the Property is used for a search.
Type string
If the Property attribute is specified, set the value of this attribute to the new value for the property.
Type string
To set a property to null, do not set this attribute (the ControlEvent Argument column will be set to '{}'). Otherwise, this attribute's value should be the argument for the event specified in the Event attribute.
Value assigned to the associated control Property when this radio button is selected.
Type string
Set this attribute to the localizable registry value. This value is formatted.
Type string
The Windows Installer allows several special values to be set for this attribute. You should not use them in WiX. Instead use appropriate
values in the Type attribute to get the desired behavior. This attribute cannot be specified if the Action attribute's value contains the word 'remove'.
Set this attribute to the localizable registry value.
Type string
This value is formatted. The Windows Installer allows several special values to be set for this attribute. You should not use them in WiX. Instead use appropriate values in the Type attribute to get the desired behavior.
This attribute specifies a string value to assign to the Directory.
Type string
The value can be a literal value or derived from a Property element using the Formatted syntax.
This attribute specifies a string value to assign to the Property.
Type string
The value can be a literal value or derived from a Property element using the Formatted syntax.
Provides a formatting template for the data being substituted into the target field specified by Table, Row, and Column.
Type string
The value of the variable.
Type string
The value cannot be an empty string because that would make it possible to accidentally set a column to null.
This attribute specifies the name of the VBScript Subroutine to execute in a script.
Type string
The script must be provided in a Binary element identified by the BinaryKey attribute described above. In other words, this attribute must be specified in conjunction with the BinaryKey attribute.
The major and minor versions of the merge module.
Type string
Used to populate the sequence column of the MsiPatchSequence table in the final MSP file.
Type string
Specified in x.x.x.x format. See documentation for Sequence column of MsiPatchSequence table in MSI SDK.
The product's version string.
Type string
Determines whether a Typelib version entry should be created with the other COM Interface registry keys.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Default is 'yes'.
If a file is vital, then installation cannot proceed unless the file is successfully installed.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
The user will have no option to ignore an error installing this file. If an error occurs, they can merely retry to install the file or abort the installation. The default is "yes," unless the -sfdvital switch (candle.exe) or SuppressFileDefaultVital property (.wixproj) is used.
The overall install should fail if this service fails to install.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Entered into the VolumeLabel field of the new Media table record.
Type string
The label attributed to the volume.
Type string
This is the volume label returned by the GetVolumeInformation function. If the SourceDir property refers to a removable (floppy or CD-ROM) volume, then this volume label is used to verify that the proper disk is in the drive before attempting to install files. The entry in this column must match the volume label of the physical media.
Specifies whether or not to wait for the service to complete before continuing.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Whether the whole file should be installed, rather than creating a binary patch.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Use this to set whether changing files should be included in their entirety.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
See IncludeWholeFilesOnly for more information.
Width of the rectangular boundary of the control.
Type LocalizableInteger
Value must match the following pattern: [0-9][0-9]*
This must be a non-negative number.
The width of the dialog box in dialog units.
Type integer
Type LocalizableInteger
Value must match the following pattern: [0-9][0-9]*
Set this attribute to 'yes' to mark this as a 64-bit component.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
This attribute facilitates the installation of packages that include both 32-bit and 64-bit components. If this bit is not set, the component is registered as a 32-bit component. If this is a 64-bit component replacing a 32-bit component, set this bit and assign a new GUID in the Guid attribute.
Specifies that a script custom action targets a 64-bit platform.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Valid only when used with the Script, VBScriptCall, and JScriptCall attributes.
Instructs the search to look in the 64-bit registry when the value is 'yes'.
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Default is 'no' and search looks in the 32-bit registry.
Directory identifier (or Property identifier that resolves to a directory) that resolves to the path of the working directory for the shortcut.
Type string
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Type YesNoType
Value | Description |
---|---|
no | |
yes |
Horizontal coordinate of the upper-left corner of the rectangular boundary of the control.
Type LocalizableInteger
Value must match the following pattern: [0-9][0-9]*
This must be a non-negative number.
Horizontal placement of the dialog box as a percentage of screen width.
Type integer
The default value is 50.
Type LocalizableInteger
Value must match the following pattern: [0-9][0-9]*
Vertical coordinate of the upper-left corner of the rectangular boundary of the control.
Type LocalizableInteger
Value must match the following pattern: [0-9][0-9]*
This must be a non-negative number.
Vertical placement of the dialog box as a percentage of screen height.
Type integer
The default value is 50.
Type LocalizableInteger
Value must match the following pattern: [0-9][0-9]*
Name | Description |
---|---|
ActionModuleSequenceType | |
ActionSequenceType |
Extending string
Name | Type | Required? | Default | Description |
---|---|---|---|---|
After | string | No | The name of an action that this action should come after. |
|
Before | string | No | The name of an action that this action should come before. |
|
Overridable | YesNoType | No | If "yes", the sequencing of this action may be overridden by sequencing elsewhere. |
|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
<xs:complexType name="ActionModuleSequenceType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:annotation>
<xs:documentation>Text node specifies the condition of the action.</xs:documentation>
</xs:annotation>
<xs:attribute name="After" type="xs:string">
<xs:annotation>
<xs:documentation>The name of an action that this action should come after.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Before" type="xs:string">
<xs:annotation>
<xs:documentation>The name of an action that this action should come before.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Overridable" type="YesNoType">
<xs:annotation>
<xs:documentation>
If "yes", the sequencing of this action may be overridden by sequencing elsewhere.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Sequence" type="xs:integer">
<xs:annotation>
<xs:documentation>A value used to indicate the position of this action in a sequence.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Suppress" type="YesNoType">
<xs:annotation>
<xs:documentation>If yes, this action will not occur.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
Extending string
Name | Type | Required? | Default | Description |
---|---|---|---|---|
Sequence | integer | No | A value used to indicate the position of this action in a sequence. |
|
Suppress | YesNoType | No | If yes, this action will not occur. |
<xs:complexType name="ActionSequenceType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="Sequence" type="xs:integer">
<xs:annotation>
<xs:documentation>A value used to indicate the position of this action in a sequence.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Suppress" type="YesNoType">
<xs:annotation>
<xs:documentation>If yes, this action will not occur.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
Name | Description |
---|---|
AutogenGuid | Values of this type will look like: "01234567-89AB-CDEF-0123-456789ABCDEF" or "{01234567-89AB-CDEF-0123-456789ABCDEF}". |
ComponentGuid | Values of this type will look like: "01234567-89AB-CDEF-0123-456789ABCDEF" or "{01234567-89AB-CDEF-0123-456789ABCDEF}", but also allows "PUT-GUID-HERE" for use in examples. It's also possible to have an empty value "". |
Guid | Values of this type will look like: "01234567-89AB-CDEF-0123-456789ABCDEF" or "{01234567-89AB-CDEF-0123-456789ABCDEF}". |
HexType | This type supports any hexadecimal number. |
LocalizableInteger | Values of this type must be an integer or the value can be a localization variable with the format !(loc.Variable) where "Variable" is the name of the variable. |
LongFileNameType | Values of this type will look like: "Long File Name.extension". |
PatchClassificationType | Category of update. |
RegistryRootType | Values of this type represent possible registry roots. |
ShortFileNameType | Values of this type will look like: "FileName.ext". |
VersionType | Values of this type will look like: "x.x.x.x" where x is an integer from 0 to 65534. |
WildCardLongFileNameType | Values of this type will look like: "Long File N?me.extension*". |
WildCardShortFileNameType | Values of this type will look like: "File?.*". |
YesNoDefaultType | Values of this type will either be "default", "yes", or "no". |
YesNoType | Values of this type will either be "yes" or "no". |
Values of this type will look like: "01234567-89AB-CDEF-0123-456789ABCDEF" or "{01234567-89AB-CDEF-0123-456789ABCDEF}".
Restricting string
Value must match the following pattern: [{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?
A GUID can be auto-generated by setting the value to "*". Also allows "PUT-GUID-HERE" for use in examples.
<xs:simpleType name="AutogenGuid">
<xs:annotation>
<xs:documentation>Values of this type will look like: "01234567-89AB-CDEF-0123-456789ABCDEF" or "{01234567-89AB-CDEF-0123-456789ABCDEF}". A GUID can be auto-generated by setting the value to "*". Also allows "PUT-GUID-HERE" for use in examples.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="[{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?|[{(]?\?{8}\-\?{4}\-\?{4}\-\?{4}\-\?{12}[})]?|PUT\-GUID\-(?:\d+\-)?HERE|([!$])(\(var|\(loc|\(wix)\.[_A-Za-z][0-9A-Za-z_.]*\)|\*" />
</xs:restriction>
</xs:simpleType>
Values of this type will look like: "01234567-89AB-CDEF-0123-456789ABCDEF" or "{01234567-89AB-CDEF-0123-456789ABCDEF}", but also allows "PUT-GUID-HERE" for use in examples. It's also possible to have an empty value "".
Restricting string
Value must match the following pattern: [{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?
<xs:simpleType name="ComponentGuid">
<xs:annotation>
<xs:documentation>Values of this type will look like: "01234567-89AB-CDEF-0123-456789ABCDEF" or "{01234567-89AB-CDEF-0123-456789ABCDEF}", but also allows "PUT-GUID-HERE" for use in examples. It's also possible to have an empty value "".</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="[{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?|PUT\-GUID\-(?:\d+\-)?HERE|([!$])(\(var|\(loc|\(wix)\.[_A-Za-z][0-9A-Za-z_.]*\)|\*|^$" />
</xs:restriction>
</xs:simpleType>
Values of this type will look like: "01234567-89AB-CDEF-0123-456789ABCDEF" or "{01234567-89AB-CDEF-0123-456789ABCDEF}".
Restricting string
Value must match the following pattern: [{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?
Also allows "PUT-GUID-HERE" for use in examples.
<xs:simpleType name="Guid">
<xs:annotation>
<xs:documentation>Values of this type will look like: "01234567-89AB-CDEF-0123-456789ABCDEF" or "{01234567-89AB-CDEF-0123-456789ABCDEF}". Also allows "PUT-GUID-HERE" for use in examples.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="[{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?|PUT\-GUID\-(?:\d+\-)?HERE|([!$])(\(var|\(loc|\(wix)\.[_A-Za-z][0-9A-Za-z_.]*\)" />
</xs:restriction>
</xs:simpleType>
This type supports any hexadecimal number.
Restricting string
Value must match the following pattern: [0-9A-Fa-f]*
Both upper and lower case is acceptable for letters appearing in the number. This type also includes the empty string: "".
<xs:simpleType name="HexType">
<xs:annotation>
<xs:documentation>This type supports any hexadecimal number. Both upper and lower case is acceptable for letters appearing in the number. This type also includes the empty string: "".</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="[0-9A-Fa-f]*" />
</xs:restriction>
</xs:simpleType>
Values of this type must be an integer or the value can be a localization variable with the format !(loc.Variable) where "Variable" is the name of the variable.
Restricting string
Value must match the following pattern: [0-9][0-9]*
<xs:simpleType name="LocalizableInteger">
<xs:annotation>
<xs:documentation>Values of this type must be an integer or the value can be a localization variable with the format !(loc.Variable) where "Variable" is the name of the variable.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="[0-9][0-9]*|([!$])\((?:loc|bind)\.[_A-Za-z][0-9A-Za-z_.]+\)" />
</xs:restriction>
</xs:simpleType>
Values of this type will look like: "Long File Name.extension".
Restricting string
Value must match the following pattern: [^\\\?
Legal long names contain no more than 260 characters and must contain at least one non-period character. The following characters are not allowed: \ ? | > : / * " or less-than. The name must be shorter than 260 characters. The value could also be a localization variable with the format !(loc.VARIABLE).
<xs:simpleType name="LongFileNameType">
<xs:annotation>
<xs:documentation>Values of this type will look like: "Long File Name.extension". Legal long names contain no more than 260 characters and must contain at least one non-period character. The following characters are not allowed: \ ? | > : / * " or less-than. The name must be shorter than 260 characters. The value could also be a localization variable with the format !(loc.VARIABLE).</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="[^\\\?|><:/\*"]{1,259}|([!$])\(loc\.[_A-Za-z][0-9A-Za-z_.]*\)" />
</xs:restriction>
</xs:simpleType>
Category of update.
Restricting string
Value | Description |
---|---|
Critical Update | A broadly released fix for a specific problem addressing a critical, non-security related bug. |
Hotfix | Hotfixes address a specific customer situation and generally should not be distributed outside the customer's organization. |
Security Rollup | A broadly released fix for a specific security-related related vulnerability. |
Service Pack | A cumulative set of all hotfixes, security rollups, critical updates, and updates, as well as additional fixes and even new features found since the release of the product. |
Update | A broadly released fix for a specific problem addressing a non-critical, non-security related bug. |
Update Rollup | A cumulative set of hotfixes, security rollups, critical updates, and updates packaged together which typically targets a specific area of a product. |
<xs:simpleType name="PatchClassificationType">
<xs:annotation>
<xs:documentation>Category of update.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="Critical Update">
<xs:annotation>
<xs:documentation>A broadly released fix for a specific problem addressing a critical, non-security related bug.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Hotfix">
<xs:annotation>
<xs:documentation>Hotfixes address a specific customer situation and generally should not be distributed outside the customer's organization.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Security Rollup">
<xs:annotation>
<xs:documentation>A broadly released fix for a specific security-related related vulnerability.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Service Pack">
<xs:annotation>
<xs:documentation>A cumulative set of all hotfixes, security rollups, critical updates, and updates, as well as additional fixes and even new features found since the release of the product.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Update">
<xs:annotation>
<xs:documentation>A broadly released fix for a specific problem addressing a non-critical, non-security related bug.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Update Rollup">
<xs:annotation>
<xs:documentation>A cumulative set of hotfixes, security rollups, critical updates, and updates packaged together which typically targets a specific area of a product.</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
Values of this type represent possible registry roots.
Restricting NMTOKEN
Value | Description |
---|---|
HKMU | A per-user installation will make the operation occur under HKEY_CURRENT_USER. A per-machine installation will make the operation occur under HKEY_LOCAL_MACHINE. |
HKCR | Operation occurs under HKEY_CLASSES_ROOT. When using Windows 2000 or later, the installer writes or removes the value from the HKCU\Software\Classes hive during per-user installations. When using Windows 2000 or later operating systems, the installer writes or removes the value from the HKLM\Software\Classes hive during per-machine installations. |
HKCU | Operation occurs under HKEY_CURRENT_USER. It is recommended to set the KeyPath='yes' attribute when setting this value for writing values in order to ensure that the installer writes the necessary registry entries when there are multiple users on the same computer. |
HKLM | Operation occurs under HKEY_LOCAL_MACHINE. |
HKU | Operation occurs under HKEY_USERS. |
<xs:simpleType name="RegistryRootType">
<xs:annotation>
<xs:documentation>Values of this type represent possible registry roots.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="HKMU">
<xs:annotation>
<xs:documentation>
A per-user installation will make the operation occur under HKEY_CURRENT_USER.
A per-machine installation will make the operation occur under HKEY_LOCAL_MACHINE.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="HKCR">
<xs:annotation>
<xs:documentation>
Operation occurs under HKEY_CLASSES_ROOT. When using Windows 2000 or later, the installer writes or removes the value
from the HKCU\Software\Classes hive during per-user installations. When using Windows 2000 or later operating systems,
the installer writes or removes the value from the HKLM\Software\Classes hive during per-machine installations.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="HKCU">
<xs:annotation>
<xs:documentation>
Operation occurs under HKEY_CURRENT_USER. It is recommended to set the KeyPath='yes' attribute when setting this value for writing values
in order to ensure that the installer writes the necessary registry entries when there are multiple users on the same computer.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="HKLM">
<xs:annotation>
<xs:documentation>
Operation occurs under HKEY_LOCAL_MACHINE.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="HKU">
<xs:annotation>
<xs:documentation>
Operation occurs under HKEY_USERS.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
Values of this type will look like: "FileName.ext".
Restricting string
Value must match the following pattern: [^\\\?
Only one period is allowed. The following characters are not allowed: \ ? | > : / * " + , ; = [ ] less-than, or whitespace. The name cannot be longer than 8 characters and the extension cannot exceed 3 characters. The value could also be a localization variable with the format !(loc.VARIABLE).
<xs:simpleType name="ShortFileNameType">
<xs:annotation>
<xs:documentation>Values of this type will look like: "FileName.ext". Only one period is allowed. The following characters are not allowed: \ ? | > : / * " + , ; = [ ] less-than, or whitespace. The name cannot be longer than 8 characters and the extension cannot exceed 3 characters. The value could also be a localization variable with the format !(loc.VARIABLE).</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="[^\\\?|><:/\*"\+,;=\[\]\. ]{1,8}(\.[^\\\?|><:/\*"\+,;=\[\]\. ]{0,3})?|([!$])\(loc\.[_A-Za-z][0-9A-Za-z_.]*\)" />
</xs:restriction>
</xs:simpleType>
Values of this type will look like: "x.x.x.x" where x is an integer from 0 to 65534.
Restricting string
Value must match the following pattern: (\d{1,5}\.){3}\d{1,5}
<xs:simpleType name="VersionType">
<xs:annotation>
<xs:documentation>Values of this type will look like: "x.x.x.x" where x is an integer from 0 to 65534.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="(\d{1,5}\.){3}\d{1,5}" />
</xs:restriction>
</xs:simpleType>
Values of this type will look like: "Long File N?me.extension*".
Restricting string
Value must match the following pattern: [^\\\
Legal long names contain no more than 260 characters and must contain at least one non-period character. The following characters are not allowed: \ | > : / " or less-than. The name must be shorter than 260 characters. The value could also be a localization variable with the format !(loc.VARIABLE).
<xs:simpleType name="WildCardLongFileNameType">
<xs:annotation>
<xs:documentation>Values of this type will look like: "Long File N?me.extension*". Legal long names contain no more than 260 characters and must contain at least one non-period character. The following characters are not allowed: \ | > : / " or less-than. The name must be shorter than 260 characters. The value could also be a localization variable with the format !(loc.VARIABLE).</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="[^\\\|><:/"]{1,259}|([!$])\(loc\.[_A-Za-z][0-9A-Za-z_.]*\)" />
</xs:restriction>
</xs:simpleType>
Values of this type will look like: "File?.*".
Restricting string
Value must match the following pattern: [^\\\
Only one period is allowed. The following characters are not allowed: \ | > : / " + , ; = [ ] less-than, or whitespace. The name cannot be longer than 8 characters and the extension cannot exceed 3 characters. The value could also be a localization variable with the format !(loc.VARIABLE).
<xs:simpleType name="WildCardShortFileNameType">
<xs:annotation>
<xs:documentation>Values of this type will look like: "File?.*". Only one period is allowed. The following characters are not allowed: \ | > : / " + , ; = [ ] less-than, or whitespace. The name cannot be longer than 8 characters and the extension cannot exceed 3 characters. The value could also be a localization variable with the format !(loc.VARIABLE).</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="[^\\\|><:/"\+,;=\[\]\. ]{1,16}(\.[^\\\|><:/"\+,;=\[\]\. ]{0,6})?|([!$])\(loc\.[_A-Za-z][0-9A-Za-z_.]*\)" />
</xs:restriction>
</xs:simpleType>
Values of this type will either be "default", "yes", or "no".
Restricting NMTOKEN
Value | Description |
---|---|
default | |
no | |
yes |
<xs:simpleType name="YesNoDefaultType">
<xs:annotation>
<xs:documentation>Values of this type will either be "default", "yes", or "no".</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="default" />
<xs:enumeration value="no" />
<xs:enumeration value="yes" />
</xs:restriction>
</xs:simpleType>
Values of this type will either be "yes" or "no".
Restricting NMTOKEN
Value | Description |
---|---|
no | |
yes |
<xs:simpleType name="YesNoType">
<xs:annotation>
<xs:documentation>Values of this type will either be "yes" or "no".</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="no" />
<xs:enumeration value="yes" />
</xs:restriction>
</xs:simpleType>