diff --git a/src/xsd4/dependency.xsd b/src/xsd4/dependency.xsd index 71480226..b06e081c 100644 --- a/src/xsd4/dependency.xsd +++ b/src/xsd4/dependency.xsd @@ -4,7 +4,6 @@ diff --git a/src/xsd4/netfx.xsd b/src/xsd4/netfx.xsd index 4fa22b47..77b5c2a1 100644 --- a/src/xsd4/netfx.xsd +++ b/src/xsd4/netfx.xsd @@ -4,7 +4,6 @@ @@ -26,31 +25,26 @@ - - Native images are files containing compiled processor-specific machine code, which - are installed into the native image cache on the local computer. The runtime - can use native images from the cache instead using the just-in-time (JIT) - compiler to compile the original assembly. - - - The native image custom actions are configured to ignore failures so that failing - to generate or remove a native image will not cause setup to fail and roll back. - - - **Note for patches:** if you built your target, or baseline, MSI with - previous versions 3.0 or 3.5 of this extension and want to upgrade to formattable - values for @AssemblyApplication or @AppBaseDirectory you must also include a - BinaryRef to "NetFxCA" to pull in necessary changes. If you do use formattable - values and do not include the binary changes ngen.exe will not optimize your - native images for the specified application. - - - This should be a rare occurrence, however. Because you cannot remove components - in a patch - and pyro does validate you do not - it is not practical to switch - from using identifiers to formattable values in a patch. One practical possibility - is if you wanted to use a different application to optimize your native images - and that application is not already installed with the MSI to be updated. - + Native images are files containing compiled processor-specific machine code, which + are installed into the native image cache on the local computer. The runtime + can use native images from the cache instead using the just-in-time (JIT) + compiler to compile the original assembly. + + The native image custom actions are configured to ignore failures so that failing + to generate or remove a native image will not cause setup to fail and roll back. + + **Note for patches:** if you built your target, or baseline, MSI with + previous versions 3.0 or 3.5 of this extension and want to upgrade to formattable + values for @AssemblyApplication or @AppBaseDirectory you must also include a + BinaryRef to "NetFxCA" to pull in necessary changes. If you do use formattable + values and do not include the binary changes ngen.exe will not optimize your + native images for the specified application. + + This should be a rare occurrence, however. Because you cannot remove components + in a patch - and pyro does validate you do not - it is not practical to switch + from using identifiers to formattable values in a patch. One practical possibility + is if you wanted to use a different application to optimize your native images + and that application is not already installed with the MSI to be updated. @@ -73,50 +67,42 @@ - - The directory to use for locating dependent assemblies. - For DLL assemblies and assemblies installed to the Global Assembly Cache (GAC), - this attribute should be set to the directory of the application which loads this - assembly. For EXE assemblies, this attribute does not need to be set because NGen - will use the directory of the assembly file by default. - - - The value can be in the form of a directory identifier, or a formatted string - that resolves to either a directory identifier or a full path to a directory. - + The directory to use for locating dependent assemblies. + For DLL assemblies and assemblies installed to the Global Assembly Cache (GAC), + this attribute should be set to the directory of the application which loads this + assembly. For EXE assemblies, this attribute does not need to be set because NGen + will use the directory of the assembly file by default. + + The value can be in the form of a directory identifier, or a formatted string + that resolves to either a directory identifier or a full path to a directory. - - The application which will load this assembly. - For DLL assemblies which are loaded via reflection, this attribute should - be set to indicate the application which will load this assembly. - The configuration of the application (usually specified via an exe.config file) will be used - to determine how to resolve dependencies for this assembly. - - - The value can be in the form of a file identifier, or a formatted string - that resolves to either a file identifier or a full path to a file. - - - When a shared component is loaded at run time, using the Load method, the - application's configuration file determines the dependencies that are loaded - for the shared component — for example, the version of a dependency that is loaded. - This attribute gives guidance on which dependencies would be loaded at run time in order - to figure out which dependency assemblies will also need to have native images generated - (assuming the Dependency attribute is not set to "no"). - - - This attribute cannot be set if the AssemblyApplication attribute is set on the parent - File element (please note that these attributes both refer to the same application - assembly but do very different things: specifiying File/@AssemblyApplication will force - an assembly to install to a private location next to the indicated application, whereas - this AssemblyApplication attribute will be used to help resolve dependent assemblies - while generating native images for this assembly). - + The application which will load this assembly. + For DLL assemblies which are loaded via reflection, this attribute should + be set to indicate the application which will load this assembly. + The configuration of the application (usually specified via an exe.config file) will be used + to determine how to resolve dependencies for this assembly. + + The value can be in the form of a file identifier, or a formatted string + that resolves to either a file identifier or a full path to a file. + + When a shared component is loaded at run time, using the Load method, the + application's configuration file determines the dependencies that are loaded + for the shared component — for example, the version of a dependency that is loaded. + This attribute gives guidance on which dependencies would be loaded at run time in order + to figure out which dependency assemblies will also need to have native images generated + (assuming the Dependency attribute is not set to "no"). + + This attribute cannot be set if the AssemblyApplication attribute is set on the parent + File element (please note that these attributes both refer to the same application + assembly but do very different things: specifiying File/@AssemblyApplication will force + an assembly to install to a private location next to the indicated application, whereas + this AssemblyApplication attribute will be used to help resolve dependent assemblies + while generating native images for this assembly). @@ -136,45 +122,12 @@ - + Sets the platform(s) for which native images will be generated. - - - - - - Attempt to generate native images only for the 32-bit version of the .NET Framework - on the target machine. If the 32-bit version of the .NET Framework 2.0 or newer is not - present on the target machine, native image custom actions will not be scheduled. - This is the default value. - - - - - - - Attempt to generate native images only for the 64-bit version of the .NET Framework - on the target machine. If a 64-bit version of the .NET Framework 2.0 or newer is not - present on the target machine, native image custom actions will not be scheduled. - - - - - - - Attempt to generate native images for the 32-bit and 64-bit versions of the .NET Framework - on the target machine. If a version of the .NET Framework 2.0 or newer is not present on the - target machine for a processor architecture, native image custom actions will not be - scheduled for that processor architecture. - - - - - @@ -295,17 +248,10 @@ - + The platform to search for. - - - - - - - @@ -406,17 +352,10 @@ - + The platform to use to validate. - - - - - - - @@ -480,4 +419,68 @@ + + + + + + Attempt to generate native images only for the 32-bit version of the .NET Framework + on the target machine. If the 32-bit version of the .NET Framework 2.0 or newer is not + present on the target machine, native image custom actions will not be scheduled. + This is the default value. + + + + + + + Attempt to generate native images only for the 64-bit version of the .NET Framework + on the target machine. If a 64-bit version of the .NET Framework 2.0 or newer is not + present on the target machine, native image custom actions will not be scheduled. + + + + + + + Attempt to generate native images for the 32-bit and 64-bit versions of the .NET Framework + on the target machine. If a version of the .NET Framework 2.0 or newer is not present on the + target machine for a processor architecture, native image custom actions will not be + scheduled for that processor architecture. + + + + + + + + + + Platform referencing the machine architecture. + + + + + + + + + Platform referencing the machine architecture. + + + + + + + + + + + + + Platform referencing the machine architecture. + + + + diff --git a/src/xsd4/util.xsd b/src/xsd4/util.xsd index 72cb4792..10666143 100644 --- a/src/xsd4/util.xsd +++ b/src/xsd4/util.xsd @@ -1922,6 +1922,16 @@ Indicates whether failure to create the user or add the user to a group fails the installation. The default value is "yes". + + + Optional comment to set on the user. + + + + + Indicates whether remove the comment from the user. The default value is "no". + + diff --git a/src/xsd4/wix.xsd b/src/xsd4/wix.xsd index 56399ab2..d911fd9a 100644 --- a/src/xsd4/wix.xsd +++ b/src/xsd4/wix.xsd @@ -40,7 +40,7 @@ - + Required version of the WiX toolset to compile this input file. @@ -819,7 +819,7 @@ Extensibility point in the WiX XML Schema. Schema extensions can register additional elements at this point in the schema. The extension's - CompilerExtension.ParseElement() + CompilerExtension.ParseElement() method will be called with the package identifier as the first value in contextValues. @@ -882,7 +882,7 @@ Extensibility point in the WiX XML Schema. Schema extensions can register additional elements at this point in the schema. The extension's - CompilerExtension.ParseElement() + CompilerExtension.ParseElement() method will be called with the package identifier as the first value in contextValues. @@ -928,7 +928,7 @@ Extensibility point in the WiX XML Schema. Schema extensions can register additional elements at this point in the schema. The extension's - CompilerExtension.ParseElement() + CompilerExtension.ParseElement() method will be called with the package identifier as the first value in contextValues. @@ -967,7 +967,7 @@ Extensibility point in the WiX XML Schema. Schema extensions can register additional elements at this point in the schema. The extension's - CompilerExtension.ParseElement() + CompilerExtension.ParseElement() method will be called with the package identifier as the first value in contextValues. @@ -1053,7 +1053,7 @@ Extensibility point in the WiX XML Schema. Schema extensions can register additional elements at this point in the schema. The extension's - CompilerExtension.ParseElement() + CompilerExtension.ParseElement() method will be called with the package identifier as the first value in contextValues. @@ -1115,7 +1115,7 @@ Extensibility point in the WiX XML Schema. Schema extensions can register additional elements at this point in the schema. The extension's - CompilerExtension.ParseElement() + CompilerExtension.ParseElement() method will be called with the rollback boundary identifier as the 'RollbackBoundaryId' key in contextValues. @@ -1227,7 +1227,7 @@ - + Whether to cache the package. The default is "keep". @@ -1303,9 +1303,9 @@ Extensibility point in the WiX XML Schema. Schema extensions can register additional attributes at this point in the schema. The extension's - CompilerExtension.ParseAttribute() + CompilerExtension.ParseAttribute() method will be called with the package identifier in - contextValues["PackageId"]. + contextValues["PackageId"]. @@ -1615,7 +1615,7 @@ Describes map of exit code returned from executable package to a bootstrapper behavior. - + Exit code returned from executable package. If no value is provided it means all values not explicitly set default to this behavior. @@ -1725,6 +1725,11 @@ Optional SHA256 hash of the payload. Must be provided if the SourceFile attribute is not used. + + + Optional size of the payload in bytes. Required if Hash is specified, otherwise must not be specified. + + @@ -1943,6 +1948,17 @@ Whether the package payload should be embedded in a container or left as an external payload. + + + + The destination path and file name for this chain payload. + Use this attribute to rename the chain entry point or extract it into a subfolder. + The default value is the file name from the SourceFile attribute. + At a minimum, the Name or SourceFile attribute must be specified. + This must be a relative path ('\foo' or 'C:\foo' is not allowed). + + + @@ -1955,17 +1971,6 @@ - - - - The destination path and file name for this chain payload. - Use this attribute to rename the chain entry point or extract it into a subfolder. - The default value is the file name from the SourceFile attribute. - At a minimum, the Name or SourceFile attribute must be specified. - This must be a relative path ('\foo' or 'C:\foo' is not allowed). - - - @@ -2020,7 +2025,7 @@ - + Version of the remote file. @@ -2089,6 +2094,13 @@ + + + + The protocol version of the related bundle. + + + @@ -2760,7 +2772,7 @@ You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See [Code pages](reference/codepage.md) for more information. 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 ClientPatchId.PatchCode and ClientPatchId.AllowRemoval. If the patch code GUID is auto-generated you could not reference any properties using this auto-generated prefix. - 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 [SystemFolder]msiexec.exe /package [ProductCode] /uninstall [QFE1.PatchCode]. 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 prefix.PatchCode property as shown above. + 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 [SystemFolder]msiexec.exe /package [ProductCode] /uninstall [QFE1.PatchCode]. 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 prefix.PatchCode property as shown above. The summary information is automatically populated from attribute values of the Patch element including the code page. If you want to override some of these summary information properties or use a different code page for the summary information itself, author the PatchInformation element. @@ -3052,6 +3064,21 @@ Identifier for a set of product versions. It is recommended to use short identifiers like 'RTM' and 'SP1'. The identifier will been trimmed to less than 28 characters as required by the Windows Installer. + + + Path to baseline MSI for patch. + + + + + Path to updated MSI for patch. + + + + + Optional id for cabinet to place patched files in. + + @@ -3059,28 +3086,27 @@ Collection of items that should be kept from the differences between two products. - - - - - - - - - - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - - - + + + + + + + + + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + Identifier which indicates a sequence family to which this patch belongs. @@ -3089,23 +3115,34 @@ - Specifies the ProductCode of the product that this family applies to. - + Specifies the ProductCode of the product that this family applies to. + - 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. + + 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. + - Set this value to 'yes' to indicate that this patch will supersede all previous patches in this patch family. - The default value is 'no'. - + Set this value to 'yes' to indicate that this patch will supersede all previous patches in this patch family. + The default value is 'no'. + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + @@ -3200,17 +3237,17 @@ - Use this to set whether the major versions between the upgrade and target images match. See AllowProductVersionMajorMismatches for more information. + Use this to set whether the major versions between the upgrade and target images match. See AllowProductVersionMajorMismatches for more information. - Use this to set whether the product code between the upgrade and target images match. See AllowProductCodeMismatches for more information. + Use this to set whether the product code between the upgrade and target images match. See AllowProductCodeMismatches for more information. - Use this to set whether Patchwiz should clean the temp folder when finished. See DontRemoveTempFolderWhenFinished for more information. + Use this to set whether Patchwiz should clean the temp folder when finished. See DontRemoveTempFolderWhenFinished for more information. @@ -3220,22 +3257,22 @@ - The full path, including file name, of the patch package file that is to be generated. See PatchOutputPath for more information. + The full path, including file name, of the patch package file that is to be generated. See PatchOutputPath for more information. - Used to locate the .msp file for the patch if the cached copy is unavailable. See PatchSourceList for more information. + Used to locate the .msp file for the patch if the cached copy is unavailable. See PatchSourceList for more information. - An 8-digit hex integer representing the combination of patch symbol usage flags to use when creating a binary file patch. See ApiPatchingSymbolFlags for more information. + An 8-digit hex integer representing the combination of patch symbol usage flags to use when creating a binary file patch. See ApiPatchingSymbolFlags for more information. - Use this to set whether changing files should be included in their entirety. See IncludeWholeFilesOnly for more information. + Use this to set whether changing files should be included in their entirety. See IncludeWholeFilesOnly for more information. @@ -3991,8 +4028,8 @@ - Provides a many-to-many mapping from the SFPCatalog table to the File table - + Provides a many-to-many mapping from the SFPCatalog table to the File table + @@ -4008,17 +4045,17 @@ - Adds or removes .ini file entries. - + Adds or removes .ini file entries. + - - + + - + - Identifier for ini file. + Identifier for ini file. If one is not specified a stable identifier will be generated. @@ -4733,15 +4770,15 @@ + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - - - @@ -4764,26 +4801,20 @@ - - - - Starts searches from the CCP_DRIVE. - - - - - - - - - - + + + + + + + + - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + @@ -4804,26 +4835,26 @@ - Denotes that the Property is saved during admininistrative installation. See the AdminProperties Property for more information. + Denotes that the Property is saved during AdminProperties Property for more information. - Denotes that the Property can be passed to the server side when doing a managed installation with elevated privileges. See the SecureCustomProperties Property for more information. + Denotes that the Property can be passed to the server side when doing a managed installation with elevated privileges. See the SecureCustomProperties Property for more information. - Denotes that the Property is not logged during installation. See the MsiHiddenProperties Property for more information. + Denotes that the Property is not logged during installation. See the MsiHiddenProperties Property for more information. - 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. - + 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. + @@ -4845,6 +4876,16 @@ Reference to a Property value. + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + Identifier of Property to reference. @@ -4853,9 +4894,39 @@ - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + Reference to a SoftwareTag by Regid. + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + + + + Regid of SoftwareTag to reference. + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + @@ -4875,7 +4946,7 @@ - + Unique identifier for the shortcut. This value will serve as the primary key for the row. @@ -4888,10 +4959,8 @@ - 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. - Also, if this value is a long name, the ShortName attribute may be omitted to + 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. @@ -5335,10 +5404,10 @@ - File specification for File table, must be child node of Component. - + File specification for File table, must be child node of Component. + - + How To: Add a file to your installer @@ -5374,42 +5443,43 @@ - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + - 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]. - + 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]. + - 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. + + 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. - 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. - 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. + If a short file name is specified, the ShortName 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. + @@ -5420,13 +5490,12 @@ - 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. - + 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. + - Set to yes in order to have the file's read-only attribute set when it is installed on the target machine. @@ -5492,35 +5561,34 @@ 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. - - Specifies if this File is a Win32 Assembly or .NET Assembly that needs to be installed into the - Global Assembly Cache (GAC). If the value is '.net' or 'win32', this file must also be the key path of the Component. - + Specifies if this File is a Win32 Assembly or .NET Assembly that needs to be installed into the + Global Assembly Cache (GAC). If the value is '.net' or 'win32', this file must also be the key path of the Component. + - The file is a .NET Framework assembly. - + The file is a .NET Framework assembly. + - The file is not a .NET Framework or Win32 assembly. This is the default value. - + The file is not a .NET Framework or Win32 assembly. This is the default value. + - The file is a Win32 assembly. - + The file is a Win32 assembly. + @@ -5529,20 +5597,20 @@ - 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'. - + 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'. + - 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 (GAC). - This attribute may only be specified if the Assembly attribute is set to '.net' or 'win32'. - + 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 (GAC). + This attribute may only be specified if the Assembly attribute is set to '.net' or 'win32'. + @@ -5554,29 +5622,29 @@ - The file is a .NET Framework assembly that is processor-neutral. - + The file is a .NET Framework assembly that is processor-neutral. + - The file is a .NET Framework assembly for the x86 processor. - + The file is a .NET Framework assembly for the x86 processor. + - The file is a .NET Framework assembly for the x64 processor. - + The file is a .NET Framework assembly for the x64 processor. + - The file is a .NET Framework assembly for the ia64 processor. - + The file is a .NET Framework assembly for the ia64 processor. + @@ -5585,15 +5653,15 @@ - The value of this attribute should correspond to the Id attribute of a Media - element authored elsewhere. By creating this connection between a file and - its media, you set the packaging options to the values specified in the Media - element (values such as compression level, cab embedding, etc...). Specifying - the DiskId attribute on the File element overrides the default DiskId attribute - from the parent Component element. If no DiskId attribute is specified, - the default is "1". This DiskId attribute is ignored when creating a merge module - because merge modules do not have media. - + The value of this attribute should correspond to the Id attribute of a Media + element authored elsewhere. By creating this connection between a file and + its media, you set the packaging options to the values specified in the Media + element (values such as compression level, cab embedding, etc...). Specifying + the DiskId attribute on the File element overrides the default DiskId attribute + from the parent Component element. If no DiskId attribute is specified, + the default is "1". This DiskId attribute is ignored when creating a merge module + because merge modules do not have media. + @@ -5604,10 +5672,10 @@ - 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... - + 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... + @@ -5628,33 +5696,62 @@ - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + 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 multi-string value. + + + + + - 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. - + 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'. + + Consider using the MultiString element instead. + - + + + + + + The multi-string value. + + + - Used for organization of child RegistryValue elements or to create a registry key - (and optionally remove it during uninstallation). - + Used for organization of child RegistryValue elements or to create a registry key + (and optionally remove it during uninstallation). + - + How To: Read a registry entry during installation How To: Write a registry entry during installation @@ -5676,51 +5773,51 @@ - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + - 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. - + Primary key used to identify this particular entry. If this attribute is not specified, an identifier will be + generated. + - The Action attribute has been deprecated. In most cases, you can simply omit @Action. If you need to force Windows Installer - to create an empty key or recursively delete the key, use the ForceCreateOnInstall or ForceDeleteOnUninstall attributes instead. - + The Action attribute has been deprecated. In most cases, you can simply omit @Action. If you need to force Windows Installer + to create an empty key or recursively delete the key, use the ForceCreateOnInstall or ForceDeleteOnUninstall attributes instead. + - Creates the key, if absent, when the parent component is installed. - + Creates the key, if absent, when the parent component is installed. + - 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. - Note that this value is useful only if your program creates additional values or subkeys under this key and you want an uninstall to remove them. MSI already - removes all values and subkeys that it creates, so this option just adds additional overhead to uninstall. - + 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. + Note that this value is useful only if your program creates additional values or subkeys under this key and you want an uninstall to remove them. MSI already + removes all values and subkeys that it creates, so this option just adds additional overhead to uninstall. + - Does nothing; this element is used merely in WiX authoring for organization and does nothing to the final output. - This is the default value. - + Does nothing; this element is used merely in WiX authoring for organization and does nothing to the final output. + This is the default value. + @@ -5729,55 +5826,62 @@ - Set this attribute to 'yes' to create an empty key, if absent, when the parent component is installed. - This value is needed only to create an empty key with no subkeys or values. Windows Installer creates - keys as needed to store subkeys and values. The default is "no". - + Set this attribute to 'yes' to create an empty key, if absent, when the parent component is installed. + This value is needed only to create an empty key with no subkeys or values. Windows Installer creates + keys as needed to store subkeys and values. The default is "no". + - Set this attribute to 'yes' to remove the key with all its values and subkeys when the parent component is uninstalled. - Note that this value is useful only if your program creates additional values or subkeys under this key and you want an uninstall to remove them. MSI already - removes all values and subkeys that it creates, so this option just adds additional overhead to uninstall. - The default is "no". - + Set this attribute to 'yes' to remove the key with all its values and subkeys when the parent component is uninstalled. + Note that this value is useful only if your program creates additional values or subkeys under this key and you want an uninstall to remove them. MSI already + removes all values and subkeys that it creates, so this option just adds additional overhead to uninstall. + The default is "no". + - 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. - + 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. + - The predefined root key for the registry value. - + The predefined root key for the registry value. + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + - Used to create a registry value. For multi-string values, this can be used to prepend or append values. + 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. - + 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'. + - + How To: Write a registry entry during installation - + @@ -5785,104 +5889,104 @@ Can also configure the ACLs for this registry value. + - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + - 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. - + 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. + - The predefined root key for the registry value. - + The predefined root key for the registry value. + - 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. - + 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. + - 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. - + 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. + - 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. - + 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. + - - 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'. - + 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'. + - The value is interpreted and stored as a string (REG_SZ). - + The value is interpreted and stored as a string (REG_SZ). + - The value is interpreted and stored as an integer (REG_DWORD). - + The value is interpreted and stored as an integer (REG_DWORD). + - The value is interpreted and stored as a hexadecimal value (REG_BINARY). - + The value is interpreted and stored as a hexadecimal value (REG_BINARY). + - The value is interpreted and stored as an expandable string (REG_EXPAND_SZ). - + The value is interpreted and stored as an expandable string (REG_EXPAND_SZ). + - 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. - + 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. + @@ -5891,30 +5995,30 @@ - This is the action that will be taken for this registry value. - + This is the action that will be taken for this registry value. + - Appends the specified value(s) to a multiString registry value. - + Appends the specified value(s) to a multiString registry value. + - Prepends the specified value(s) to a multiString registry value. - + Prepends the specified value(s) to a multiString registry value. + - Writes a registry value. This is the default value. - + Writes a registry value. This is the default value. + @@ -5923,20 +6027,28 @@ - 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. - + 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. + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + - Used for removing registry keys and all child keys either during install or uninstall. - + Used for removing registry keys and all child keys either during install or uninstall. + - + @@ -5944,31 +6056,31 @@ - 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. - + 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. + - This is the action that will be taken for this registry value. - + This is the action that will be taken for this registry value. + - Removes a key with all its values and subkeys when the parent component is installed. - + Removes a key with all its values and subkeys when the parent component is installed. + - Removes a key with all its values and subkeys when the parent component is uninstalled. - + Removes a key with all its values and subkeys when the parent component is uninstalled. + @@ -5977,17 +6089,24 @@ - The localizable key for the registry value. - + The localizable key for the registry value. + - The predefined root key for the registry value. - + The predefined root key for the registry value. + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional attributes at this point in the schema. + + + @@ -6001,6 +6120,16 @@ + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + @@ -6041,285 +6170,110 @@ - + - - + + + + 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. + - - - - Can also configure the ACLs for this registry key. - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - elements at this point in the schema. - + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + Primary key used to identify this particular entry. + + + - 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. - + 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. + - + - This is the action that will be taken for this registry key. - + 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. + - - - - - - Appends the specified value(s) to a multiString registry key. - - - - - - - Creates the key, if absent, when the parent component is installed. - - - - - - - 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. - - - - - - - Prepends the specified value(s) to a multiString registry key. - - - - - - - Removes a registry name when the parent component is installed. - - - - - - - Removes a key with all its values and subkeys when the parent component is installed. - - - - - - - Removes a key with all its values and subkeys when the parent component is uninstalled. - - - - - - - Writes a registry value. - - - - - - + - The localizable key for the registry value. + + 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. + 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. + - + - 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. - + 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. + - + - 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. - + This value determines the time at which the file(s) may be removed. For 'install', the file will + be removed only when the parent component is being installed (msiInstallStateLocal or + msiInstallStateSource); for 'uninstall', the file will be removed only when the parent component + is being removed (msiInstallStateAbsent); for 'both', the file will be removed in both cases. + - + - The predefined root key for the registry value. - + This attribute defines one or more directories below the directory referenced by the Directory attribute or parent + Directory reference for the file to be removed. + - + - 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'. - + Extensibility point in the WiX XML Schema. Schema extensions can register additional attributes at this point in the schema. + - - - - - - The value is interpreted and stored as a string (REG_SZ). - - - - - - - The value is interpreted and stored as an integer (REG_DWORD). - - - - - - - The value is interpreted and stored as a hexadecimal value (REG_BINARY). - - - - - - - The value is interpreted and stored as an expandable string (REG_EXPAND_SZ). - - - - - - - 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. - - - - - - - - - - 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'. - - - - - - - - - - - - - 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. - - - - - - Primary key used to identify this particular entry. - - - - - - 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. - - - - - - - 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. - - - - - - - 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. - 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 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. - - - - - - - This value determines the time at which the file(s) may be removed. For 'install', the file will - be removed only when the parent component is being installed (msiInstallStateLocal or - msiInstallStateSource); for 'uninstall', the file will be removed only when the parent component - is being removed (msiInstallStateAbsent); for 'both', the file will be removed in both cases. - - - - - - - This attribute defines one or more directories below the directory referenced by the Directory attribute or parent - Directory reference for the file to be removed. - - - + - + Remove an empty folder if the parent component is selected for installation or removal. By default, the folder @@ -6329,6 +6283,16 @@ + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + Primary key used to identify this particular entry. @@ -6370,13 +6334,20 @@ + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional attributes at this point in the schema. + + + - + Create folder as part of parent Component. @@ -6419,26 +6390,35 @@ + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional attributes at this point in the schema. + + + - - - Optional way for defining AppData, generally used for complex CDATA. - - Qualified published component for parent Component - + - - - + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + A string GUID that represents the category of components being grouped together. @@ -6459,6 +6439,13 @@ Feature that controls the advertisement of the category. Defaults to the primary Feature for the parent Component . + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional attributes at this point in the schema. + + + @@ -6497,12 +6484,12 @@ Verb definition for an Extension. When advertised, this element creates a row in the - Verb table. - When not advertised, this element creates the appropriate rows in Registry table. + Verb table. + When not advertised, this element creates the appropriate rows in Registry table. - - + + @@ -6557,8 +6544,8 @@ - - + + @@ -6603,7 +6590,7 @@ - + @@ -6712,7 +6699,7 @@ - + @@ -6754,7 +6741,7 @@ - + When being used in unadvertised mode, the attributes in the AppId element correspond to registry values under the `[HKCR\AppID\{Id}]` key, as follows: @@ -6853,7 +6840,7 @@ - + When being used in unadvertised mode, the attributes in the Class element correspond to registry @@ -7104,7 +7091,7 @@ COM Interface registration for parent TypeLib. - + @@ -7432,7 +7419,14 @@ - + + + + Unique identifier for this service control. This value will default to the Name attribute if not + specified. + + + Name of the service. @@ -7931,7 +7925,6 @@ - @@ -8488,9 +8481,12 @@ - + - This value is the unique identifier of the directory entry. + + An optional identifier for the directory. If one is not specified, + a private identifier will be generated. + @@ -8527,7 +8523,7 @@ Do not specify this attribute if this directory represents the same directory as the parent (see the Windows Installer SDK's - Directory table + Directory table topic for more information about the "." operator). This attribute's value may either a short or long directory name. If a short directory @@ -8754,7 +8750,7 @@ - + @@ -8780,7 +8776,7 @@ - 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 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 of product codes, separated by semicolons (;), detected on the system. + 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 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 of product codes, separated by semicolons (;), detected on the system. @@ -8829,7 +8825,7 @@ Upgrade info for a particular UpgradeCode - + @@ -9187,9 +9183,9 @@ - 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'. - + 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'. + @@ -9260,22 +9256,13 @@ - + - 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'. - + 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'. + - - - - - - - - - @@ -9332,329 +9319,319 @@ - + 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 - + Custom Action Types topic on MSDN. - - - - - The text node is only valid if the Script attribute is specified. In that case, the text node contains the script to embed. - - - - - - The identifier of the custom action. - - - - - - - - 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. - - - - - - - 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. - - - - - - - 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 - http://msdn.microsoft.com/library/aa370543.aspx - for more information. - - - - - - - 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. - - - - - - - This attribute defines one or more directories below the directory referenced by the Directory attribute. - This attribute is optional but can only be specified when the Directory attribute is also specified. - - - - - - - - This attribute specifies the name of a function in a custom action to execute. - This attribute is used with the BinaryRef attribute to create a type 1 custom - action, or with the FileRef attribute to create a type 17 custom action. - - - - - - - This attribute specifies the command line parameters to supply to an externally - run executable. This attribute is typically used with the BinaryRef attribute for a type 2 custom action, - the FileRef 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 specifies the name of the JScript function to execute in a script. The script must be - provided in a Binary element identified by the BinaryRef attribute described above. In other words, this - attribute must be specified in conjunction with the BinaryRef attribute. - - - - - - - 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 BinaryRef attribute described above. In other words, this - attribute must be specified in conjunction with the BinaryRef attribute. - - - - - - - Creates a type 37 or 38 custom action. The text of the element should contain the script to be embedded in the package. - - - - - - - - - - - - - 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. - - - - - - - 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 Formatted - syntax. - - - - - - - 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. - - - - - - - - Set this attribute to set the return behavior of the custom action. - - - - - - - - Indicates that the custom action will run asyncronously and execution may continue after the installer terminates. - - - - - - - Indicates that the custom action will run asynchronously but the installer will wait for the return code at sequence end. - - - - - - - Indicates that the custom action will run synchronously and the return code will be checked for success. This is the default. - - - - - - - Indicates that the custom action will run synchronously and the return code will not be checked. - - - - - - - - - - This attribute indicates the scheduling of the custom action. - - - - - - - - Indicates that the custom action will run after successful completion of the installation script (at the end of the installation). - - - - - - - Indicates that the custom action runs in-script (possibly with elevated privileges). - - - - - - - Indicates that the custom action will only run in the first sequence that runs it. - - - - - - - Indicates that the custom action will run during normal processing time with user privileges. This is the default. - - - - - - - Indicates that the custom action will only run in the first sequence that runs it in the same process. - - - - - - - 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. - - - - - - - Indicates that a custom action should be run a second time if it was previously run in an earlier sequence. - - - - - - - - - - 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. - - - - - - - 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. - - - - - - - Valid only when used with the Script, VBScriptCall, and JScriptCall attributes. - Overrides the default scripting host for script custom actions. The value `always64` will force the - script to run in the 64-bit scripting host. Simliarly, the value `always32` will force the script - to run in the 64-bit scripting host. - The default value is `default` where the script will be run in the scripting host that matches the - same bitness as the package. - - - - - - - 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. - - - - - - Ensures the installer does not log the CustomActionData for the deferred custom action. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - + + + + The identifier of the custom action. + + + + + + + + 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. + + + + + + + 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. + + + + + + + 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 + Obtaining Context Information for Deferred Execution Custom Actions for more information. + + + + + + + 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. + + + + + + + This attribute defines one or more directories below the directory referenced by the Directory attribute. + This attribute is optional but can only be specified when the Directory attribute is also specified. + + + + + + + + This attribute specifies the name of a function in a custom action to execute. + This attribute is used with the BinaryRef attribute to create a type 1 custom + action, or with the FileRef attribute to create a type 17 custom action. + + + + + + + This attribute specifies the command line parameters to supply to an externally + run executable. This attribute is typically used with the BinaryRef attribute for a type 2 custom action, + the FileRef 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 specifies the name of the JScript function to execute in a script. The script must be + provided in a Binary element identified by the BinaryRef attribute described above. In other words, this + attribute must be specified in conjunction with the BinaryRef attribute. + + + + + + + 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 BinaryRef attribute described above. In other words, this + attribute must be specified in conjunction with the BinaryRef attribute. + + + + + + + Creates a type 37 or 38 custom action. The text of the element should contain the script to be embedded in the package. + + + + + + + + + + + + + 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. + + + + + + + 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 Formatted + syntax. + + + + + + + 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. + + + + + + + + Set this attribute to set the return behavior of the custom action. + + + + + + + + Indicates that the custom action will run asyncronously and execution may continue after the installer terminates. + + + + + + + Indicates that the custom action will run asynchronously but the installer will wait for the return code at sequence end. + + + + + + + Indicates that the custom action will run synchronously and the return code will be checked for success. This is the default. + + + + + + + Indicates that the custom action will run synchronously and the return code will not be checked. + + + + + + + + + + This attribute indicates the scheduling of the custom action. + + + + + + + + Indicates that the custom action will run after successful completion of the installation script (at the end of the installation). + + + + + + + Indicates that the custom action runs in-script (possibly with elevated privileges). + + + + + + + Indicates that the custom action will only run in the first sequence that runs it. + + + + + + + Indicates that the custom action will run during normal processing time with user privileges. This is the default. + + + + + + + Indicates that the custom action will only run in the first sequence that runs it in the same process. + + + + + + + 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. + + + + + + + Indicates that a custom action should be run a second time if it was previously run in an earlier sequence. + + + + + + + + + + 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. + + + + + + + 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. + + + + + + + Valid only when used with the Script, VBScriptCall, and JScriptCall attributes. + Overrides the default scripting host for script custom actions. The value `always64` will force the + script to run in the 64-bit scripting host. Simliarly, the value `always32` will force the script + to run in the 64-bit scripting host. + The default value is `default` where the script will be run in the scripting host that matches the + same bitness as the package. + + + + + + + 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. + + + + + + Ensures the installer does not log the CustomActionData for the deferred custom action. + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + @@ -9690,7 +9667,7 @@ - + Sets a Directory to a particular value. This is accomplished by creating a Type 51 custom action that is appropriately scheduled in @@ -9698,60 +9675,58 @@ - - - - - The condition that determines whether the Directory is set. If the condition evaluates to false, the SetDirectory is skipped. - - - - - - By default the action is "Set" + Id attribute's value. This optional attribute can override the action name in the case - where multiple SetDirectory elements target the same Id (probably with mutually exclusive conditions). - - - - - - - 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. - - - - - - - Controls which sequences the Directory assignment is sequenced in. - For 'execute', the assignment is scheduled in the InstallExecuteSequence. - For 'ui', the assignment is scheduled in the InstallUISequence. - For 'first', the assignment is scheduled in the InstallUISequence or the InstallExecuteSequence if the InstallUISequence is skipped at install time. - For 'both', the assignment is scheduled in both the InstallUISequence and the InstallExecuteSequence. - The default is 'both'. - - - - - - - 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 Formatted - syntax. - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - + + + + By default the action is "Set" + Id attribute's value. This optional attribute can override the action name in the case + where multiple SetDirectory elements target the same Id (probably with mutually exclusive conditions). + + + + + + + The condition that determines whether the Directory is set. If the condition evaluates to false, the SetDirectory is skipped. + + + + + + + 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. + + + + + + + Controls which sequences the Directory assignment is sequenced in. + For 'execute', the assignment is scheduled in the InstallExecuteSequence. + For 'ui', the assignment is scheduled in the InstallUISequence. + For 'first', the assignment is scheduled in the InstallUISequence or the InstallExecuteSequence if the InstallUISequence is skipped at install time. + For 'both', the assignment is scheduled in both the InstallUISequence and the InstallExecuteSequence. + The default is 'both'. + + + + + + + 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 Formatted + syntax. + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + @@ -9761,77 +9736,78 @@ - + - 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. - + 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. + - - - - - The condition that determines whether the Property is set. If the condition evaluates to false, the Set is skipped. - - - - - - By default the action is "Set" + Id attribute's value. This optional attribute can override the action name in the case - where multiple SetProperty elements target the same Id (probably with mutually exclusive conditions). - - - - - - 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. - - - - - 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. - - - - - - This attribute specifies the Property to set to the Value. - - - - - - - Controls which sequences the Property assignment is sequenced in. - For 'execute', the assignment is scheduled in the InstallExecuteSequence. - For 'ui', the assignment is scheduled in the InstallUISequence. - For 'first', the assignment is scheduled in the InstallUISequence or the InstallExecuteSequence if the InstallUISequence is skipped at install time. - For 'both', the assignment is scheduled in both the InstallUISequence and the InstallExecuteSequence. - The default is 'both'. - - - - - - - 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 Formatted - syntax. - - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - + + + + By default the action is "Set" + Id attribute's value. This optional attribute can override the action name in the case + where multiple SetProperty elements target the same Id (probably with mutually exclusive conditions). + + + + + + + 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. + + + + + + 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. + + + + + + The condition that determines whether the Property is set. If the condition evaluates to false, the Set is skipped. + + + + + + + This attribute specifies the Property to set to the Value. + + + + + + + Controls which sequences the Property assignment is sequenced in. + For 'execute', the assignment is scheduled in the InstallExecuteSequence. + For 'ui', the assignment is scheduled in the InstallUISequence. + For 'first', the assignment is scheduled in the InstallUISequence or the InstallExecuteSequence if the InstallUISequence is skipped at install time. + For 'both', the assignment is scheduled in both the InstallUISequence and the InstallExecuteSequence. + The default is 'both'. + + + + + + + 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 Formatted + syntax. + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + @@ -9840,9 +9816,9 @@ - This will cause the entire contents of the Fragment containing the referenced PatchFamily to be - used in the process of creating a patch. - + This will cause the entire contents of the Fragment containing the referenced PatchFamily to be + used in the process of creating a patch. + @@ -9858,9 +9834,9 @@ - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + @@ -11344,60 +11320,66 @@ - - - - - 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. - - - - - Unique identifier for embedded chainer. - - - - - Value to append to the transaction handle and passed to the chainer executable. - - - - - - Reference to the Binary element that contains the chainer executable. Mutually exclusive with - the FileSource and PropertySource attributes. - - - - - - - Reference to the File element that is the chainer executable. Mutually exclusive with - the BinarySource and PropertySource attributes. - - - - - - - Reference to a Property that resolves to the full path to the chainer executable. Mutually exclusive with - the BinarySource and FileSource attributes. - - - - - + + + Unique identifier for embedded chainer. + + + + + Value to append to the transaction handle and passed to the chainer executable. + + + + + + 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. + + + + + + + Reference to the Binary element that contains the chainer executable. Mutually exclusive with + the FileSource and PropertySource attributes. + + + + + + + Reference to the File element that is the chainer executable. Mutually exclusive with + the BinarySource and PropertySource attributes. + + + + + + + Reference to a Property that resolves to the full path to the chainer executable. Mutually exclusive with + the BinarySource and FileSource attributes. + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + - Reference to an EmbeddedChainer element. This will force the entire referenced Fragment's contents - to be included in the installer database. - + Reference to an EmbeddedChainer element. This will force the entire referenced Fragment's contents + to be included in the installer database. + @@ -11407,9 +11389,9 @@ - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + @@ -11418,24 +11400,32 @@ - + Element value is the condition. Use CDATA if message contains delimiter characters. - - + + Specifies extra files to be extracted for use by the embedded UI, such as language resources. - + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + - Unique identifier for embedded UI.If this attribute is not specified the Name attribute or the file name - portion of the SourceFile attribute will be used. - + Unique identifier for embedded UI. If this attribute is not specified the Name attribute or the file name + portion of the SourceFile attribute will be used. + @@ -11541,9 +11531,9 @@ - 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. - + 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. + @@ -11551,19 +11541,37 @@ Set yes to allow the Windows Installer to display the embedded UI during basic UI level installation. + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + - Defines a resource for use by the embedded UI. - + Defines a resource for use by the embedded UI. + - + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + Identifier for the embedded UI resource. @@ -11572,23 +11580,156 @@ - The name for the resource when it is extracted from the MSI package 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. - + The name for the resource when it is extracted from the MSI package 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. + Path to the binary file that is the embedded UI resource. - + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + + + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + + + + Number of the error for which a message is being provided. See MSI SDK for error definitions. + + + + + Message to display for the specified error number. + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + + + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + + + + Optional condition that determines whether the control event should be published. + + + + + + The parent Control for this Publish element, should only be specified when this element is a child of the UI element. + + + + + + + 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. + + + + + + + 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. + + + + + + + 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). + + + + + + + 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. + + + + + + + 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. + If the event doesn't take an attribute, a common value to use is "0". + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + - + + + Sets attributes for events in the EventMapping table + - + @@ -11602,14 +11743,14 @@ - - - Number of the error for which a message is being provided. See MSI SDK for error definitions. - - - + - Message to display for the specified error number. + must be one of the standard control events' + + + + + if not present can only handle enable, disable, hide, unhide events @@ -11622,118 +11763,36 @@ - - - - - - - - - - - The element value is the optional Condition expression. - - - - Optional condition that determines whether the control event should be published. - - - - - - The parent Control for this Publish element, should only be specified when this element is a child of the UI element. - - - - - - - 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. - - - - - - - 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. - - - - - - - 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). - - - - - - - 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. - - - - - - - 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. - If the event doesn't take an attribute, a common value to use is "0". - - - - - - - - + - Sets attributes for events in the EventMapping table - - - - + An alternative to using the Text attribute on the Control element. + - + - must be one of the standard control events' + + Instructs the text to be imported from a file instead of the element value during the binding process. + Cannot be specified with the Value attribute. + - + - if not present can only handle enable, disable, hide, unhide events + + The value of the control's text. Cannot be specified with the SourceFile attribute. + - - - - - - An alternative to using the Text attribute when the value contains special XML characters like <, >, or &. - - - - - - - - Instructs the text to be imported from a file instead of the element value during the binding process. - - - - + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + @@ -11791,6 +11850,14 @@ + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + @@ -11830,7 +11897,7 @@ - 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 Formatted for details. + 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 Formatted for details. @@ -11853,7 +11920,7 @@ This attribute is only valid for CheckBox controls. The value is the name of a Property that was already used as the Property for another CheckBox control. The Property attribute cannot be specified. The attribute exists to support multiple checkboxes on different dialogs being tied to the same property. - + Set this attribute to "yes" to cause this Control to be skipped in the tab sequence. @@ -11869,7 +11936,7 @@ Set this attribute to "yes" to cause this Control to be invoked by the escape key. - + @@ -11945,7 +12012,7 @@ Set this attribute to "yes" to cause the scroll bar to display on the left side of the Control. - + This attribute is only valid for Text Controls. @@ -12023,10 +12090,11 @@ - 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. - + + 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. + @@ -12079,26 +12147,34 @@ - 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. - + 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. + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + - Billboard to display during install of a Feature - + Billboard to display during install of a Feature + - - + + @@ -12119,16 +12195,24 @@ Feature whose state determines if the Billboard is shown. + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + - Billboard action during which child Billboards are displayed - + Billboard action during which child Billboards are displayed + - - + + @@ -12144,6 +12228,14 @@ Action name that determines when the Billboard should be shown. + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + @@ -12157,17 +12249,25 @@ - Defines a dialog box in the Dialog Table. - + Defines a dialog box in the Dialog Table. + - - + + Control elements belonging to this dialog. - + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + Unique identifier for the dialog. @@ -12198,7 +12298,7 @@ The title of the dialog box. - + Used to hide the dialog. @@ -12254,6 +12354,14 @@ Specifies this dialog as an error dialog. + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + @@ -12262,9 +12370,9 @@ - Reference to a Dialog. This will cause the entire referenced section's contents - to be included in the installer database. - + Reference to a Dialog. This will cause the entire referenced section's contents + to be included in the installer database. + @@ -12272,28 +12380,34 @@ The identifier of the Dialog to reference. + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + - + - - - - Element value is progress message text for action - - - - - used to format ActionData messages from action processing - - - - + + + + Element value is progress message text for action. + + + + + Used to format ActionData messages from action processing + + @@ -12303,28 +12417,59 @@ - - - + + + + An optional identifier for the text style in the database. If one is not specified, + one will be generated. + + + + + + The face name of the font. + + + + + The font's size. + + - 0 to 255 + A value from 0 to 255 to indicate the amount of red in the font. - 0 to 255 + A value from 0 to 255 to indicate the amount of green in the font. - 0 to 255 + A value from 0 to 255 to indicate the amount of blue in the font. + + + + + Indicates whether the font should be bold. Default is 'false'. + + + + + Indicates whether the font should be italic. Default is 'false'. + + + + + Indicates whether the font should be underline. Default is 'false'. + + + + + Indicates whether the font should be strikethrough. Default is 'false'. - - - - @@ -12392,13 +12537,13 @@ - - + + entry for ListBox table - + Property tied to this group @@ -12426,13 +12571,13 @@ - - + + entry for ComboBox table - + Property tied to this group @@ -12460,13 +12605,13 @@ - - + + entry for ListView table - + Property tied to this group @@ -12577,27 +12722,30 @@ - - - - Element value is text, may use CDATA if needed to escape XML delimiters - - - - - The UI text. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - + + Element value is text, may use CDATA if needed to escape XML delimiters + + + + + An optional identifier for the text style in the database. If one is not specified, + one will be generated. + + + + + + The UI text. + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + @@ -12681,13 +12829,13 @@ Defines a custom table for use from a custom action. - - + + Column definition for the custom table. - + Row definition for the custom table. @@ -12700,7 +12848,7 @@ - + Identifier for the custom table. The id must be less than 31 characters. @@ -12911,6 +13059,14 @@ + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + @@ -12918,9 +13074,17 @@ Row data for a Custom Table - - - + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + @@ -12973,27 +13137,35 @@ The identifier of the CustomTable element to reference. + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + - Use this element to ensure that a table appears in the installer database, even if its empty. - + Use this element to ensure that a table appears in the installer database, even if its empty. + - This element is particularly useful for two problems that may occur while merging merge modules: - - 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. - - 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. - + This element is particularly useful for two problems that may occur while merging merge modules: + + * 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. + + * 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. + @@ -13002,16 +13174,24 @@ The name of the table. + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + - 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; it's a WiX-only concept. - + 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; it's a WiX-only concept. + @@ -13022,29 +13202,37 @@ - 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'. - + 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'. + - 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. - + 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. + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + - Use this element to contain definitions for instance transforms. - + Use this element to contain definitions for instance transforms. + @@ -13055,23 +13243,31 @@ The Id of the Property who's value should change for each instance. + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + - Defines an instance transform for your product. - + Defines an instance transform for your product. + - 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. - + 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. + @@ -13089,20 +13285,28 @@ The UpgradeCode for this instance. + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + - Simplifies authoring for major upgrades, including support for preventing downgrades. + Simplifies authoring for major upgrades, including support for preventing downgrades. - The parent Package element must have valid UpgradeCode and Version attributes. + The parent Package element must have valid UpgradeCode and Version attributes. - When the FindRelatedProducts action detects a related product installed on the system, - it appends the product code to the property named WIX_UPGRADE_DETECTED. After the - FindRelatedProducts action is run, the value of the WIX_UPGRADE_DETECTED property is a - list of product codes, separated by semicolons (;), detected on the system. - + When the FindRelatedProducts action detects a related product installed on the system, + it appends the product code to the property named WIX_UPGRADE_DETECTED. After the + FindRelatedProducts action is run, the value of the WIX_UPGRADE_DETECTED property is a + list of product codes, separated by semicolons (;), detected on the system. + @@ -13111,106 +13315,106 @@ - When set to no (the default), products with lower version numbers are blocked from - installing when a product with a higher version is installed; the DowngradeErrorMessage - attribute must also be specified. + When set to no (the default), products with lower version numbers are blocked from + installing when a product with a higher version is installed; the DowngradeErrorMessage + attribute must also be specified. - When set to yes, any version can be installed over any other version. - + When set to yes, any version can be installed over any other version. + - When set to no (the default), installing a product with the same version and upgrade code - (but different product code) is allowed and treated by MSI as two products. When set to yes, - WiX sets the msidbUpgradeAttributesVersionMaxInclusive attribute, which tells MSI to treat - a product with the same version as a major upgrade. + When set to no (the default), installing a product with the same version and upgrade code + (but different product code) is allowed and treated by MSI as two products. When set to yes, + WiX sets the msidbUpgradeAttributesVersionMaxInclusive attribute, which tells MSI to treat + a product with the same version as a major upgrade. - This is useful when two product versions differ only in the fourth version field. MSI - specifically ignores that field when comparing product versions, so two products that - differ only in the fourth version field are the same product and need this attribute set to - yes to be detected. + This is useful when two product versions differ only in the fourth version field. MSI + specifically ignores that field when comparing product versions, so two products that + differ only in the fourth version field are the same product and need this attribute set to + yes to be detected. - Note that because MSI ignores the fourth product version field, setting this attribute to - yes also allows downgrades when the first three product version fields are identical. - For example, product version 1.0.0.1 will "upgrade" 1.0.0.2998 because they're seen as the - same version (1.0.0). That could reintroduce serious bugs so the safest choice is to change - the first three version fields and omit this attribute to get the default of no. + Note that because MSI ignores the fourth product version field, setting this attribute to + yes also allows downgrades when the first three product version fields are identical. + For example, product version 1.0.0.1 will "upgrade" 1.0.0.2998 because they're seen as the + same version (1.0.0). That could reintroduce serious bugs so the safest choice is to change + the first three version fields and omit this attribute to get the default of no. - This attribute cannot be "yes" when AllowDowngrades is also "yes" -- AllowDowngrades - already allows two products with the same version number to upgrade each other. - + This attribute cannot be "yes" when AllowDowngrades is also "yes" -- AllowDowngrades + already allows two products with the same version number to upgrade each other. + - When set to yes, products with higer version numbers are blocked from - installing when a product with a lower version is installed; the UpgradeErrorMessage - attribute must also be specified. + When set to yes, products with higer version numbers are blocked from + installing when a product with a lower version is installed; the UpgradeErrorMessage + attribute must also be specified. - When set to no (the default), any version can be installed over any lower version. - + When set to no (the default), any version can be installed over any lower version. + - The message displayed if users try to install a product with a lower version number - when a product with a higher version is installed. Used only when AllowDowngrades - is no (the default). + The message displayed if users try to install a product with a lower version number + when a product with a higher version is installed. Used only when AllowDowngrades + is no (the default). - The message displayed if users try to install a product with a higer version number - when a product with a lower version is installed. Used only when Disallow - is yes. - + The message displayed if users try to install a product with a higer version number + when a product with a lower version is installed. Used only when Disallow + is yes. + - When set to yes (the default), the MigrateFeatureStates standard action will set the - feature states of the upgrade product to those of the installed product. + When set to yes (the default), the MigrateFeatureStates standard action will set the + feature states of the upgrade product to those of the installed product. - When set to no, the installed features have no effect on the upgrade installation. - + When set to no, the installed features have no effect on the upgrade installation. + - When set to yes, the Upgrade table rows will match any product with the same UpgradeCode. + When set to yes, the Upgrade table rows will match any product with the same UpgradeCode. - When set to no (the default), the Upgrade table rows will match only products with the - same UpgradeCode and ProductLanguage. + When set to no (the default), the Upgrade table rows will match only products with the + same UpgradeCode and ProductLanguage. - When set to yes, failures removing the installed product during the upgrade will be - ignored. + When set to yes, failures removing the installed product during the upgrade will be + ignored. - When set to no (the default), failures removing the installed product during the upgrade - will be considered a failure and, depending on the scheduling, roll back the upgrade. - + When set to no (the default), failures removing the installed product during the upgrade + will be considered a failure and, depending on the scheduling, roll back the upgrade. + - A formatted string that contains the list of features to remove from the installed - product. The default is to remove all features. Note that if you use formatted property - values that evaluate to an empty string, no features will be removed; only omitting - this attribute defaults to removing all features. - + A formatted string that contains the list of features to remove from the installed + product. The default is to remove all features. Note that if you use formatted property + values that evaluate to an empty string, no features will be removed; only omitting + this attribute defaults to removing all features. + @@ -13221,7 +13425,7 @@ the installed product entirely before installing the upgrade product. It's slowest but gives the most flexibility in changing components and features in the upgrade product. - For more information, see RemoveExistingProducts. + For more information, see RemoveExistingProducts. @@ -13229,173 +13433,174 @@ - (Default) Schedules RemoveExistingProducts after the InstallValidate standard - action. This scheduling removes the installed product entirely before installing - the upgrade product. It's slowest but gives the most flexibility in changing - components and features in the upgrade product. Note that if the installation - of the upgrade product fails, the machine will have neither version installed. - + (Default) Schedules RemoveExistingProducts after the InstallValidate standard + action. This scheduling removes the installed product entirely before installing + the upgrade product. It's slowest but gives the most flexibility in changing + components and features in the upgrade product. Note that if the installation + of the upgrade product fails, the machine will have neither version installed. + - Schedules RemoveExistingProducts after the InstallInitialize standard action. - This is similar to the afterInstallValidate scheduling, but if the installation - of the upgrade product fails, Windows Installer also rolls back the removal of - the installed product -- in other words, reinstalls it. - + Schedules RemoveExistingProducts after the InstallInitialize standard action. + This is similar to the afterInstallValidate scheduling, but if the installation + of the upgrade product fails, Windows Installer also rolls back the removal of + the installed product -- in other words, reinstalls it. + - Schedules RemoveExistingProducts between the InstallExecute and InstallFinalize standard actions. - This scheduling installs the upgrade product "on top of" the installed product then lets - RemoveExistingProducts uninstall any components that don't also exist in the upgrade product. - Note that this scheduling requires strict adherence to the component rules because it relies - on component reference counts to be accurate during installation of the upgrade product and - removal of the installed product. For more information, see - - Bob Arnson's blog post "Paying for Upgrades" - for details. If installation of the upgrade product fails, Windows Installer - also rolls back the removal of the installed product -- in other words, reinstalls it. - + Schedules RemoveExistingProducts between the InstallExecute and InstallFinalize standard actions. + This scheduling installs the upgrade product "on top of" the installed product then lets + RemoveExistingProducts uninstall any components that don't also exist in the upgrade product. + Note that this scheduling requires strict adherence to the component rules because it relies + on component reference counts to be accurate during installation of the upgrade product and + removal of the installed product. For more information, see + Bob Arnson's blog post "Paying for Upgrades" for details. If installation of the upgrade product fails, Windows Installer + also rolls back the removal of the installed product -- in other words, reinstalls it. + - Schedules RemoveExistingProducts between the InstallExecuteAgain and InstallFinalize standard actions. - This is identical to the afterInstallExecute scheduling but after the InstallExecuteAgain standard - action instead of InstallExecute. - + Schedules RemoveExistingProducts between the InstallExecuteAgain and InstallFinalize standard actions. + This is identical to the afterInstallExecute scheduling but after the InstallExecuteAgain standard + action instead of InstallExecute. + - Schedules RemoveExistingProducts after the InstallFinalize standard action. This is similar to the - afterInstallExecute and afterInstallExecuteAgain schedulings but takes place outside the - installation transaction so if installation of the upgrade product fails, Windows Installer does - not roll back the removal of the installed product, so the machine will have both versions - installed. - + Schedules RemoveExistingProducts after the InstallFinalize standard action. This is similar to the + afterInstallExecute and afterInstallExecuteAgain schedulings but takes place outside the + installation transaction so if installation of the upgrade product fails, Windows Installer does + not roll back the removal of the installed product, so the machine will have both versions + installed. + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + - + - - - - - Specifies the lower bound on the range of product versions to be detected by FindRelatedProducts. - - - - - Specifies the upper boundary of the range of product versions detected by FindRelatedProducts. - - - - - 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. - - - - - Set to "no" to make the range of versions detected exclude the value specified in Minimum. This attribute is "yes" by default. - - - - - Set to "yes" to make the range of versions detected include the value specified in Maximum. - - - - - Set to "yes" to detect all languages, excluding the languages listed in the Language attribute. - - - - - This value specifies the upgrade code for the products that are to be detected by the FindRelatedProducts action. - - - - - - Extensibility point in the WiX XML Schema. Schema extensions can register additional - attributes at this point in the schema. - - - - - + + + Specifies the lower bound on the range of product versions to be detected by FindRelatedProducts. + + + + + Specifies the upper boundary of the range of product versions detected by FindRelatedProducts. + + + + + 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. + + + + + Set to "no" to make the range of versions detected exclude the value specified in Minimum. This attribute is "yes" by default. + + + + + Set to "yes" to make the range of versions detected include the value specified in Maximum. + + + + + Set to "yes" to detect all languages, excluding the languages listed in the Language attribute. + + + + + This value specifies the upgrade code for the products that are to be detected by the FindRelatedProducts action. + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + - - - - Text node specifies the condition of the action. - - - - The name of an action that this action should come after. - - - - - The name of an action that this action should come before. - - - - - - If "yes", the sequencing of this action may be overridden by sequencing elsewhere. - - - - - - A value used to indicate the position of this action in a sequence. - - - - - If yes, this action will not occur. - - - - + + + The name of an action that this action should come after. + + + + + The name of an action that this action should come before. + + + + + The condition of the action. + + + + + + If "yes", the sequencing of this action may be overridden by sequencing elsewhere. + + + + + + A value used to indicate the position of this action in a sequence. + + + + + If yes, this action will not occur. + + - - - - - A value used to indicate the position of this action in a sequence. - - - - - If yes, this action will not occur. - - - - + + + The condition of the action. + + + + + A value used to indicate the position of this action in a sequence. + + + + + If yes, this action will not occur. + + @@ -13478,7 +13683,7 @@ - Values of this type must be an integer or a preprocessor variable with the format `$(Variable)` or `$(var.Variable). + Values of this type must be a non-negative integer or a preprocessor variable with the format `$(Variable)` or `$(var.Variable). @@ -13486,12 +13691,20 @@ - Values of this type must be an integer or a localization variable with the format `!(loc.Variable)` where `Variable` is the name of the localization variable. + Values of this type must be a non-negative integer or a localization variable with the format `!(loc.Variable)` where `Variable` is the name of the localization variable. + + + Values of this allow negative integer or a preprocessor variable with the format `$(Variable)` or `$(var.Variable). + + + + + Values of this type will look like: "FileName.ext". Only one period is allowed. The following characters are not allowed: \ ? | > : / * " + , ; = [ ] <, or whitespace. The name cannot exceed 8 characters and the extension cannot exceed 3 characters. The value could also be a localization variable with the format !(loc.VARIABLE). @@ -13516,6 +13729,14 @@ + + + Values of this type will look like: "x.x.x.x" where x is an integer from 0 to 65534. + + + + + Values of this type will look like: "File?.*". Only one period is allowed. The following characters are not allowed: \ | > : / " + , ; = [ ] <, 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). @@ -13633,18 +13854,18 @@ - + - Values of this type will either be "always", "keep", or "remove". + Values of this type will either be "force", "keep", or "remove". - + - + - Values of this type will either be "always", "keep", or "remove". + Values of this type will either be "force", "keep", or "remove". - + Always cache the package during Cache, Install, Modify, Repair, and Layout. @@ -13792,17 +14013,18 @@ - - Indicates the compression level for a cabinet. - + + Indicates the compression level for a cabinet. + + - - Indicates the compression level for a cabinet. - + + Indicates the compression level for a cabinet. + @@ -13817,7 +14039,7 @@ A type that represents that 1 or more preprocessor variables (as they appear in sources on disk, before preprocessor has run). - + @@ -13855,21 +14077,17 @@ - - This element is required for any product, feature, or bundle that will use the Dependency feature to properly reference count - other products or features. It should be authored into a component that is always installed and removed with the - product or features that contain it. This guarantees that product dependencies are not removed before those products that - depend on them. - - - The @Key attribute should identify a version range for your product that you guarantee will be backward compatible. - This key is designed to persist throughout compatible upgrades so that dependent products do not have to be reinstalled - and will not prevent your product from being upgraded. If this attribute is not authored, the value is the ProductCode - and will not automatically support upgrades. - - - By default this uses the Package/@ProductCode attribute value, which may be automatically generated. - + This element is required for any product, feature, or bundle that will use the Dependency feature to properly reference count + other products or features. It should be authored into a component that is always installed and removed with the + product or features that contain it. This guarantees that product dependencies are not removed before those products that + depend on them. + + The @Key attribute should identify a version range for your product that you guarantee will be backward compatible. + This key is designed to persist throughout compatible upgrades so that dependent products do not have to be reinstalled + and will not prevent your product from being upgraded. If this attribute is not authored, the value is the ProductCode + and will not automatically support upgrades. + + By default this uses the Package/@ProductCode attribute value, which may be automatically generated. How To: Author product dependencies @@ -13894,7 +14112,7 @@ - + The version of the package. For MSI packages, the ProductVersion will be used by default @@ -13909,6 +14127,13 @@ + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional attributes at this point in the schema. + + + @@ -13948,14 +14173,14 @@ - + The minimum version of the dependency provider required to be installed. The default is unbound. - + The maximum version of the dependency provider required to be installed. The default is unbound. @@ -13976,6 +14201,13 @@ + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional attributes at this point in the schema. + + + @@ -14003,6 +14235,13 @@ + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional attributes at this point in the schema. + + +