Browse Source

Update WiX schemas to version 3.6

pull/30/head
Matt Ward 13 years ago
parent
commit
b433c5bda6
  1. 28
      data/schemas/difxapp.xsd
  2. 59
      data/schemas/firewall.xsd
  3. 18
      data/schemas/gaming.xsd
  4. 51
      data/schemas/iis.xsd
  5. 18
      data/schemas/lux.xsd
  6. 18
      data/schemas/msmq.xsd
  7. 109
      data/schemas/netfx.xsd
  8. 18
      data/schemas/ps.xsd
  9. 18
      data/schemas/sql.xsd
  10. 450
      data/schemas/util.xsd
  11. 108
      data/schemas/vs.xsd
  12. 22264
      data/schemas/wix.xsd
  13. 85
      data/schemas/wixloc.xsd
  14. 3
      src/AddIns/BackendBindings/WixBinding/Project/WixBinding.csproj
  15. 2
      src/AddIns/BackendBindings/WixBinding/WixBinding.sln

28
data/schemas/difxapp.xsd

@ -1,4 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!--
<copyright file="difxapp.xsd" company="Outercurve Foundation">
Copyright (c) 2004, Outercurve Foundation.
This software is released under Microsoft Reciprocal License (MS-RL).
The license and further copyright text can be found in the file
LICENSE.TXT at the root directory of the distribution.
</copyright>
-->
<xs:schema xmlns:html="http://www.w3.org/1999/xhtml" <xs:schema xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:wix="http://schemas.microsoft.com/wix/2006/wi" xmlns:wix="http://schemas.microsoft.com/wix/2006/wi"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema"
@ -7,16 +15,6 @@
xmlns="http://schemas.microsoft.com/wix/DifxAppExtension"> xmlns="http://schemas.microsoft.com/wix/DifxAppExtension">
<xs:annotation> <xs:annotation>
<xs:documentation> <xs:documentation>
Copyright (c) Microsoft Corporation. All rights reserved.
The use and distribution terms for this software are covered by the
Common Public License 1.0 (http://opensource.org/licenses/cpl1.0.php)
which can be found in the file CPL.TXT at the root of this distribution.
By using this software in any fashion, you are agreeing to be bound by
the terms of this license.
You must not remove this notice, or any other, from this software.
The source code schema for the Windows Installer XML Toolset Driver Install Frameworks for Applications Extension. The source code schema for the Windows Installer XML Toolset Driver Install Frameworks for Applications Extension.
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>
@ -50,9 +48,9 @@
store when a driver package was installed. If this attribute is set to "no" or not present, DIFxApp does not store when a driver package was installed. If this attribute is set to "no" or not present, DIFxApp does not
remove these files from a system. Note that configuring DIFxApp to delete these files is controlled by the remove these files from a system. Note that configuring DIFxApp to delete these files is controlled by the
Flags entry value of the component that represents the driver package in the MsiDriverPackages custom table. Flags entry value of the component that represents the driver package in the MsiDriverPackages custom table.
Setting DriverDeleteFiles to "yes" sets the corresponding bit in the Flags entry value. Setting DriverLegacy Setting DeleteFiles to "yes" sets the corresponding bit in the Flags entry value. Setting DeleteFiles to "no"
to "no" clears the corresponding bit in the Flags entry value. If this attribute is not present, DIFxApp uses clears the corresponding bit in the Flags entry value. If this attribute is not present, DIFxApp uses a
a default value of "no". default value of "no".
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
@ -75,8 +73,8 @@
files. For more information, see "Installing Unsigned Driver Packages in Legacy Mode" earlier in this paper. files. For more information, see "Installing Unsigned Driver Packages in Legacy Mode" earlier in this paper.
If this attribute is set to "no" or not present, DIFxApp will install only signed driver packages. Note If this attribute is set to "no" or not present, DIFxApp will install only signed driver packages. Note
that configuring DIFxApp to install unsigned drivers is controlled by the Flags entry value of the component that configuring DIFxApp to install unsigned drivers is controlled by the Flags entry value of the component
that represents the driver package in the MsiDriverPackages custom table. Setting DriverLegacy to "yes" sets that represents the driver package in the MsiDriverPackages custom table. Setting Legacy to "yes" sets
the corresponding bit in the Flags entry value. Setting DriverLegacy to "no" clears the bit in the Flags the corresponding bit in the Flags entry value. Setting Legacy to "no" clears the bit in the Flags
entry value that configures DIFxApp to install unsigned driver packages. If this attribute is not present, entry value that configures DIFxApp to install unsigned driver packages. If this attribute is not present,
DIFxApp uses a default value of "no". DIFxApp uses a default value of "no".
</xs:documentation> </xs:documentation>

59
data/schemas/firewall.xsd

@ -1,4 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!--
<copyright file="firewall.xsd" company="Outercurve Foundation">
Copyright (c) 2004, Outercurve Foundation.
This software is released under Microsoft Reciprocal License (MS-RL).
The license and further copyright text can be found in the file
LICENSE.TXT at the root directory of the distribution.
</copyright>
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension"
xmlns:html="http://www.w3.org/1999/xhtml" xmlns:html="http://www.w3.org/1999/xhtml"
@ -6,16 +14,6 @@
xmlns="http://schemas.microsoft.com/wix/FirewallExtension"> xmlns="http://schemas.microsoft.com/wix/FirewallExtension">
<xs:annotation> <xs:annotation>
<xs:documentation> <xs:documentation>
Copyright (c) Microsoft Corporation. All rights reserved.
The use and distribution terms for this software are covered by the
Common Public License 1.0 (http://opensource.org/licenses/cpl1.0.php)
which can be found in the file CPL.TXT at the root of this distribution.
By using this software in any fashion, you are agreeing to be bound by
the terms of this license.
You must not remove this notice, or any other, from this software.
The source code schema for the Windows Installer XML Toolset Firewall Extension. The source code schema for the Windows Installer XML Toolset Firewall Extension.
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>
@ -85,8 +83,12 @@
<xs:attribute name="Port" type="xs:string"> <xs:attribute name="Port" type="xs:string">
<xs:annotation> <xs:annotation>
<xs:documentation> <xs:documentation>
Port to allow through the firewall for this exception. If you use Port, you Port to allow through the firewall for this exception.
cannot also use File or Program.
If you use Port and also File or Program in the same
FirewallException element, the exception will fail to install on
Windows XP and Windows Server 2003. IgnoreFailure="yes" can be used to
ignore the resulting failure, but the exception will not be added.
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
@ -94,9 +96,13 @@
<xs:attribute name="Protocol"> <xs:attribute name="Protocol">
<xs:annotation> <xs:annotation>
<xs:documentation> <xs:documentation>
IP protocol used for this firewall exception. If not specified, "tcp" is IP protocol used for this firewall exception. If Port is defined,
assumed. If you use Protocol, you must also specify Port and you cannot "tcp" is assumed if the protocol is not specified.
also use File or Program.
If you use Protocol and also File or Program in the same
FirewallException element, the exception will fail to install on
Windows XP and Windows Server 2003. IgnoreFailure="yes" can be used to
ignore the resulting failure, but the exception will not be added.
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:simpleType> <xs:simpleType>
@ -111,7 +117,12 @@
<xs:annotation> <xs:annotation>
<xs:documentation> <xs:documentation>
Identifier of a file to be granted access to all incoming ports and Identifier of a file to be granted access to all incoming ports and
protocols. If you use File, you cannot also use Program, Port, or Protocol. protocols. If you use File, you cannot also use Program.
If you use File and also Port or Protocol in the same
FirewallException element, the exception will fail to install on
Windows XP and Windows Server 2003. IgnoreFailure="yes" can be used to
ignore the resulting failure, but the exception will not be added.
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
@ -122,7 +133,12 @@
Path to a target program to be granted access to all incoming ports and Path to a target program to be granted access to all incoming ports and
protocols. Note that this is a formatted field, so you can use [#fileId] protocols. Note that this is a formatted field, so you can use [#fileId]
syntax to refer to a file being installed. If you use Program, you cannot syntax to refer to a file being installed. If you use Program, you cannot
also use File, Port, or Protocol. also use File.
If you use Program and also Port or Protocol in the same
FirewallException element, the exception will fail to install on
Windows XP and Windows Server 2003. IgnoreFailure="yes" can be used to
ignore the resulting failure, but the exception will not be added.
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
@ -151,7 +167,14 @@
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:attribute> </xs:attribute>
<xs:attribute name="Description" type="xs:string">
<xs:annotation>
<xs:documentation>
Description for this firewall rule displayed in Windows Firewall manager in
Windows Vista and later.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>

18
data/schemas/gaming.xsd

@ -1,4 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!--
<copyright file="gaming.xsd" company="Outercurve Foundation">
Copyright (c) 2004, Outercurve Foundation.
This software is released under Microsoft Reciprocal License (MS-RL).
The license and further copyright text can be found in the file
LICENSE.TXT at the root directory of the distribution.
</copyright>
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension"
xmlns:html="http://www.w3.org/1999/xhtml" xmlns:html="http://www.w3.org/1999/xhtml"
@ -6,16 +14,6 @@
xmlns="http://schemas.microsoft.com/wix/GamingExtension"> xmlns="http://schemas.microsoft.com/wix/GamingExtension">
<xs:annotation> <xs:annotation>
<xs:documentation> <xs:documentation>
Copyright (c) Microsoft Corporation. All rights reserved.
The use and distribution terms for this software are covered by the
Common Public License 1.0 (http://opensource.org/licenses/cpl1.0.php)
which can be found in the file CPL.TXT at the root of this distribution.
By using this software in any fashion, you are agreeing to be bound by
the terms of this license.
You must not remove this notice, or any other, from this software.
The source code schema for the Windows Installer XML Toolset Gaming Extension. The source code schema for the Windows Installer XML Toolset Gaming Extension.
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>

51
data/schemas/iis.xsd

@ -1,4 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!--
<copyright file="iis.xsd" company="Outercurve Foundation">
Copyright (c) 2004, Outercurve Foundation.
This software is released under Microsoft Reciprocal License (MS-RL).
The license and further copyright text can be found in the file
LICENSE.TXT at the root directory of the distribution.
</copyright>
-->
<xs:schema xmlns:html="http://www.w3.org/1999/xhtml" <xs:schema xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:wix="http://schemas.microsoft.com/wix/2006/wi" xmlns:wix="http://schemas.microsoft.com/wix/2006/wi"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema"
@ -7,16 +15,6 @@
xmlns="http://schemas.microsoft.com/wix/IIsExtension"> xmlns="http://schemas.microsoft.com/wix/IIsExtension">
<xs:annotation> <xs:annotation>
<xs:documentation> <xs:documentation>
Copyright (c) Microsoft Corporation. All rights reserved.
The use and distribution terms for this software are covered by the
Common Public License 1.0 (http://opensource.org/licenses/cpl1.0.php)
which can be found in the file CPL.TXT at the root of this distribution.
By using this software in any fashion, you are agreeing to be bound by
the terms of this license.
You must not remove this notice, or any other, from this software.
The source code schema for the Windows Installer XML Toolset Internet Information Services Extension. The source code schema for the Windows Installer XML Toolset Internet Information Services Extension.
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>
@ -407,28 +405,23 @@
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:attribute> </xs:attribute>
<xs:attribute name="ManagedPipelineMode"> <xs:attribute name="ManagedPipelineMode" type="xs:string">
<xs:annotation> <xs:annotation>
<xs:documentation>Specifies the request-processing mode that is used to process requests for managed content. Only available on IIS7, ignored on IIS6.</xs:documentation> <xs:documentation>
Specifies the request-processing mode that is used to process requests for managed content. Only available on IIS7, ignored on IIS6.
See <a href="http://www.iis.net/ConfigReference/system.applicationHost/applicationPools/applicationPoolDefaults" target="_blank">http://www.iis.net/ConfigReference/system.applicationHost/applicationPools/applicationPoolDefaults</a> for valid values.
This attribute may be set via a formatted Property (e.g. [MyProperty]).
</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="classic"/>
<xs:enumeration value="integrated"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute> </xs:attribute>
<xs:attribute name="ManagedRuntimeVersion"> <xs:attribute name="ManagedRuntimeVersion" type="xs:string">
<xs:annotation> <xs:annotation>
<xs:documentation>Specifies the .NET Framework version to be used by the application pool. Only available on IIS7, ignored on IIS6.</xs:documentation> <xs:documentation>
Specifies the .NET Framework version to be used by the application pool. Only available on IIS7, ignored on IIS6.
See <a href="http://www.iis.net/ConfigReference/system.applicationHost/applicationPools/applicationPoolDefaults" target="_blank">http://www.iis.net/ConfigReference/system.applicationHost/applicationPools/applicationPoolDefaults</a> for valid values.
This attribute may be set via a formatted Property (e.g. [MyProperty]).
</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="v1.1"/>
<xs:enumeration value="v2.0"/>
<xs:enumeration value="v4.0"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute> </xs:attribute>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
@ -768,9 +761,9 @@
The IP address to locate an existing WebSite or create a new WebSite. When the WebAddress is part of a WebSite element The IP address to locate an existing WebSite or create a new WebSite. When the WebAddress is part of a WebSite element
used to locate an existing web site the following rules are used: used to locate an existing web site the following rules are used:
<html:ul> <html:ul>
<html:li>When this attribute is not specified only the “All Unassigned” IP address will be located.</html:li> <html:li>When this attribute is not specified only the "All Unassigned" IP address will be located.</html:li>
<html:li>When this attribute is explicitly specified only the specified IP address will be located.</html:li> <html:li>When this attribute is explicitly specified only the specified IP address will be located.</html:li>
<html:li>When this attribute has the value “*” then any IP address including the “All Unassigned” IP address will be located</html:li> <html:li>When this attribute has the value "*" then any IP address including the "All Unassigned" IP address will be located</html:li>
</html:ul> </html:ul>
When the WebAddress is part of a WebSite element used to create a new web site the following rules are used: When the WebAddress is part of a WebSite element used to create a new web site the following rules are used:
<html:ul> <html:ul>

18
data/schemas/lux.xsd

@ -1,4 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!--
<copyright file="lux.xsd" company="Outercurve Foundation">
Copyright (c) 2004, Outercurve Foundation.
This software is released under Microsoft Reciprocal License (MS-RL).
The license and further copyright text can be found in the file
LICENSE.TXT at the root directory of the distribution.
</copyright>
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension"
xmlns:html="http://www.w3.org/1999/xhtml" xmlns:html="http://www.w3.org/1999/xhtml"
@ -6,16 +14,6 @@
xmlns="http://schemas.microsoft.com/wix/2009/Lux"> xmlns="http://schemas.microsoft.com/wix/2009/Lux">
<xs:annotation> <xs:annotation>
<xs:documentation> <xs:documentation>
Copyright (c) Microsoft Corporation. All rights reserved.
The use and distribution terms for this software are covered by the
Common Public License 1.0 (http://opensource.org/licenses/cpl1.0.php)
which can be found in the file CPL.TXT at the root of this distribution.
By using this software in any fashion, you are agreeing to be bound by
the terms of this license.
You must not remove this notice, or any other, from this software.
The source code schema for the Windows Installer XML Toolset Lux Extension. The source code schema for the Windows Installer XML Toolset Lux Extension.
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>

18
data/schemas/msmq.xsd

@ -1,4 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!--
<copyright file="msmq.xsd" company="Outercurve Foundation">
Copyright (c) 2004, Outercurve Foundation.
This software is released under Microsoft Reciprocal License (MS-RL).
The license and further copyright text can be found in the file
LICENSE.TXT at the root directory of the distribution.
</copyright>
-->
<xs:schema xmlns:html="http://www.w3.org/1999/xhtml" <xs:schema xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:wix="http://schemas.microsoft.com/wix/2006/wi" xmlns:wix="http://schemas.microsoft.com/wix/2006/wi"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema"
@ -7,16 +15,6 @@
xmlns="http://schemas.microsoft.com/wix/MsmqExtension"> xmlns="http://schemas.microsoft.com/wix/MsmqExtension">
<xs:annotation> <xs:annotation>
<xs:documentation> <xs:documentation>
Copyright (c) Microsoft Corporation. All rights reserved.
The use and distribution terms for this software are covered by the
Common Public License 1.0 (http://opensource.org/licenses/cpl1.0.php)
which can be found in the file CPL.TXT at the root of this distribution.
By using this software in any fashion, you are agreeing to be bound by
the terms of this license.
You must not remove this notice, or any other, from this software.
The source code schema for the Windows Installer XML Toolset MSMQ Extension. The source code schema for the Windows Installer XML Toolset MSMQ Extension.
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>

109
data/schemas/netfx.xsd

@ -1,4 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!--
<copyright file="netfx.xsd" company="Outercurve Foundation">
Copyright (c) 2004, Outercurve Foundation.
This software is released under Microsoft Reciprocal License (MS-RL).
The license and further copyright text can be found in the file
LICENSE.TXT at the root directory of the distribution.
</copyright>
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension"
xmlns:html="http://www.w3.org/1999/xhtml" xmlns:html="http://www.w3.org/1999/xhtml"
@ -6,16 +14,6 @@
xmlns="http://schemas.microsoft.com/wix/NetFxExtension"> xmlns="http://schemas.microsoft.com/wix/NetFxExtension">
<xs:annotation> <xs:annotation>
<xs:documentation> <xs:documentation>
Copyright (c) Microsoft Corporation. All rights reserved.
The use and distribution terms for this software are covered by the
Common Public License 1.0 (http://opensource.org/licenses/cpl1.0.php)
which can be found in the file CPL.TXT at the root of this distribution.
By using this software in any fashion, you are agreeing to be bound by
the terms of this license.
You must not remove this notice, or any other, from this software.
The source code schema for the Windows Installer XML Toolset .NET Framework Extension. The source code schema for the Windows Installer XML Toolset .NET Framework Extension.
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>
@ -30,12 +28,31 @@
<xs:appinfo> <xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="File" /> <xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="File" />
<xse:remarks> <xse:remarks>
Native images are files containing compiled processor-specific machine code, which <html:p>
are installed into the native image cache on the local computer. The runtime Native images are files containing compiled processor-specific machine code, which
can use native images from the cache instead using the just-in-time (JIT) are installed into the native image cache on the local computer. The runtime
compiler to compile the original assembly. can use native images from the cache instead using the just-in-time (JIT)
The native image custom actions are configured to ignore failures so that failing compiler to compile the original assembly.
to generate or remove a native image will not cause setup to fail and roll back. </html:p>
<html:p>
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.
</html:p>
<html:p>
<html:b>Note for patches:</html:b> 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.
</html:p>
<html:p>
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.
</html:p>
</xse:remarks> </xse:remarks>
</xs:appinfo> </xs:appinfo>
</xs:annotation> </xs:annotation>
@ -50,34 +67,50 @@
<xs:attribute name="AppBaseDirectory" type="xs:string"> <xs:attribute name="AppBaseDirectory" type="xs:string">
<xs:annotation> <xs:annotation>
<xs:documentation> <xs:documentation>
The identifier of the directory to use for locating dependent assemblies. <html:p>
For DLL assemblies and assemblies installed to the Global Assembly Cache (GAC), The directory to use for locating dependent assemblies.
this attribute should be set to the directory of the application which loads this For DLL assemblies and assemblies installed to the Global Assembly Cache (GAC),
assembly. For EXE assemblies, this attribute does not need to be set because NGen this attribute should be set to the directory of the application which loads this
will use the directory of the assembly file by default. assembly. For EXE assemblies, this attribute does not need to be set because NGen
will use the directory of the assembly file by default.
</html:p>
<html:p>
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.
</html:p>
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="AssemblyApplication" type="xs:string"> <xs:attribute name="AssemblyApplication" type="xs:string">
<xs:annotation> <xs:annotation>
<xs:documentation> <xs:documentation>
The identifier of the application which will load this assembly. <html:p>
For DLL assemblies which are loaded via reflection, this attribute should The application which will load this assembly.
be set to indicate the application which will load this assembly. For DLL assemblies which are loaded via reflection, this attribute should
The configuration of the application (usually specified via an exe.config file) will be used be set to indicate the application which will load this assembly.
to determine how to resolve dependencies for this assembly. The configuration of the application (usually specified via an exe.config file) will be used
When a shared component is loaded at run time, using the Load method, the to determine how to resolve dependencies for this assembly.
application's configuration file determines the dependencies that are loaded </html:p>
for the shared component — for example, the version of a dependency that is loaded. <html:p>
This attribute gives guidance on which dependencies would be loaded at run time in order The value can be in the form of a file identifier, or a formatted string
to figure out which dependency assemblies will also need to have native images generated that resolves to either a file identifier or a full path to a file.
(assuming the Dependency attribute is not set to "no"). </html:p>
This attribute cannot be set if the AssemblyApplication attribute is set on the parent <html:p>
File element (please note that these attributes both refer to the same application When a shared component is loaded at run time, using the Load method, the
assembly but do very different things: specifiying File/@AssemblyApplication will force application's configuration file determines the dependencies that are loaded
an assembly to install to a private location next to the indicated application, whereas for the shared component — for example, the version of a dependency that is loaded.
this AssemblyApplication attribute will be used to help resolve dependent assemblies This attribute gives guidance on which dependencies would be loaded at run time in order
while generating native images for this assembly). to figure out which dependency assemblies will also need to have native images generated
(assuming the Dependency attribute is not set to "no").
</html:p>
<html:p>
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).
</html:p>
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>

18
data/schemas/ps.xsd

@ -1,4 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!--
<copyright file="ps.xsd" company="Outercurve Foundation">
Copyright (c) 2004, Outercurve Foundation.
This software is released under Microsoft Reciprocal License (MS-RL).
The license and further copyright text can be found in the file
LICENSE.TXT at the root directory of the distribution.
</copyright>
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension"
xmlns:html="http://www.w3.org/1999/xhtml" xmlns:html="http://www.w3.org/1999/xhtml"
@ -7,16 +15,6 @@
xmlns="http://schemas.microsoft.com/wix/PSExtension"> xmlns="http://schemas.microsoft.com/wix/PSExtension">
<xs:annotation> <xs:annotation>
<xs:documentation> <xs:documentation>
Copyright (c) Microsoft Corporation. All rights reserved.
The use and distribution terms for this software are covered by the
Common Public License 1.0 (http://opensource.org/licenses/cpl1.0.php)
which can be found in the file CPL.TXT at the root of this distribution.
By using this software in any fashion, you are agreeing to be bound by
the terms of this license.
You must not remove this notice, or any other, from this software.
The source code schema for the Windows Installer XML Toolset PowerShell Extension. The source code schema for the Windows Installer XML Toolset PowerShell Extension.
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>

18
data/schemas/sql.xsd

@ -1,4 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!--
<copyright file="sql.xsd" company="Outercurve Foundation">
Copyright (c) 2004, Outercurve Foundation.
This software is released under Microsoft Reciprocal License (MS-RL).
The license and further copyright text can be found in the file
LICENSE.TXT at the root directory of the distribution.
</copyright>
-->
<xs:schema xmlns:html="http://www.w3.org/1999/xhtml" <xs:schema xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:wix="http://schemas.microsoft.com/wix/2006/wi" xmlns:wix="http://schemas.microsoft.com/wix/2006/wi"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema"
@ -7,16 +15,6 @@
xmlns="http://schemas.microsoft.com/wix/SqlExtension"> xmlns="http://schemas.microsoft.com/wix/SqlExtension">
<xs:annotation> <xs:annotation>
<xs:documentation> <xs:documentation>
Copyright (c) Microsoft Corporation. All rights reserved.
The use and distribution terms for this software are covered by the
Common Public License 1.0 (http://opensource.org/licenses/cpl1.0.php)
which can be found in the file CPL.TXT at the root of this distribution.
By using this software in any fashion, you are agreeing to be bound by
the terms of this license.
You must not remove this notice, or any other, from this software.
The source code schema for the Windows Installer XML Toolset SQL Server Extension. The source code schema for the Windows Installer XML Toolset SQL Server Extension.
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>

450
data/schemas/util.xsd

@ -1,17 +1,15 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!--
<copyright file="util.xsd" company="Outercurve Foundation">
Copyright (c) 2004, Outercurve Foundation.
This software is released under Microsoft Reciprocal License (MS-RL).
The license and further copyright text can be found in the file
LICENSE.TXT at the root directory of the distribution.
</copyright>
-->
<xs:schema xmlns:html="http://www.w3.org/1999/xhtml" xmlns:wix="http://schemas.microsoft.com/wix/2006/wi" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" targetNamespace="http://schemas.microsoft.com/wix/UtilExtension" xmlns="http://schemas.microsoft.com/wix/UtilExtension"> <xs:schema xmlns:html="http://www.w3.org/1999/xhtml" xmlns:wix="http://schemas.microsoft.com/wix/2006/wi" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" targetNamespace="http://schemas.microsoft.com/wix/UtilExtension" xmlns="http://schemas.microsoft.com/wix/UtilExtension">
<xs:annotation> <xs:annotation>
<xs:documentation> <xs:documentation>
Copyright (c) Microsoft Corporation. All rights reserved.
The use and distribution terms for this software are covered by the
Common Public License 1.0 (http://opensource.org/licenses/cpl1.0.php)
which can be found in the file CPL.TXT at the root of this distribution.
By using this software in any fashion, you are agreeing to be bound by
the terms of this license.
You must not remove this notice, or any other, from this software.
The source code schema for the Windows Installer XML Toolset Utility Extension. The source code schema for the Windows Installer XML Toolset Utility Extension.
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>
@ -78,6 +76,112 @@
</xs:simpleContent> </xs:simpleContent>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="ComponentSearch">
<xs:annotation>
<xs:documentation>Describes a component search.</xs:documentation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Bundle" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Fragment" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attributeGroup ref="SearchCommonAttributes" />
<xs:attribute name="Guid" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Component to search for.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ProductCode" type="xs:string">
<xs:annotation>
<xs:documentation>Optional ProductCode to determine if the component is installed.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Result">
<xs:annotation>
<xs:documentation>
Rather than saving the matching key path into the variable, a ComponentSearch can save an attribute of the component instead.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="directory">
<xs:annotation>
<xs:documentation>Saves the parent directory for the component's file key path; other types of key path are returned unmodified.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="state">
<xs:annotation>
<xs:documentation>Saves the state of the component: absent (2), locally installed (3), will run from source (4), or installed in default location (either local or from source) (5)</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="keyPath">
<xs:annotation>
<xs:documentation>Saves the key path of the component if installed. This is the default.</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="ComponentSearchRef">
<xs:annotation>
<xs:documentation>References a ComponentSearch.</xs:documentation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Bundle" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Fragment" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="DirectorySearch">
<xs:annotation>
<xs:documentation>Describes a directory search.</xs:documentation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Bundle" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Fragment" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attributeGroup ref="SearchCommonAttributes" />
<xs:attribute name="Path" type="xs:string">
<xs:annotation>
<xs:documentation>Directory path to search for.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Result">
<xs:annotation>
<xs:documentation>
Rather than saving the matching directory path into the variable, a DirectorySearch can save an
attribute of the matching directory instead.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="exists">
<xs:annotation>
<xs:documentation>Saves true if a matching directory is found; false otherwise.</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="DirectorySearchRef">
<xs:annotation>
<xs:documentation>References a DirectorySearch.</xs:documentation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Bundle" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Fragment" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="EventSource"> <xs:element name="EventSource">
<xs:annotation> <xs:annotation>
<xs:appinfo> <xs:appinfo>
@ -181,6 +285,56 @@
</xs:attribute> </xs:attribute>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="FileSearch">
<xs:annotation>
<xs:documentation>Describes a file search.</xs:documentation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Bundle" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Fragment" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attributeGroup ref="SearchCommonAttributes" />
<xs:attribute name="Path" type="xs:string">
<xs:annotation>
<xs:documentation>File path to search for.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Result">
<xs:annotation>
<xs:documentation>
Rather than saving the matching file path into the variable, a FileSearch can save an attribute of the matching file instead.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="exists">
<xs:annotation>
<xs:documentation>Saves true if a matching file is found; false otherwise.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="version">
<xs:annotation>
<xs:documentation>Saves the version information for files that have it (.exe, .dll); zero-version (0.0.0.0) otherwise.</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="FileSearchRef">
<xs:annotation>
<xs:documentation>References a FileSearch.</xs:documentation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Bundle" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Fragment" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="FileShare"> <xs:element name="FileShare">
<xs:annotation> <xs:annotation>
<xs:appinfo> <xs:appinfo>
@ -621,6 +775,143 @@
</xs:attribute> </xs:attribute>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="ProductSearch">
<xs:annotation>
<xs:documentation>Describes a product search.</xs:documentation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Bundle" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Fragment" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attributeGroup ref="SearchCommonAttributes" />
<xs:attribute name="Guid" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>ProductCode to search for.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Result">
<xs:annotation>
<xs:documentation>
Rather than saving the product version into the variable, a ProductSearch can save another attribute of the matching product instead.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="version">
<xs:annotation>
<xs:documentation>Saves the version of a matching product if found; 0.0.0.0 otherwise. This is the default.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="language">
<xs:annotation>
<xs:documentation>Saves the language of a matching product if found; empty otherwise.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="state">
<xs:annotation>
<xs:documentation>Saves the state of the product: advertised (1), absent (2), or locally installed (3).</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="assignment">
<xs:annotation>
<xs:documentation>Saves the assignment type of the product: per-user (0), or per-machine (1).</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="ProductSearchRef">
<xs:annotation>
<xs:documentation>References a ProductSearch.</xs:documentation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Bundle" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Fragment" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="RemoveFolderEx">
<xs:annotation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
<xse:msiRef table="RemoveFile" href="http://msdn.microsoft.com/library/aa371201.aspx"/>
<xse:remarks>
<html:p>The custom action that implements RemoveFolderEx does so by writing temporary rows to the RemoveFile table
for each subfolder of the root folder you specify. Because it might dramatically affect Windows Installer's
<html:a href="http://msdn.microsoft.com/en-us/library/aa368593.aspx">File Costing</html:a>,
the temporary rows must be written before the CostInitialize standard action. Unfortunately, MSI doesn't
create properties for the Directory hierarchy in your package until later, in the CostFinalize action.</html:p>
<html:p>An easy workaround for a typical use case of removing a folder during uninstall is to write the directory
path to the registry and to load it during uninstall. See
<html:a href="http://robmensching.com/blog/posts/2010/5/2/The-WiX-toolsets-Remember-Property-pattern">The WiX toolset's "Remember Property" pattern</html:a>
for an example.</html:p>
<html:p>If you use custom actions to set properties, ensure that they are scheduled before the WixRemoveFoldersEx custom action.</html:p>
</xse:remarks>
</xs:appinfo>
<xs:documentation>
Remove a folder and all contained files and folders if the parent component is selected for installation or removal.
The folder must be specified in the Property attribute as the name of a property that will have a value that resolves
to the full path of the folder before the CostInitialize action. Note that Directory ids cannot be used.
For more details, see the Remarks.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string">
<xs:annotation>
<xs:documentation>Primary key used to identify this particular entry. If this is not specified, a stable identifier
will be generated at compile time based on the other attributes.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Property" type="xs:string">
<xs:annotation>
<xs:documentation>
The id of a property 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. The property value can contain environment variables surrounded by
percent signs such as from a REG_EXPAND_SZ registry value; environment variables will be expanded before
being evaluated for a full path.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="On">
<xs:annotation>
<xs:documentation>
This value determines when the folder may be removed.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="install">
<xs:annotation>
<xs:documentation>
Removes the folder only when the parent component is being installed (msiInstallStateLocal or msiInstallStateSource).
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="uninstall">
<xs:annotation>
<xs:documentation>
Default: Removes the folder only when the parent component is being removed (msiInstallStateAbsent).
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="both">
<xs:annotation>
<xs:documentation>
Removes the folder when the parent component is being installed or removed.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="RestartResource"> <xs:element name="RestartResource">
<xs:annotation> <xs:annotation>
<xs:documentation>Registers a resource with the Restart Manager.</xs:documentation> <xs:documentation>Registers a resource with the Restart Manager.</xs:documentation>
@ -658,6 +949,119 @@
</xs:attribute> </xs:attribute>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="RegistrySearch">
<xs:annotation>
<xs:documentation>Describes a registry search.</xs:documentation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Bundle" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Fragment" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attributeGroup ref="SearchCommonAttributes" />
<xs:attribute name="Root" use="required">
<xs:annotation>
<xs:documentation>Registry root hive to search under.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="HKLM">
<xs:annotation>
<xs:documentation>HKEY_LOCAL_MACHINE</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="HKCU">
<xs:annotation>
<xs:documentation>HKEY_CURRENT_USER</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="HKCR">
<xs:annotation>
<xs:documentation>HKEY_CLASSES_ROOT</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="HKU">
<xs:annotation>
<xs:documentation>HKEY_USERS</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Key" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Key to search for.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Value" type="xs:string">
<xs:annotation>
<xs:documentation>Optional value to search for under the given Key.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Format">
<xs:annotation>
<xs:documentation>What format to return the value in.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="raw">
<xs:annotation>
<xs:documentation>Returns the unformatted value directly from the registry. For example, a REG_DWORD value of '1' is returned as '1', not '#1'.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="compatible">
<xs:annotation>
<xs:documentation>Returns the value formatted as Windows Installer would. For example, a REG_DWORD value of '1' is returned as '#1', not '1'.</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ExpandEnvironmentVariables" type="YesNoType">
<xs:annotation>
<xs:documentation>Whether to expand any environment variables in REG_SZ, REG_EXPAND_SZ, or REG_MULTI_SZ values.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Result">
<xs:annotation>
<xs:documentation>
Rather than saving the matching registry value into the variable, a RegistrySearch can save an attribute of the matching entry instead.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="exists">
<xs:annotation>
<xs:documentation>Saves true if a matching registry entry is found; false otherwise.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="value">
<xs:annotation>
<xs:documentation>Saves the value of the registry key in the variable. This is the default.</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Win64" type="YesNoType">
<xs:annotation>
<xs:documentation>Instructs the search to look in the 64-bit registry when the value is 'yes'. When the value is 'no', the search looks in the 32-bit registry. The default value is 'no'.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="RegistrySearchRef">
<xs:annotation>
<xs:documentation>References a RegistrySearch.</xs:documentation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Bundle" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Fragment" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="ServiceConfig"> <xs:element name="ServiceConfig">
<xs:annotation> <xs:annotation>
<xs:documentation>Service configuration information for failure actions.</xs:documentation> <xs:documentation>Service configuration information for failure actions.</xs:documentation>
@ -729,7 +1133,7 @@
</xs:attribute> </xs:attribute>
<xs:attribute name="ProgramCommandLine" type="xs:string"> <xs:attribute name="ProgramCommandLine" type="xs:string">
<xs:annotation> <xs:annotation>
<xs:documentation>If any of the three *ActionType attributes is "runCommand", this specifies the command to run when doing so.</xs:documentation> <xs:documentation>If any of the three *ActionType attributes is "runCommand", this specifies the command to run when doing so. This value is formatted.</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="RebootMessage" type="xs:string"> <xs:attribute name="RebootMessage" type="xs:string">
@ -942,7 +1346,7 @@
</xs:attribute> </xs:attribute>
<xs:attribute name="ElementId" type="xs:string"> <xs:attribute name="ElementId" type="xs:string">
<xs:annotation> <xs:annotation>
<xs:documentation>The Id of another XmlConfig to add attributes to. In this case, the 'Action' 'Node' and 'On' attributes must be left unspecified.</xs:documentation> <xs:documentation>The Id of another XmlConfig to add attributes to. In this case, the 'ElementPath', 'Action', 'Node', and 'On' attributes must be omitted.</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="ElementPath" type="xs:string"> <xs:attribute name="ElementPath" type="xs:string">
@ -1001,6 +1405,28 @@
</xs:attribute> </xs:attribute>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:attributeGroup name="SearchCommonAttributes">
<xs:attribute name="Id" type="xs:string">
<xs:annotation>
<xs:documentation>Id of the search for ordering and dependency.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Variable" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Name of the variable in which to place the result of the search.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Condition" type="xs:string">
<xs:annotation>
<xs:documentation>Condition for evaluating the search. If this evaluates to false, the search is not executed at all.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="After" type="xs:string">
<xs:annotation>
<xs:documentation>Id of the search that this one should come after.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:simpleType name="YesNoType"> <xs:simpleType name="YesNoType">
<xs:annotation> <xs:annotation>
<xs:documentation>Values of this type will either be "yes" or "no".</xs:documentation> <xs:documentation>Values of this type will either be "yes" or "no".</xs:documentation>

108
data/schemas/vs.xsd

@ -1,20 +1,18 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!--
<copyright file="vs.xsd" company="Outercurve Foundation">
Copyright (c) 2004, Outercurve Foundation.
This software is released under Microsoft Reciprocal License (MS-RL).
The license and further copyright text can be found in the file
LICENSE.TXT at the root directory of the distribution.
</copyright>
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension"
targetNamespace="http://schemas.microsoft.com/wix/VSExtension" targetNamespace="http://schemas.microsoft.com/wix/VSExtension"
xmlns="http://schemas.microsoft.com/wix/VSExtension"> xmlns="http://schemas.microsoft.com/wix/VSExtension">
<xs:annotation> <xs:annotation>
<xs:documentation> <xs:documentation>
Copyright (c) Microsoft Corporation. All rights reserved.
The use and distribution terms for this software are covered by the
Common Public License 1.0 (http://opensource.org/licenses/cpl1.0.php)
which can be found in the file CPL.TXT at the root of this distribution.
By using this software in any fashion, you are agreeing to be bound by
the terms of this license.
You must not remove this notice, or any other, from this software.
The source code schema for the Windows Installer XML Toolset Visual Studio Extension. The source code schema for the Windows Installer XML Toolset Visual Studio Extension.
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>
@ -197,6 +195,96 @@
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="VsixPackage">
<xs:annotation>
<xs:documentation>
This element provides the metdata required to install/uninstall a file as
a VSIX Package. The VSIX package file will be installed as part of the MSI
then passed to the VSIX installer to install the VSIX package. To avoid the
duplication, simply use the MSI to install the VSIX package itself.
</xs:documentation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="File" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="File" type="xs:string">
<xs:annotation>
<xs:documentation>
Reference to file identifer. This attribute is required when the element is not a
child of a File element and is invalid when the element is a child of the File element.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PackageId" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>
Identity of the VSIX package per its internal manifest. If this value is not correct
the VSIX package will not correctly uninstall.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Permanent" type="YesNoType">
<xs:annotation>
<xs:documentation>
Indicates whether the VSIX package is uninstalled when the parent Component is uninstalled.
The default is 'no'.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Target" type="xs:string">
<xs:annotation>
<xs:documentation>
Specifies the SKU of Visual Studio in which to register the extension. If no target
is specified the extension is registered with all installed SKUs. If the Target
attribute is specified the TargetVersion attribute must also be specified. The
following is a list of known Visual Studio targets: integratedShell, professional,
premium, ultimate, vbExpress, vcExpress, vcsExpress, vwdExpress
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="TargetVersion" type="VersionType">
<xs:annotation>
<xs:documentation>
Specifies the version of Visual Studio in which to register the extension. This attribute
is required if the Target attribute is specified.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Vital" type="YesNoType">
<xs:annotation>
<xs:documentation>
Indicates whether failure to install the VSIX package causes the installation to rollback.
The default is 'yes'.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="VsixInstallerPathProperty" type="xs:string">
<xs:annotation>
<xs:documentation>
Optional reference to a Property element that contains the path to the VsixInstaller.exe.
By default, the latest VsixInstaller.exe on the machine will be used to install the VSIX
package. It is highly recommended that this attribute is *not* used.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax">
<xs:annotation><xs:documentation>
Extensibility point in the WiX XML Schema. Schema extensions can register additional
attributes at this point in the schema.
</xs:documentation></xs:annotation>
</xs:anyAttribute>
</xs:complexType>
</xs:element>
<xs:simpleType name="VersionType">
<xs:annotation><xs:documentation>Values of this type will look like: "x.x.x.x" where x is an integer from 0 to 65534.</xs:documentation></xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="(\d{1,5}\.){0,3}\d{1,5}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="YesNoType"> <xs:simpleType name="YesNoType">
<xs:annotation> <xs:annotation>
<xs:documentation>Values of this type will either be "yes" or "no".</xs:documentation> <xs:documentation>Values of this type will either be "yes" or "no".</xs:documentation>

22264
data/schemas/wix.xsd

File diff suppressed because it is too large Load Diff

85
data/schemas/wixloc.xsd

@ -1,4 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!--
<copyright file="wixloc.xsd" company="Outercurve Foundation">
Copyright (c) 2004, Outercurve Foundation.
This software is released under Microsoft Reciprocal License (MS-RL).
The license and further copyright text can be found in the file
LICENSE.TXT at the root directory of the distribution.
</copyright>
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension"
xmlns:html="http://www.w3.org/1999/xhtml" xmlns:html="http://www.w3.org/1999/xhtml"
@ -6,16 +14,6 @@
xmlns="http://schemas.microsoft.com/wix/2006/localization"> xmlns="http://schemas.microsoft.com/wix/2006/localization">
<xs:annotation> <xs:annotation>
<xs:documentation> <xs:documentation>
Copyright (c) Microsoft Corporation. All rights reserved.
The use and distribution terms for this software are covered by the
Common Public License 1.0 (http://opensource.org/licenses/cpl1.0.php)
which can be found in the file CPL.TXT at the root of this distribution.
By using this software in any fashion, you are agreeing to be bound by
the terms of this license.
You must not remove this notice, or any other, from this software.
Schema for describing Windows Installer Xml Localization files (.wxl). Schema for describing Windows Installer Xml Localization files (.wxl).
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>
@ -24,26 +22,32 @@
<xs:annotation> <xs:annotation>
<xs:appinfo> <xs:appinfo>
<xse:remarks> <xse:remarks>
<html:p>You can specify any valid Windows code by integer like 1252, or by web name like Windows-1252 or iso-8859-1. See <a href="/html/codepage.htm">Code Pages</a> for more information.</html:p> <html:p>You can specify any valid Windows code page by integer like 1252, or by web name like Windows-1252 or iso-8859-1. See <a href="/html/codepage.htm">Code Pages</a> for more information.</html:p>
</xse:remarks> </xse:remarks>
<xse:howtoRef href="build_a_localized_version.htm">How To: Build a localized version of your installer</xse:howtoRef> <xse:howtoRef href="build_a_localized_version.htm">How To: Build a localized version of your installer</xse:howtoRef>
<xse:howtoRef href="make_installer_localizable.htm">How To: Make your installer localizable</xse:howtoRef> <xse:howtoRef href="make_installer_localizable.htm">How To: Make your installer localizable</xse:howtoRef>
</xs:appinfo> </xs:appinfo>
</xs:annotation> </xs:annotation>
<xs:complexType> <xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded"> <xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="String" /> <xs:element ref="String" />
</xs:sequence> <xs:element ref="UI" />
</xs:choice>
<xs:attribute name="Codepage" type="xs:string"> <xs:attribute name="Codepage" type="xs:string">
<xs:annotation> <xs:annotation>
<xs:documentation>The code page integer value or web name for the resulting database. You can also specify -1 which will not reset the database code page. See remarks for more information.</xs:documentation> <xs:documentation>The code page integer value or web name for the resulting database. You can also specify -1 which will not reset the database code page. See remarks for more information.</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="Culture" type="xs:string" use="required"> <xs:attribute name="Culture" type="xs:string">
<xs:annotation> <xs:annotation>
<xs:documentation>Culture of the localization strings.</xs:documentation> <xs:documentation>Culture of the localization strings.</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="Language" type="xs:integer">
<xs:annotation>
<xs:documentation>The decimal language ID (LCID) for the culture.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
@ -73,6 +77,59 @@
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="UI">
<xs:annotation>
<xs:documentation>Allows a localization to override the position, size, and text of dialogs and controls. Override the text by specifying the replacement text in the inner text of the UI element.</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Dialog" type="xs:string">
<xs:annotation>
<xs:documentation>Identifies the dialog to localize or the dialog that a control to localize is in.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Control" type="xs:string">
<xs:annotation>
<xs:documentation>Combined with the Dialog attribute, identifies the control to localize.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="X" type="xs:integer">
<xs:annotation>
<xs:documentation>For a dialog, overrides the authored horizontal centering. For a control, overrides the authored horizontal coordinate of the upper-left corner of the rectangular boundary. This must be a non-negative number.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Y" type="xs:integer">
<xs:annotation>
<xs:documentation>For a dialog, overrides the authored vertical centering. For a control, overrides the authored vertical coordinate of the upper-left corner of the rectangular boundary of the control. This must be a non-negative number.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Width" type="xs:integer">
<xs:annotation>
<xs:documentation>For a dialog, overrides the authored width in dialog units. For a control, overrides the authored width of the rectangular boundary of the control. This must be a non-negative number.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Height" type="xs:integer">
<xs:annotation>
<xs:documentation>For a dialog, overrides the authored height in dialog units. For a control, overrides the authored height of the rectangular boundary of the control. This must be a non-negative number.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RightToLeft" type="LocalizationYesNoType">
<xs:annotation>
<xs:documentation>Set this attribute to "yes" to cause the Control to display from right to left. Not valid for a dialog.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RightAligned" type="LocalizationYesNoType">
<xs:annotation>
<xs:documentation>Set this attribute to "yes" to cause the Control to be right aligned. Not valid for a dialog.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="LeftScroll" type="LocalizationYesNoType">
<xs:annotation>
<xs:documentation>Set this attribute to "yes" to cause the scroll bar to display on the left side of the Control. Not valid for a dialog.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:simpleType name="LocalizationYesNoType"> <xs:simpleType name="LocalizationYesNoType">
<xs:restriction base="xs:NMTOKEN"> <xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="no" /> <xs:enumeration value="no" />

3
src/AddIns/BackendBindings/WixBinding/Project/WixBinding.csproj

@ -213,9 +213,6 @@
<Private>False</Private> <Private>False</Private>
</ProjectReference> </ProjectReference>
<Folder Include="Configuration" /> <Folder Include="Configuration" />
<Content Include="..\..\..\..\Tools\wix\wix.targets">
<Link>wix.targets</Link>
</Content>
<Folder Include="Resources" /> <Folder Include="Resources" />
<Folder Include="Src\Commands" /> <Folder Include="Src\Commands" />
<ProjectReference Include="..\..\..\DisplayBindings\AvalonEdit.AddIn\AvalonEdit.AddIn.csproj"> <ProjectReference Include="..\..\..\DisplayBindings\AvalonEdit.AddIn\AvalonEdit.AddIn.csproj">

2
src/AddIns/BackendBindings/WixBinding/WixBinding.sln

@ -1,7 +1,7 @@
 
Microsoft Visual Studio Solution File, Format Version 11.00 Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010 # Visual Studio 2010
# SharpDevelop 4.0.0.5967 # SharpDevelop 4.3
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding", "Project\WixBinding.csproj", "{e1b288a2-08ee-4318-8bbb-8ab72c69e33e}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding", "Project\WixBinding.csproj", "{e1b288a2-08ee-4318-8bbb-8ab72c69e33e}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding.Tests", "Test\WixBinding.Tests.csproj", "{388E7B64-0393-4EB4-A3E3-5C474F141853}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding.Tests", "Test\WixBinding.Tests.csproj", "{388E7B64-0393-4EB4-A3E3-5C474F141853}"

Loading…
Cancel
Save