BUILD: Updated WIX to v3.7.917.0

This commit is contained in:
ptsurbeleu 2012-09-18 22:21:14 -07:00
parent 92975d7272
commit 2d9c8fd86d
171 changed files with 2597 additions and 200 deletions

View file

@ -1,7 +1,7 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
// Runtime Version:4.0.30319.17929 // Runtime Version:4.0.30319.269
// //
// Changes to this file may cause incorrect behavior and will be lost if // Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated. // the code is regenerated.
@ -10,7 +10,6 @@
using System; using System;
using System.Reflection; using System.Reflection;
using System.Resources;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;

View file

@ -1,7 +1,7 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
// Runtime Version:4.0.30319.17929 // Runtime Version:4.0.30319.269
// //
// Changes to this file may cause incorrect behavior and will be lost if // Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated. // the code is regenerated.
@ -10,7 +10,6 @@
using System; using System;
using System.Reflection; using System.Reflection;
using System.Resources;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;

View file

@ -1,7 +1,7 @@
'------------------------------------------------------------------------------ '------------------------------------------------------------------------------
' <auto-generated> ' <auto-generated>
' This code was generated by a tool. ' This code was generated by a tool.
' Runtime Version:4.0.30319.17929 ' Runtime Version:4.0.30319.269
' '
' Changes to this file may cause incorrect behavior and will be lost if ' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated. ' the code is regenerated.
@ -13,7 +13,6 @@ Option Explicit On
Imports System Imports System
Imports System.Reflection Imports System.Reflection
Imports System.Resources
Imports System.Runtime.CompilerServices Imports System.Runtime.CompilerServices
Imports System.Runtime.InteropServices Imports System.Runtime.InteropServices
<Assembly: AssemblyCompany("Outercurve Foundation"), _ <Assembly: AssemblyCompany("Outercurve Foundation"), _

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -1,15 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
<copyright file="app.config" 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>
-->
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" />
<supportedRuntime version="v2.0.50727" />
</startup>
</configuration>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,226 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
<copyright file="Dependency.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/DependencyExtension" xmlns="http://schemas.microsoft.com/wix/DependencyExtension">
<xs:annotation>
<xs:documentation>
The source code schema for the Windows Installer XML Toolset Dependency Extension.
</xs:documentation>
</xs:annotation>
<xs:element name="Provides">
<xs:annotation>
<xs:documentation>
Describes the information for this product or feature that serves as a dependency of other products or features.
</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="ExePackage" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="MsiPackage" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="MspPackage" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="MsuPackage" />
<xse:remarks>
<html:p>
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.
</html:p>
<html:p>
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.
</html:p>
<html:p>
By default this uses the Product/@Id attribute value, which may be automatically generated.
</html:p>
</xse:remarks>
<xse:howtoRef href="author_product_dependencies.htm">How To: Author product dependencies</xse:howtoRef>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Requires" />
<xs:element ref="RequiresRef" />
</xs:choice>
<xs:attribute name="Id" type="xs:string">
<xs:annotation>
<xs:documentation>
Dependency provider identity. If this attribute is not specified, an identifier will be generated automatically.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Key" type="xs:string">
<xs:annotation>
<xs:documentation>
Optional unique registry key name that identifies a product version range on which other products can depend.
This attribute is required in package authoring, but optional for components.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Version" type="VersionType">
<xs:annotation>
<xs:documentation>
The version of the package. For MSI packages, the ProductVersion will be used by default
and this attribute should not be specified.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DisplayName" type="xs:string">
<xs:annotation>
<xs:documentation>
Optional display name of the package. For MSI packages, the ProductName will be used by default.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="Requires">
<xs:annotation>
<xs:documentation>
Describes a dependency on a provider for the current component or package.
</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" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Module" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Product" />
<xse:remarks>
<html:p>
This element declares a dependency on any product that uses the Provides element. If that product is uninstalled
before a product that requires it, the uninstall will err or warn the user that other products are installed
which depend on that product. This behavior can be modified by changing the attribute values on the Requires element.
</html:p>
<html:p>
If you do not nest this element under a Provides element, you must specify the @Id attribute
so that it can be referenced by a RequiresRef element nested under a Provides element.
</html:p>
</xse:remarks>
<xse:seeAlso ref="RequiresRef" />
<xse:howtoRef href="author_product_dependencies.htm">How To: Author product dependencies</xse:howtoRef>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string">
<xs:annotation>
<xs:documentation>
Dependency requirement identity. If this attribute is not specified, an identifier will be generated automatically.
If this element is not authored under a Provides element, this attribute is required.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ProviderKey" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>
The unique registry key name for the dependency provider to require during installation of this product.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Minimum" type="VersionType">
<xs:annotation>
<xs:documentation>
The minimum version of the dependency provider required to be installed. The default is unbound.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Maximum" type="VersionType">
<xs:annotation>
<xs:documentation>
The maximum version of the dependency provider required to be installed. The default is unbound.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IncludeMinimum" type="YesNoType">
<xs:annotation>
<xs:documentation>
Set to "yes" to make the range of dependency provider versions required include the value specified in Minimum.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IncludeMaximum" type="YesNoType">
<xs:annotation>
<xs:documentation>
Set to "yes" to make the range of dependency provider versions required include the value specified in Maximum.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="RequiresRef">
<xs:annotation>
<xs:documentation>
References existing authoring for a dependency on a provider for the current component or package.
</xs:documentation>
<xs:appinfo>
<xse:remarks>
<html:p>
This element references a dependency on any product that uses the Provides element. If that product is uninstalled
before a product that requires it, the uninstall will err or warn the user that other products are installed
which depend on that product. This behavior can be modified by changing the attribute values on the Requires element.
</html:p>
</xse:remarks>
<xse:seeAlso ref="Requires" />
<xse:howtoRef href="author_product_dependencies.htm">How To: Author product dependencies</xse:howtoRef>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>
The identifier of the Requires element to reference.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:attribute name="ProviderKey" type="xs:string">
<xs:annotation>
<xs:documentation>
Optional attribute to explicitly author the provider key for the entire bundle.
</xs:documentation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Bundle" />
<xse:remarks>
<html:p>
This provider key is designed to persist throughout compatible upgrades so that dependent bundles 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
automatically-generated bundle ID and will not automatically support upgrades.
</html:p>
<html:p>
Only a single provider key is supported for bundles. To author that your bundle provides additional features via
packages, author different provider keys for your packages.
</html:p>
</xse:remarks>
<xse:seeAlso ref="Provides" />
</xs:appinfo>
</xs:annotation>
</xs:attribute>
<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.
This can also be a preprocessor, binder, or WiX variable.
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="(\d{1,5}\.){3}\d{1,5}|[!$]\((var|bind|wix)\.[_A-Za-z][\w\.]*\)" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="YesNoType">
<xs:annotation>
<xs:documentation>
Values of this type will either be "yes" or "no".
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="no" />
<xs:enumeration value="yes" />
</xs:restriction>
</xs:simpleType>
</xs:schema>

View file

@ -0,0 +1,242 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
<copyright file="IsolatedApp.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"
xmlns:html="http://www.w3.org/1999/xhtml"
targetNamespace="http://wix.sourceforge.net/schemas/clickthrough/isolatedapp/2006"
xmlns="http://wix.sourceforge.net/schemas/clickthrough/isolatedapp/2006">
<xs:annotation>
<xs:documentation>
Schema for describing Isolated Applications.
</xs:documentation>
</xs:annotation>
<xs:element name="IsolatedApp">
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="Package"/>
<xs:element ref="Application"/>
<xs:element ref="PreviousFeed" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Package">
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="1">
<xs:element ref="Description"/>
<xs:element ref="Feed"/>
<xs:element ref="Icon"/>
<xs:element ref="Id"/>
<xs:element ref="Manufacturer"/>
<xs:element ref="UpdateRate"/>
<xs:element ref="Version"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="Application">
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="1">
<xs:element ref="Details"/>
<xs:element ref="EntryPoint"/>
<xs:element ref="Icon"/>
<xs:element ref="Id"/>
<xs:element ref="Name"/>
<xs:element ref="Source"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="PreviousFeed">
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Description">
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Details">
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="EntryPoint">
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:annotation><xs:documentation></xs:documentation></xs:annotation>
<xs:attribute name="PackageVersion" type="xs:boolean" use="optional">
<xs:annotation>
<xs:documentation></xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Feed">
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Id">
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="uuid"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Icon">
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:annotation><xs:documentation></xs:documentation></xs:annotation>
<xs:attribute name="Index" type="xs:integer" use="optional">
<xs:annotation>
<xs:documentation></xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Manufacturer">
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Name">
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Source">
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="UpdateRate">
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:integer"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Version">
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="VersionType"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<!-- - - - - - - - - - - Simple Type Definitions - - - - - - - - - - - - -->
<xs:simpleType name="uuid">
<xs:annotation><xs:documentation>Values of this type will look like: "01234567-89AB-CDEF-0123-456789ABCDEF" or "{01234567-89AB-CDEF-0123-456789ABCDEF}".</xs:documentation></xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="[{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="VersionType">
<xs:annotation><xs:documentation>Values of this type will look like: "x.x.x.x" where x is an integer from 0 to 65534.</xs:documentation></xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="(\d{1,5}\.){3}\d{1,5}"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>

View file

@ -0,0 +1,262 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
<copyright file="OfficeAddin.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"
xmlns:html="http://www.w3.org/1999/xhtml"
targetNamespace="http://wix.sourceforge.net/schemas/clickthrough/officeaddin/2006"
xmlns="http://wix.sourceforge.net/schemas/clickthrough/officeaddin/2006">
<xs:annotation>
<xs:documentation>
Schema for describing Office Addins.
</xs:documentation>
</xs:annotation>
<xs:element name="OfficeAddin">
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="Package"/>
<xs:element ref="Application"/>
<xs:element ref="PreviousFeed" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Package">
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="1">
<xs:element ref="Description"/>
<xs:element ref="Feed"/>
<xs:element ref="Icon"/>
<xs:element ref="Id"/>
<xs:element ref="Manufacturer"/>
<xs:element ref="UpdateRate"/>
<xs:element ref="Version"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="Application">
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="1">
<xs:element ref="Details"/>
<xs:element ref="EntryPoint"/>
<xs:element ref="ExtendsApplication"/>
<xs:element ref="Icon"/>
<xs:element ref="Id"/>
<xs:element ref="Name"/>
<xs:element ref="Source"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="PreviousFeed">
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Description">
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Details">
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="EntryPoint">
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="ExtendsApplication">
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="SupportedOfficeApplications"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Feed">
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Id">
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="uuid"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Icon">
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:annotation><xs:documentation></xs:documentation></xs:annotation>
<xs:attribute name="Index" type="xs:integer" use="optional">
<xs:annotation>
<xs:documentation></xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Manufacturer">
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Name">
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Source">
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="UpdateRate">
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:integer"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Version">
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="VersionType"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<!-- - - - - - - - - - - Simple Type Definitions - - - - - - - - - - - - -->
<xs:simpleType name="SupportedOfficeApplications">
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Excel2003" />
<xs:enumeration value="Outlook2003" />
<xs:enumeration value="PowerPoint2003" />
<xs:enumeration value="Word2003" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="uuid">
<xs:annotation><xs:documentation>Values of this type will look like: "01234567-89AB-CDEF-0123-456789ABCDEF" or "{01234567-89AB-CDEF-0123-456789ABCDEF}".</xs:documentation></xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="[{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="VersionType">
<xs:annotation><xs:documentation>Values of this type will look like: "x.x.x.x" where x is an integer from 0 to 65534.</xs:documentation></xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="(\d{1,5}\.){3}\d{1,5}"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>

949
tools/WIX/doc/complus.xsd Normal file
View file

@ -0,0 +1,949 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
<copyright file="complus.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/ComPlusExtension"
xmlns="http://schemas.microsoft.com/wix/ComPlusExtension">
<xs:annotation>
<xs:documentation>
The source code schema for the Windows Installer XML Toolset COM+ Extension.
</xs:documentation>
</xs:annotation>
<xs:import namespace="http://schemas.microsoft.com/wix/2006/wi" />
<xs:element name="ComPlusPartition">
<xs:annotation>
<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="Fragment" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Module" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Product" />
</xs:appinfo>
<xs:documentation>
Defines a COM+ partition. If this element is a child of a
Component element, the partition will be created in association with this
component. If the element is a child of any of the Fragment, Module or Product
elements it is considered to be a locater, referencing an existing partition.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="ComPlusPartitionRole" />
<xs:element ref="ComPlusPartitionUser" />
<xs:element ref="ComPlusApplication" />
</xs:choice>
</xs:sequence>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation><xs:documentation>
Identifier for the element.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="PartitionId" use="optional" type="xs:string">
<xs:annotation><xs:documentation>
Id for the partition. This attribute can be omitted, in
which case an id will be generated on install. If the element is a locater,
this attribute can be omitted if a value is provided for the Name attribute.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="Name" use="optional" type="xs:string">
<xs:annotation><xs:documentation>
Name of the partition. This attribute can be omitted if
the element is a locater, and a value is provided for the PartitionId
attribute.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="Changeable" use="optional" type="YesNoType" />
<xs:attribute name="Deleteable" use="optional" type="YesNoType" />
<xs:attribute name="Description" use="optional" type="xs:string" />
</xs:complexType>
</xs:element>
<xs:element name="ComPlusPartitionRole">
<xs:annotation>
<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="Fragment" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Module" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Product" />
</xs:appinfo>
<xs:documentation>
Defines a COM+ partition role. Partition roles can not be
created; this element can only be used as a locater to reference an existing
role.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="ComPlusUserInPartitionRole" />
<xs:element ref="ComPlusGroupInPartitionRole" />
</xs:choice>
</xs:sequence>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation><xs:documentation>
Identifier for the element.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="Partition" use="optional" type="xs:string">
<xs:annotation><xs:documentation>
The id of a ComPlusPartition element representing the partition
the role belongs to.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="Name" use="required" type="xs:string">
<xs:annotation><xs:documentation>
Name of the partition role.
</xs:documentation></xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="ComPlusUserInPartitionRole">
<xs:annotation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
</xs:appinfo>
<xs:documentation>
This element represents a user membership in a partition
role. When the parent component of this element is installed, the user will be
added to the associated partition role.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation><xs:documentation>
Identifier for the element.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="PartitionRole" use="optional" type="xs:string">
<xs:annotation><xs:documentation>
The id of a ComPlusPartitionRole element representing the
partition the user should be added to.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="User" use="required" type="xs:string">
<xs:annotation><xs:documentation>
Foreign key into the User table.
</xs:documentation></xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="ComPlusGroupInPartitionRole">
<xs:annotation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
</xs:appinfo>
<xs:documentation>
This element represents a security group membership in a
partition role. When the parent component of this element is installed, the
security group will be added to the associated partition role.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation><xs:documentation>
Identifier for the element.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="PartitionRole" use="optional" type="xs:string">
<xs:annotation><xs:documentation>
The id of a ComPlusPartitionRole element representing the
partition the user should be added to.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="Group" use="required" type="xs:string">
<xs:annotation><xs:documentation>
Foreign key into the Group table.
</xs:documentation></xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="ComPlusPartitionUser">
<xs:annotation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
</xs:appinfo>
<xs:documentation>
Represents a default partition definition for a user. When
the parent component of this element is installed, the default partition of the
user will be set to the referenced partition.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation><xs:documentation>
Identifier for the element.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="Partition" use="optional" type="xs:string">
<xs:annotation><xs:documentation>
The id of a ComPlusPartition element representing the
partition that will be the default partition for the user.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="User" use="required" type="xs:string">
<xs:annotation><xs:documentation>
Foreign key into the User table.
</xs:documentation></xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="ComPlusApplication">
<xs:annotation>
<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="Fragment" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Module" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Product" />
</xs:appinfo>
<xs:documentation>
Defines a COM+ application. If this element is a descendent
of a Component element, the application will be created in association with
this component. If the element is a child of any of the Fragment, Module or
Product elements it is considered to be a locater, referencing an existing
application.
If the element is a child of a ComPlusPartition element,
or have its Partition attribute set, the application will be installed under
the referenced partition.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="ComPlusApplicationRole" />
<xs:element ref="ComPlusAssembly" />
</xs:choice>
</xs:sequence>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation><xs:documentation>
Identifier for the element.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="Partition" use="optional" type="xs:string">
<xs:annotation><xs:documentation>
If the element is not a child of a ComPlusPartition
element, this attribute can be provided with the id of a ComPlusPartition
element representing the partition the application belongs to.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="ApplicationId" use="optional" type="xs:string">
<xs:annotation><xs:documentation>
Id for the application. This attribute can be omitted, in
which case an id will be generated on install. If the element is a locater,
this attribute can be omitted if a value is provided for the Name attribute.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="Name" use="optional" type="xs:string">
<xs:annotation><xs:documentation>
Name of the application. This attribute can be omitted if
the element is a locater, and a value is provided for the PartitionId
attribute.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="ThreeGigSupportEnabled" use="optional" type="YesNoType" />
<xs:attribute name="AccessChecksLevel" use="optional">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="applicationLevel" />
<xs:enumeration value="applicationComponentLevel" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Activation" use="optional">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="inproc" />
<xs:enumeration value="local" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ApplicationAccessChecksEnabled" use="optional" type="YesNoType" />
<xs:attribute name="ApplicationDirectory" use="optional" type="xs:string" />
<xs:attribute name="Authentication" use="optional">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="default" />
<xs:enumeration value="none" />
<xs:enumeration value="connect" />
<xs:enumeration value="call" />
<xs:enumeration value="packet" />
<xs:enumeration value="integrity" />
<xs:enumeration value="privacy" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="AuthenticationCapability" use="optional">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="none" />
<xs:enumeration value="secureReference" />
<xs:enumeration value="staticCloaking" />
<xs:enumeration value="dynamicCloaking" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Changeable" use="optional" type="YesNoType" />
<xs:attribute name="CommandLine" use="optional" type="xs:string" />
<xs:attribute name="ConcurrentApps" use="optional" type="xs:int" />
<xs:attribute name="CreatedBy" use="optional" type="xs:string" />
<xs:attribute name="CRMEnabled" use="optional" type="YesNoType" />
<xs:attribute name="CRMLogFile" use="optional" type="xs:string" />
<xs:attribute name="Deleteable" use="optional" type="YesNoType" />
<xs:attribute name="Description" use="optional" type="xs:string" />
<xs:attribute name="DumpEnabled" use="optional" type="YesNoType" />
<xs:attribute name="DumpOnException" use="optional" type="YesNoType" />
<xs:attribute name="DumpOnFailfast" use="optional" type="YesNoType" />
<xs:attribute name="DumpPath" use="optional" type="xs:string" />
<xs:attribute name="EventsEnabled" use="optional" type="YesNoType" />
<xs:attribute name="Identity" use="optional" type="xs:string" />
<xs:attribute name="ImpersonationLevel" use="optional">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="anonymous" />
<xs:enumeration value="identify" />
<xs:enumeration value="impersonate" />
<xs:enumeration value="delegate" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="IsEnabled" use="optional" type="YesNoType" />
<xs:attribute name="MaxDumpCount" use="optional" type="xs:int" />
<xs:attribute name="Password" use="optional" type="xs:string" />
<xs:attribute name="QCAuthenticateMsgs" use="optional">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="secureApps" />
<xs:enumeration value="off" />
<xs:enumeration value="on" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="QCListenerMaxThreads" use="optional" type="xs:int" />
<xs:attribute name="QueueListenerEnabled" use="optional" type="YesNoType" />
<xs:attribute name="QueuingEnabled" use="optional" type="YesNoType" />
<xs:attribute name="RecycleActivationLimit" use="optional" type="xs:int" />
<xs:attribute name="RecycleCallLimit" use="optional" type="xs:int" />
<xs:attribute name="RecycleExpirationTimeout" use="optional" type="xs:int" />
<xs:attribute name="RecycleLifetimeLimit" use="optional" type="xs:int" />
<xs:attribute name="RecycleMemoryLimit" use="optional" type="xs:int" />
<xs:attribute name="Replicable" use="optional" type="YesNoType" />
<xs:attribute name="RunForever" use="optional" type="YesNoType" />
<xs:attribute name="ShutdownAfter" use="optional" type="xs:int" />
<xs:attribute name="SoapActivated" use="optional" type="YesNoType" />
<xs:attribute name="SoapBaseUrl" use="optional" type="xs:string" />
<xs:attribute name="SoapMailTo" use="optional" type="xs:string" />
<xs:attribute name="SoapVRoot" use="optional" type="xs:string" />
<xs:attribute name="SRPEnabled" use="optional" type="YesNoType" />
<xs:attribute name="SRPTrustLevel" use="optional">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="disallowed" />
<xs:enumeration value="fullyTrusted" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="ComPlusApplicationRole">
<xs:annotation>
<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="Fragment" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Module" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Product" />
</xs:appinfo>
<xs:documentation>
Defines an application role. If this element is a descendent
of a Component element, the application role will be created in association
with this component. If the element is a child of any of the Fragment, Module
or Product elements it is considered to be a locater, referencing an existing
application role.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="ComPlusUserInApplicationRole" />
<xs:element ref="ComPlusGroupInApplicationRole" />
</xs:choice>
</xs:sequence>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation><xs:documentation>
Identifier for the element.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="Application" use="optional" type="xs:string">
<xs:annotation><xs:documentation>
If the element is not a child of a ComPlusApplication
element, this attribute should be provided with the id of a
ComPlusApplication element representing the application the role belongs to.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="Name" use="required" type="xs:string">
<xs:annotation><xs:documentation>
Name of the application role.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="Description" use="optional" type="xs:string" />
</xs:complexType>
</xs:element>
<xs:element name="ComPlusUserInApplicationRole">
<xs:annotation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
</xs:appinfo>
<xs:documentation>
This element represents a user membership in an
application role. When the parent component of this element is installed, the
user will be added to the associated application role. This element must be a descendent
of a Component element; it can not be a child of a ComPlusApplicationRole
locater element. To reference a locater element use the ApplicationRole
attribute.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation><xs:documentation>
Identifier for the element.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="ApplicationRole" use="optional" type="xs:string">
<xs:annotation><xs:documentation>
If the element is not a child of a ComPlusApplicationRole
element, this attribute should be provided with the id of a
ComPlusApplicationRole element representing the application role the user is
to be added to.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="User" use="required" type="xs:string">
<xs:annotation><xs:documentation>
Foreign key into the User table.
</xs:documentation></xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="ComPlusGroupInApplicationRole">
<xs:annotation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
</xs:appinfo>
<xs:documentation>
This element represents a security group membership in an
application role. When the parent component of this element is installed, the
user will be added to the associated application role. This element must be a
descendent of a Component element; it can not be a child of a
ComPlusApplicationRole locater element. To reference a locater element use the
ApplicationRole attribute.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation><xs:documentation>
Identifier for the element.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="ApplicationRole" use="optional" type="xs:string">
<xs:annotation><xs:documentation>
If the element is not a child of a ComPlusApplicationRole
element, this attribute should be provided with the id of a
ComPlusApplicationRole element representing the application role the user is
to be added to.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="Group" use="required" type="xs:string">
<xs:annotation><xs:documentation>
Foreign key into the Group table.
</xs:documentation></xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="ComPlusAssembly">
<xs:annotation>
<xs:documentation>
Represents a DLL or assembly to be registered with COM+. If
this element is a child of a ComPlusApplication element, the assembly will be
registered in this application. Other ways the Application attribute must be
set to an application. The element must be a descendent of a Component element,
it can not be a child of a ComPlusApplication locator element.
</xs:documentation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
<xse:remarks>
<html:p>
When installing a native assembly, all components
contained in the assembly must be represented as ComPlusComponent elements
under this element. Any component not listed will not be removed during
uninstall.
</html:p>
<html:p>
The fields DllPath, TlbPath and PSDllPath are formatted
fields that should contain file paths to there respective file types. A typical
value for DllPath for example, should be something like “[#MyAssembly_dll]”,
where “MyAssembly_dll” is the key of the dll file in the File table.
</html:p>
<html:p>
<html:b>Warning</html:b>: The assembly name provided in the AssemblyName
attribute must be a fully specified assembly name, if a partial name is
provided a random assembly matching the partial name will be selected.
</html:p>
</xse:remarks>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="ComPlusAssemblyDependency" />
<xs:element ref="ComPlusComponent" />
</xs:choice>
</xs:sequence>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation><xs:documentation>
Identifier for the element.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="Application" use="optional" type="xs:string">
<xs:annotation><xs:documentation>
If the element is not a child of a ComPlusApplication
element, this attribute should be provided with the id of a ComPlusApplication
element representing the application the assembly is to be registered in.
This attribute can be omitted for a .NET assembly even if the application is
not a child of a ComPlusApplication element.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="AssemblyName" use="optional" type="xs:string">
<xs:annotation><xs:documentation>
The name of the assembly used to identify the assembly in
the GAC. This attribute can be provided only if DllPathFromGAC is set to
“yes”.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="DllPath" use="optional" type="xs:string">
<xs:annotation><xs:documentation>
The path to locate the assembly DLL during registration.
This attribute should be provided if DllPathFromGAC is not set to “yes”.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="TlbPath" use="optional" type="xs:string">
<xs:annotation><xs:documentation>
An optional path to an external type lib for the assembly.
This attribute must be provided if the Type attribute is set to “.net”.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="PSDllPath" use="optional" type="xs:string">
<xs:annotation><xs:documentation>
An optional path to an external proxy/stub DLL for the assembly.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="Type" use="required">
<xs:annotation><xs:documentation>
</xs:documentation></xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="native" />
<xs:enumeration value=".net" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="EventClass" use="optional" type="YesNoType">
<xs:annotation><xs:documentation>
Indicates that the assembly is to be installed as an event
class DLL. This attribute is only valid for native assemblies. The assembly
will be installed with the COM+ catalogs InstallEventClass() function.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="DllPathFromGAC" use="optional" type="YesNoType">
<xs:annotation><xs:documentation>
Indicates that the DLL path should be extracted from the
GAC instead for being provided in the DllPath attribute. If this attribute is
set to “yes”, the name of the assembly can be provided using the AssemblyName
attribute. Or, if this AssemblyName attribute is missing, the name will be
extracted from the MsiAssemblyName table using the id of the parent Component
element.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="RegisterInCommit" use="optional" type="YesNoType">
<xs:annotation><xs:documentation>
Indicates that the assembly should be installed in the
commit custom action instead of the normal deferred custom action. This is
necessary when installing .NET assemblies to the GAC in the same
installation, as the assemblies are not visible in the GAC until after the
InstallFinalize action has run.
</xs:documentation></xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="ComPlusAssemblyDependency">
<xs:annotation>
<xs:documentation>
Defines a dependency between two assemblies. This element
affects the order in which assembles are registered. Any assemblies referenced
by this element are guarantied to be registered before, and unregistered after,
the assembly referenced by the parent ComPlusAssembly element.
</xs:documentation>
<xs:appinfo>
<xse:remarks>
It is only necessary to explicitly specify dependencies between
assemblies contained in the same package (MSI or MSM). Assemblies merged in to a
package from a merge module will always be installed before any assemblies
specified in the base package. Assemblies merged in from different merge
modules are sequenced using the ModuleDependency MSI table. It is not possible
to have cross dependencies between merge modules or have an assembly in a merge
module depend on an assembly in the base package.
</xse:remarks>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="RequiredAssembly" use="required" type="xs:string">
<xs:annotation><xs:documentation>
Reference to the id of the assembly required by the parent
ComPlusAssembly element.
</xs:documentation></xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="ComPlusComponent">
<xs:annotation><xs:documentation>
Represents a COM+ component in an assembly.
</xs:documentation></xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="ComPlusRoleForComponent" />
<xs:element ref="ComPlusInterface" />
<xs:element ref="ComPlusSubscription" />
</xs:choice>
</xs:sequence>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation><xs:documentation>
Identifier for the element.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="CLSID" use="required" type="uuid">
<xs:annotation><xs:documentation>
CLSID of the component.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="AllowInprocSubscribers" use="optional" type="YesNoType" />
<xs:attribute name="ComponentAccessChecksEnabled" use="optional" type="YesNoType" />
<xs:attribute name="ComponentTransactionTimeout" use="optional" type="xs:int" />
<xs:attribute name="ComponentTransactionTimeoutEnabled" use="optional" type="YesNoType" />
<xs:attribute name="COMTIIntrinsics" use="optional" type="YesNoType" />
<xs:attribute name="ConstructionEnabled" use="optional" type="YesNoType" />
<xs:attribute name="ConstructorString" use="optional" type="xs:string" />
<xs:attribute name="CreationTimeout" use="optional" type="xs:int" />
<xs:attribute name="Description" use="optional" type="xs:string" />
<xs:attribute name="EventTrackingEnabled" use="optional" type="YesNoType" />
<xs:attribute name="ExceptionClass" use="optional" type="xs:string" />
<xs:attribute name="FireInParallel" use="optional" type="YesNoType" />
<xs:attribute name="IISIntrinsics" use="optional" type="YesNoType" />
<xs:attribute name="InitializesServerApplication" use="optional" type="YesNoType" />
<xs:attribute name="IsEnabled" use="optional" type="YesNoType" />
<xs:attribute name="IsPrivateComponent" use="optional" type="YesNoType" />
<xs:attribute name="JustInTimeActivation" use="optional" type="YesNoType" />
<xs:attribute name="LoadBalancingSupported" use="optional" type="YesNoType" />
<xs:attribute name="MaxPoolSize" use="optional" type="xs:int" />
<xs:attribute name="MinPoolSize" use="optional" type="xs:int" />
<xs:attribute name="MultiInterfacePublisherFilterCLSID" use="optional" type="xs:string" />
<xs:attribute name="MustRunInClientContext" use="optional" type="YesNoType" />
<xs:attribute name="MustRunInDefaultContext" use="optional" type="YesNoType" />
<xs:attribute name="ObjectPoolingEnabled" use="optional" type="YesNoType" />
<xs:attribute name="PublisherID" use="optional" type="xs:string" />
<xs:attribute name="SoapAssemblyName" use="optional" type="xs:string" />
<xs:attribute name="SoapTypeName" use="optional" type="xs:string" />
<xs:attribute name="Synchronization" use="optional">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="ignored" />
<xs:enumeration value="none" />
<xs:enumeration value="supported" />
<xs:enumeration value="required" />
<xs:enumeration value="requiresNew" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Transaction" use="optional">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="ignored" />
<xs:enumeration value="none" />
<xs:enumeration value="supported" />
<xs:enumeration value="required" />
<xs:enumeration value="requiresNew" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="TxIsolationLevel" use="optional">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="any" />
<xs:enumeration value="readUnCommitted" />
<xs:enumeration value="readCommitted" />
<xs:enumeration value="repeatableRead" />
<xs:enumeration value="serializable" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="ComPlusRoleForComponent">
<xs:annotation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
</xs:appinfo>
<xs:documentation>
Represents a role assignment to a COM+ component.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation><xs:documentation>
Identifier for the element.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="Component" use="optional" type="xs:string">
<xs:annotation><xs:documentation>
If the element is not a child of a ComPlusComponent
element, this attribute should be provided with the id of a ComPlusComponent
element representing the component the role is to be added to.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="ApplicationRole" use="required" type="xs:string">
<xs:annotation><xs:documentation>
Id of the ComPlusApplicationRole element representing the
role that shall be granted access to the component.
</xs:documentation></xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="ComPlusInterface">
<xs:annotation><xs:documentation>
Represents an interface for a COM+ component.
</xs:documentation></xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="ComPlusRoleForInterface" />
<xs:element ref="ComPlusMethod" />
</xs:choice>
</xs:sequence>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation><xs:documentation>
Identifier for the element.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="IID" use="required" type="uuid">
<xs:annotation><xs:documentation>
IID of the interface.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="Description" use="optional" type="xs:string" />
<xs:attribute name="QueuingEnabled" use="optional" type="YesNoType" />
</xs:complexType>
</xs:element>
<xs:element name="ComPlusRoleForInterface">
<xs:annotation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
</xs:appinfo>
<xs:documentation>
Represents a role assignment to an interface.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation><xs:documentation>
Identifier for the element.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="Interface" use="optional" type="xs:string">
<xs:annotation><xs:documentation>
If the element is not a child of a ComPlusInterface
element, this attribute should be provided with the id of a ComPlusInterface
element representing the interface the role is to be added to.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="ApplicationRole" use="required" type="xs:string">
<xs:annotation><xs:documentation>
Id of the ComPlusApplicationRole element representing the
role that shall be granted access to the interface.
</xs:documentation></xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="ComPlusMethod">
<xs:annotation>
<xs:documentation>
Represents a method for an interface.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="ComPlusRoleForMethod" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>
Identifier for the element.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Index" use="optional" type="xs:int">
<xs:annotation>
<xs:documentation>
Dispatch id of the method. If this attribute is not set a
value must be provided for the Name attribute.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" use="optional" type="xs:string">
<xs:annotation>
<xs:documentation>
Name of the method. If this attribute is not set a value
must be provided for the Index attribute.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AutoComplete" use="optional" type="YesNoType" />
<xs:attribute name="Description" use="optional" type="xs:string" />
</xs:complexType>
</xs:element>
<xs:element name="ComPlusRoleForMethod">
<xs:annotation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
</xs:appinfo>
<xs:documentation>
Represents a role assignment to a COM+ method.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation><xs:documentation>
Identifier for the element.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="Method" use="optional" type="xs:string">
<xs:annotation><xs:documentation>
If the element is not a child of a ComPlusMethod element,
this attribute should be provided with the id of a ComPlusMethod element
representing the method the role is to be added to.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="ApplicationRole" use="required" type="xs:string">
<xs:annotation><xs:documentation>
Id of the ComPlusApplicationRole element representing the
role that shall be granted access to the method.
</xs:documentation></xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="ComPlusSubscription">
<xs:annotation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
</xs:appinfo>
<xs:documentation>
Defines an event subscription for a COM+ component.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation><xs:documentation>
Identifier for the element.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="Component" use="optional" type="xs:string">
<xs:annotation><xs:documentation>
If the element is not a child of a ComPlusComponent
element, this attribute should be provided with the id of a ComPlusComponent
element representing the component the subscription is to be created for.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="SubscriptionId" use="optional" type="xs:string">
<xs:annotation><xs:documentation>
Id of the subscription. If a value is not provided for
this attribute, an id will be generated during installation.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="Name" use="required" type="xs:string">
<xs:annotation><xs:documentation>
Name of the subscription.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="EventCLSID" use="optional" type="xs:string">
<xs:annotation><xs:documentation>
CLSID of the event class for the subscription. If a value
for this attribute is not provided, a value for the PublisherID attribute
must be provided.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="PublisherID" use="optional" type="xs:string">
<xs:annotation><xs:documentation>
Publisher id for the subscription. If a value for this
attribute is not provided, a value for the EventCLSID attribute must be
provided.
</xs:documentation></xs:annotation>
</xs:attribute>
<xs:attribute name="Description" use="optional" type="xs:string" />
<xs:attribute name="Enabled" use="optional" type="YesNoType" />
<xs:attribute name="EventClassPartitionID" use="optional" type="xs:string" />
<xs:attribute name="FilterCriteria" use="optional" type="xs:string" />
<xs:attribute name="InterfaceID" use="optional" type="xs:string" />
<xs:attribute name="MachineName" use="optional" type="xs:string" />
<xs:attribute name="MethodName" use="optional" type="xs:string" />
<xs:attribute name="PerUser" use="optional" type="YesNoType" />
<xs:attribute name="Queued" use="optional" type="YesNoType" />
<xs:attribute name="SubscriberMoniker" use="optional" type="xs:string" />
<xs:attribute name="UserName" use="optional" type="xs:string" />
</xs:complexType>
</xs:element>
<xs:simpleType name="YesNoType">
<xs:annotation>
<xs:documentation>Values of this type will either be "yes" or "no".</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="no" />
<xs:enumeration value="yes" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="uuid">
<xs:annotation>
<xs:documentation>Values of this type will look like: "01234567-89AB-CDEF-0123-456789ABCDEF".</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}" />
</xs:restriction>
</xs:simpleType>
</xs:schema>

Binary file not shown.

View file

@ -74,7 +74,6 @@
<xs:element ref="Catalog" minOccurs="0" maxOccurs="unbounded" /> <xs:element ref="Catalog" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="BootstrapperApplication" minOccurs="0" maxOccurs="1" /> <xs:element ref="BootstrapperApplication" minOccurs="0" maxOccurs="1" />
<xs:element ref="BootstrapperApplicationRef" minOccurs="0" maxOccurs="1" /> <xs:element ref="BootstrapperApplicationRef" minOccurs="0" maxOccurs="1" />
<xs:element ref="UX" minOccurs="0" maxOccurs="1" />
<xs:element ref="OptionalUpdateRegistration" minOccurs="0" maxOccurs="1" /> <xs:element ref="OptionalUpdateRegistration" minOccurs="0" maxOccurs="1" />
<xs:element ref="Chain" minOccurs="1" maxOccurs="1" /> <xs:element ref="Chain" minOccurs="1" maxOccurs="1" />
<xs:element ref="Container" /> <xs:element ref="Container" />
@ -82,6 +81,7 @@
<xs:element ref="PayloadGroup" /> <xs:element ref="PayloadGroup" />
<xs:element ref="PayloadGroupRef" /> <xs:element ref="PayloadGroupRef" />
<xs:element ref="RelatedBundle" /> <xs:element ref="RelatedBundle" />
<xs:element ref="Update" />
<xs:element ref="Variable" /> <xs:element ref="Variable" />
<xs:element ref="WixVariable" /> <xs:element ref="WixVariable" />
<xs:any namespace="##other" processContents="lax"> <xs:any namespace="##other" processContents="lax">
@ -1368,12 +1368,33 @@
</xs:attribute> </xs:attribute>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="Update">
<xs:annotation>
<xs:documentation>Defines the update for a Bundle.</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="Location" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>
The absolute path or URL to check for an update bundle. Currently the engine provides this value
in the IBootstrapperApplication::OnDetectUpdateBegin() and otherwise ignores the value. In the
future the engine will be able to acquire an update bundle from the location and determine if it
is newer than the current executing bundle.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="Product"> <xs:element name="Product">
<xs:annotation> <xs:annotation>
<xs:documentation> <xs:documentation>
The Product element is analogous to the main function in a C program. When linking, only one Product section The Product element is analogous to the main function in a C program. When linking, only one Product section
can be given to the linker to produce a successful result. Using this element creates an msi file. can be given to the linker to produce a successful result. Using this element creates an msi file.
</xs:documentation> </xs:documentation>
<xs:appinfo> <xs:appinfo>
<xse:remarks> <xse:remarks>
<html:p>You can specify any valid Windows code page by integer like 1252, or by web name like Windows-1252. See <html:a href="codepage.htm">Code Pages</html: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. See <html:a href="codepage.htm">Code Pages</html:a> for more information.</html:p>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -1,17 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
<copyright file="app.config" 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>
-->
<configuration>
<appSettings>
<add key="extensions" value="WixDifxAppExtension;WixDirectXExtension;WixFirewallExtension;WixGamingExtension;WixIIsExtension;WixLuxExtension;WixNetFxExtension;WixSqlExtension;WixUIExtension;WixUtilExtension;WixVSExtension" />
</appSettings>
<startup>
<supportedRuntime version="v2.0.50727" />
</startup>
</configuration>

View file

@ -1,117 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
<copyright file="lux.targets" 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>
-->
<Project
xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
ToolsVersion="3.5">
<UsingTask TaskName="GenerateTestConsumer" AssemblyFile="$(LuxTasksPath)" />
<UsingTask TaskName="Nit" AssemblyFile="$(LuxTasksPath)" />
<PropertyGroup>
<BuildTestPackageDependsOn>Compile;_ScanForUnitTests;_GenerateTestConsumer;Link</BuildTestPackageDependsOn>
<TestDependsOn>$(BuildTestPackageDependsOn)</TestDependsOn>
</PropertyGroup>
<ItemGroup>
<GeneratedTestConsumer Include="$(OutputName)_test.wxs" />
</ItemGroup>
<Target
Name="_ScanForUnitTests">
<!--
So the Link target can do proper up-to-date checking, we need to give it the right list of
.wixobj inputs, which we get by scanning for unit tests and not generating a test consumer.
-->
<GenerateTestConsumer
InputFiles="@(CompileObjOutput);@(WixObject);@(WixLibProjects);@(_ResolvedWixLibraryPaths)"
Extensions="@(_ResolvedWixExtensionPaths)">
<Output TaskParameter="InputFragments" ItemName="FilesThatAreFragments" />
</GenerateTestConsumer>
<ItemGroup>
<CompileObjOutput
Remove="@(CompileObjOutput)" />
<CompileObjOutput
Include="
@(GeneratedTestConsumer -> '$(IntermediateOutputPath)%(Filename)$(IntermediateExt)');
@(FilesThatAreFragments);
" />
</ItemGroup>
<PropertyGroup>
<TargetName>$(OutputName)_test</TargetName>
<SuppressIces>ICE71;$(SuppressIces)</SuppressIces>
<SuppressValidation>true</SuppressValidation>
</PropertyGroup>
</Target>
<Target
Name="_GenerateTestConsumer"
Inputs="@(Compile);
@(Content);
@(_ResolvedWixExtensionPaths);
@(_ResolvedProjectReferencePaths);
$(MSBuildAllProjects)"
Outputs="@(GeneratedTestConsumer -> '$(IntermediateOutputPath)%(Filename)$(IntermediateExt)')">
<GenerateTestConsumer
InputFiles="@(CompileObjOutput);@(WixObject);@(WixLibProjects);@(_ResolvedWixLibraryPaths)"
Extensions="@(_ResolvedWixExtensionPaths)"
OutputFile="@(GeneratedTestConsumer)">
<Output TaskParameter="InputFragments" ItemName="FilesThatAreFragments" />
</GenerateTestConsumer>
<Candle
SourceFiles="@(GeneratedTestConsumer)"
AdditionalOptions="$(CompilerAdditionalOptions)"
DefineConstants="$(DefineConstants);$(SolutionDefineConstants);$(ProjectDefineConstants);$(ProjectReferenceDefineConstants)"
ExtensionDirectory="$(WixExtDir)"
Extensions="@(_ResolvedWixExtensionPaths)"
FipsCompliant="$(FipsCompliant)"
IncludeSearchPaths="$(IncludeSearchPaths)"
InstallerPlatform="$(InstallerPlatform)"
NoLogo="$(CompilerNoLogo)"
OutputFile="$(IntermediateOutputPath)"
Pedantic="$(Pedantic)"
ReferencePaths="$(ReferencePaths)"
RunAsSeparateProcess="$(RunWixToolsOutOfProc)"
ShowSourceTrace="$(ShowSourceTrace)"
SuppressAllWarnings="$(CompilerSuppressAllWarnings)"
SuppressSchemaValidation="$(CompilerSuppressSchemaValidation)"
SuppressSpecificWarnings="$(CompilerSuppressSpecificWarnings)"
ToolPath="$(WixToolPath)"
TreatWarningsAsErrors="$(CompilerTreatWarningsAsErrors)"
TreatSpecificWarningsAsErrors="$(CompilerTreatSpecificWarningsAsErrors)"
VerboseOutput="$(CompilerVerboseOutput)" />
</Target>
<Target
Name="BuildTestPackage"
Inputs="@(CompileObjOutput);
@(WixObject);
@(_ResolvedProjectReferencePaths);
@(_ResolvedWixLibraryPaths);
@(_ResolvedWixExtensionPaths);
$(MSBuildAllProjects)"
Outputs="$(TargetPath)"
DependsOnTargets="$(BuildTestPackageDependsOn)" />
<Target
Name="Test"
DependsOnTargets="$(BuildTestPackageDependsOn)">
<Nit
TestPackages="$(TargetPath)"
ToolPath="$(WixToolPath)" />
</Target>
</Project>

Binary file not shown.

Binary file not shown.

View file

@ -1,14 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
<copyright file="app.config" 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>
-->
<configuration>
<startup>
<supportedRuntime version="v2.0.50727" />
</startup>
</configuration>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -91,12 +91,40 @@ public: // IBurnUserExperience
} }
virtual STDMETHODIMP_(int) OnDetectBegin( virtual STDMETHODIMP_(int) OnDetectBegin(
__in BOOL /*fInstalled*/,
__in DWORD /*cPackages*/ __in DWORD /*cPackages*/
) )
{ {
return CheckCanceled() ? IDCANCEL : IDNOACTION; return CheckCanceled() ? IDCANCEL : IDNOACTION;
} }
virtual STDMETHODIMP_(int) OnDetectForwardCompatibleBundle(
__in_z LPCWSTR /*wzBundleId*/,
__in BOOTSTRAPPER_RELATION_TYPE /*relationType*/,
__in_z LPCWSTR /*wzBundleTag*/,
__in BOOL /*fPerMachine*/,
__in DWORD64 /*dw64Version*/,
__in int nRecommendation
)
{
return CheckCanceled() ? IDCANCEL : nRecommendation;
}
virtual STDMETHODIMP_(int) OnDetectUpdateBegin(
__in_z LPCWSTR /*wzUpdateLocation*/,
__in int nRecommendation
)
{
return CheckCanceled() ? IDCANCEL : nRecommendation;
}
virtual STDMETHODIMP_(void) OnDetectUpdateComplete(
__in HRESULT /*hrStatus*/,
__in_z_opt LPCWSTR /*wzUpdateLocation*/
)
{
}
virtual STDMETHODIMP_(int) OnDetectPriorBundle( virtual STDMETHODIMP_(int) OnDetectPriorBundle(
__in_z LPCWSTR /*wzBundleId*/ __in_z LPCWSTR /*wzBundleId*/
) )
@ -113,6 +141,7 @@ public: // IBurnUserExperience
virtual STDMETHODIMP_(int) OnDetectRelatedBundle( virtual STDMETHODIMP_(int) OnDetectRelatedBundle(
__in_z LPCWSTR /*wzBundleId*/, __in_z LPCWSTR /*wzBundleId*/,
__in BOOTSTRAPPER_RELATION_TYPE /*relationType*/,
__in_z LPCWSTR /*wzBundleTag*/, __in_z LPCWSTR /*wzBundleTag*/,
__in BOOL /*fPerMachine*/, __in BOOL /*fPerMachine*/,
__in DWORD64 /*dw64Version*/, __in DWORD64 /*dw64Version*/,

View file

@ -53,6 +53,7 @@ enum BOOTSTRAPPER_ERROR_TYPE
BOOTSTRAPPER_ERROR_TYPE_EXE_PACKAGE, // error came from an exe package. BOOTSTRAPPER_ERROR_TYPE_EXE_PACKAGE, // error came from an exe package.
BOOTSTRAPPER_ERROR_TYPE_HTTP_AUTH_SERVER, // error occurred trying to authenticate with HTTP server. BOOTSTRAPPER_ERROR_TYPE_HTTP_AUTH_SERVER, // error occurred trying to authenticate with HTTP server.
BOOTSTRAPPER_ERROR_TYPE_HTTP_AUTH_PROXY, // error occurred trying to authenticate with HTTP proxy. BOOTSTRAPPER_ERROR_TYPE_HTTP_AUTH_PROXY, // error occurred trying to authenticate with HTTP proxy.
BOOTSTRAPPER_ERROR_TYPE_APPLY, // error occurred during apply.
}; };
@ -92,6 +93,7 @@ enum BOOTSTRAPPER_RELATION_TYPE
BOOTSTRAPPER_RELATION_ADDON, BOOTSTRAPPER_RELATION_ADDON,
BOOTSTRAPPER_RELATION_PATCH, BOOTSTRAPPER_RELATION_PATCH,
BOOTSTRAPPER_RELATION_DEPENDENT, BOOTSTRAPPER_RELATION_DEPENDENT,
BOOTSTRAPPER_RELATION_UPDATE,
}; };
@ -109,6 +111,7 @@ struct BOOTSTRAPPER_COMMAND
// If this was run from a related bundle, specifies the relation type // If this was run from a related bundle, specifies the relation type
BOOTSTRAPPER_RELATION_TYPE relationType; BOOTSTRAPPER_RELATION_TYPE relationType;
BOOL fPassthrough;
LPWSTR wzLayoutDirectory; LPWSTR wzLayoutDirectory;
}; };
@ -141,7 +144,7 @@ DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-A
// All other return codes allow the shutdown to commence. // All other return codes allow the shutdown to commence.
STDMETHOD_(int, OnSystemShutdown)( STDMETHOD_(int, OnSystemShutdown)(
__in DWORD dwEndSession, __in DWORD dwEndSession,
__in int nRecommdendation __in int nRecommendation
) = 0; ) = 0;
// OnDetectBegin - called when the engine begins detection. // OnDetectBegin - called when the engine begins detection.
@ -151,9 +154,49 @@ DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-A
// //
// IDNOACTION instructs the engine to continue. // IDNOACTION instructs the engine to continue.
STDMETHOD_(int, OnDetectBegin)( STDMETHOD_(int, OnDetectBegin)(
__in BOOL fInstalled,
__in DWORD cPackages __in DWORD cPackages
) = 0; ) = 0;
// OnDetectForwardCompatibleBundle - called when the engine detects a forward compatible bundle.
//
// Return:
// IDOK instructs the engine to use the forward compatible bundle.
//
// IDCANCEL instructs the engine to stop detection.
//
// IDNOACTION instructs the engine to not use the forward compatible bundle.
STDMETHOD_(int, OnDetectForwardCompatibleBundle)(
__in_z LPCWSTR wzBundleId,
__in BOOTSTRAPPER_RELATION_TYPE relationType,
__in_z LPCWSTR wzBundleTag,
__in BOOL fPerMachine,
__in DWORD64 dw64Version,
__in int nRecommendation
) = 0;
// OnDetectUpdateBegin - called when the engine begins detection for bundle update.
//
// Return:
// IDOK instructs the engine to attempt update detection.
//
// IDCANCEL instructs the engine to stop detection.
//
// IDNOACTION instructs the engine to skip update detection.
STDMETHOD_(int, OnDetectUpdateBegin)(
__in_z LPCWSTR wzUpdateLocation,
__in int nRecommendation
) = 0;
// OnDetectUpdateComplete - called when the engine completes detection for bundle update.
//
// Remarks:
// wzUpdateLocation is null if no update was available.
STDMETHOD_(void, OnDetectUpdateComplete)(
__in HRESULT hrStatus,
__in_z_opt LPCWSTR wzUpdateLocation
) = 0;
// OnDetectRelatedBundle - called when the engine detects a related bundle. // OnDetectRelatedBundle - called when the engine detects a related bundle.
// //
// Return: // Return:
@ -162,6 +205,7 @@ DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-A
// IDNOACTION instructs the engine to continue. // IDNOACTION instructs the engine to continue.
STDMETHOD_(int, OnDetectRelatedBundle)( STDMETHOD_(int, OnDetectRelatedBundle)(
__in_z LPCWSTR wzBundleId, __in_z LPCWSTR wzBundleId,
__in BOOTSTRAPPER_RELATION_TYPE relationType,
__in_z LPCWSTR wzBundleTag, __in_z LPCWSTR wzBundleTag,
__in BOOL fPerMachine, __in BOOL fPerMachine,
__in DWORD64 dw64Version, __in DWORD64 dw64Version,

View file

@ -30,6 +30,8 @@ enum BOOTSTRAPPER_ACTION
BOOTSTRAPPER_ACTION_INSTALL, BOOTSTRAPPER_ACTION_INSTALL,
BOOTSTRAPPER_ACTION_MODIFY, BOOTSTRAPPER_ACTION_MODIFY,
BOOTSTRAPPER_ACTION_REPAIR, BOOTSTRAPPER_ACTION_REPAIR,
BOOTSTRAPPER_ACTION_UPDATE_REPLACE,
BOOTSTRAPPER_ACTION_UPDATE_REPLACE_EMBEDDED,
}; };
enum BOOTSTRAPPER_ACTION_STATE enum BOOTSTRAPPER_ACTION_STATE
@ -94,6 +96,12 @@ enum BOOTSTRAPPER_LOG_LEVEL
BOOTSTRAPPER_LOG_LEVEL_ERROR, // always gets reported, but can never be specified BOOTSTRAPPER_LOG_LEVEL_ERROR, // always gets reported, but can never be specified
}; };
enum BOOTSTRAPPER_UPDATE_HASH_TYPE
{
BOOTSTRAPPER_UPDATE_HASH_TYPE_NONE,
BOOTSTRAPPER_UPDATE_HASH_TYPE_SHA1,
};
DECLARE_INTERFACE_IID_(IBootstrapperEngine, IUnknown, "6480D616-27A0-44D7-905B-81512C29C2FB") DECLARE_INTERFACE_IID_(IBootstrapperEngine, IUnknown, "6480D616-27A0-44D7-905B-81512C29C2FB")
{ {
@ -152,6 +160,15 @@ DECLARE_INTERFACE_IID_(IBootstrapperEngine, IUnknown, "6480D616-27A0-44D7-905B-8
__out int* pnResult __out int* pnResult
) = 0; ) = 0;
STDMETHOD(SetUpdate)(
__in_z_opt LPCWSTR wzLocalSource,
__in_z_opt LPCWSTR wzDownloadSource,
__in DWORD64 qwSize,
__in BOOTSTRAPPER_UPDATE_HASH_TYPE hashType,
__in_bcount_opt(cbHash) BYTE* rgbHash,
__in DWORD cbHash
) = 0;
STDMETHOD(SetLocalSource)( STDMETHOD(SetLocalSource)(
__in_z LPCWSTR wzPackageOrContainerId, __in_z LPCWSTR wzPackageOrContainerId,
__in_z_opt LPCWSTR wzPayloadId, __in_z_opt LPCWSTR wzPayloadId,

View file

@ -47,6 +47,7 @@ typedef struct _BAL_INFO_PACKAGES
typedef struct _BAL_INFO_BUNDLE typedef struct _BAL_INFO_BUNDLE
{ {
BOOL fPerMachine;
LPWSTR sczName; LPWSTR sczName;
LPWSTR sczLogVariable; LPWSTR sczLogVariable;
BAL_INFO_PACKAGES packages; BAL_INFO_PACKAGES packages;

View file

@ -67,6 +67,16 @@ DAPI_(HRESULT) BalFormatString(
__inout LPWSTR* psczOut __inout LPWSTR* psczOut
); );
/*******************************************************************
BalGetNumericVariable - gets a number from a variable in the engine.
Note: Returns E_NOTFOUND if variable does not exist.
********************************************************************/
DAPI_(HRESULT) BalGetNumericVariable(
__in_z LPCWSTR wzVariable,
__out LONGLONG* pllValue
);
/******************************************************************* /*******************************************************************
BalStringVariableExists - checks if a string variable exists in the engine. BalStringVariableExists - checks if a string variable exists in the engine.

View file

@ -0,0 +1,153 @@
#pragma once
//-------------------------------------------------------------------------------------------------
// <copyright file="custommsierrors.h" 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>
//-------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------
// Indexes for custom errors in the MSI
//
// Note: Custom Errors must be in the range 25000-30000, all other error
// codes are reserved for the Windows Installer as standard error ranges
// NEVER reuse an error number or you're likely to break the builds.
//---------------------------------------------------------------------------
// Instructions:
// 1. add the index to this file
// 2. define the error table row
// 3. #include CustomMsiErrors to refer to the index
// 4. Import Misc\CustomErrors { MYDEFINE=1 }; with your errorgroup under MYDEFINE
//---------------------------------------------------------------------------
// GLOBAL 25501-25600
#define GLOBAL_ERROR_BASE 25501
#define msierrSecureObjectsFailedCreateSD 25520
#define msierrSecureObjectsFailedSet 25521
#define msierrSecureObjectsUnknownType 25522
#define msierrXmlFileFailedRead 25530
#define msierrXmlFileFailedOpen 25531
#define msierrXmlFileFailedSelect 25532
#define msierrXmlFileFailedSave 25533
#define msierrXmlConfigFailedRead 25540
#define msierrXmlConfigFailedOpen 25541
#define msierrXmlConfigFailedSelect 25542
#define msierrXmlConfigFailedSave 25543
#define msierrFirewallCannotConnect 25580
//---------------------------------------------------------------------------
// Server CustomAction Errors
// SERVER range: 26001-26100
#define SERVER_ERROR_BASE 26000
#define msierrIISCannotConnect 26001
#define msierrIISFailedReadWebSite 26002
#define msierrIISFailedReadWebDirs 26003
#define msierrIISFailedReadVDirs 26004
#define msierrIISFailedReadFilters 26005
#define msierrIISFailedReadAppPool 26006
#define msierrIISFailedReadMimeMap 26007
#define msierrIISFailedReadProp 26008
#define msierrIISFailedReadWebSvcExt 26009
#define msierrIISFailedReadWebError 26010
#define msierrIISFailedReadHttpHeader 26011
#define msierrIISFailedSchedTransaction 26031
#define msierrIISFailedSchedInstallWebs 26032
#define msierrIISFailedSchedInstallWebDirs 26033
#define msierrIISFailedSchedInstallVDirs 26034
#define msierrIISFailedSchedInstallFilters 26035
#define msierrIISFailedSchedInstallAppPool 26036
#define msierrIISFailedSchedInstallProp 26037
#define msierrIISFailedSchedInstallWebSvcExt 26038
#define msierrIISFailedSchedUninstallWebs 26051
#define msierrIISFailedSchedUninstallWebDirs 26052
#define msierrIISFailedSchedUninstallVDirs 26053
#define msierrIISFailedSchedUninstallFilters 26054
#define msierrIISFailedSchedUninstallAppPool 26055
#define msierrIISFailedSchedUninstallProp 26056
#define msierrIISFailedSchedUninstallWebSvcExt 26057
#define msierrIISFailedStartTransaction 26101
#define msierrIISFailedOpenKey 26102
#define msierrIISFailedCreateKey 26103
#define msierrIISFailedWriteData 26104
#define msierrIISFailedCreateApp 26105
#define msierrIISFailedDeleteKey 26106
#define msierrIISFailedDeleteApp 26107
#define msierrIISFailedDeleteValue 26108
#define msierrIISFailedCommitInUse 26109
#define msierrSQLFailedCreateDatabase 26201
#define msierrSQLFailedDropDatabase 26202
#define msierrSQLFailedConnectDatabase 26203
#define msierrSQLFailedExecString 26204
#define msierrSQLDatabaseAlreadyExists 26205
#define msierrPERFMONFailedRegisterDLL 26251
#define msierrPERFMONFailedUnregisterDLL 26252
#define msierrInstallPerfCounterData 26253
#define msierrUninstallPerfCounterData 26254
#define msierrSMBFailedCreate 26301
#define msierrSMBFailedDrop 26302
#define msierrCERTFailedOpen 26351
#define msierrCERTFailedAdd 26352
#define msierrUSRFailedUserCreate 26401
#define msierrUSRFailedUserCreatePswd 26402
#define msierrUSRFailedUserGroupAdd 26403
#define msierrUSRFailedUserCreateExists 26404
#define msierrUSRFailedGrantLogonAsService 26405
#define msierrDependencyMissingDependencies 26451
#define msierrDependencyHasDependents 26452
//--------------------------------------------------------------------------
// Managed code CustomAction Errors
// MANAGED range: 27000-27100
#define MANAGED_ERROR_BASE 27000
#define msierrDotNetRuntimeRequired 27000
//---------------------------------------------------------------------------
// Public CustomAction Errors
// PUBLIC range: 28001-28100
#define PUBLIC_ERROR_BASE 28000
#define msierrComPlusCannotConnect 28001
#define msierrComPlusPartitionReadFailed 28002
#define msierrComPlusPartitionRoleReadFailed 28003
#define msierrComPlusUserInPartitionRoleReadFailed 28004
#define msierrComPlusPartitionUserReadFailed 28005
#define msierrComPlusApplicationReadFailed 28006
#define msierrComPlusApplicationRoleReadFailed 28007
#define msierrComPlusUserInApplicationRoleReadFailed 28008
#define msierrComPlusAssembliesReadFailed 28009
#define msierrComPlusSubscriptionReadFailed 28010
#define msierrComPlusPartitionDependency 28011
#define msierrComPlusPartitionNotFound 28012
#define msierrComPlusPartitionIdConflict 28013
#define msierrComPlusPartitionNameConflict 28014
#define msierrComPlusApplicationDependency 28015
#define msierrComPlusApplicationNotFound 28016
#define msierrComPlusApplicationIdConflict 28017
#define msierrComPlusApplicationNameConflict 28018
#define msierrComPlusApplicationRoleDependency 28019
#define msierrComPlusApplicationRoleNotFound 28020
#define msierrComPlusApplicationRoleConflict 28021
#define msierrComPlusAssemblyDependency 28022
#define msierrComPlusSubscriptionIdConflict 28023
#define msierrComPlusSubscriptionNameConflict 28024
#define msierrComPlusFailedLookupNames 28025
#define msierrMsmqCannotConnect 28101

View file

@ -23,10 +23,23 @@ typedef struct _DEPENDENCY
{ {
LPWSTR sczKey; LPWSTR sczKey;
LPWSTR sczName; LPWSTR sczName;
} DEPENDENCY; } DEPENDENCY;
/***************************************************************************
DepGetProviderInformation - gets the various pieces of data registered
with a dependency.
Note: Returns E_NOTFOUND if the dependency was not found.
***************************************************************************/
DAPI_(HRESULT) DepGetProviderInformation(
__in HKEY hkHive,
__in_z LPCWSTR wzProviderKey,
__deref_out_z_opt LPWSTR* psczId,
__deref_out_z_opt LPWSTR* psczName,
__out_opt DWORD64* pqwVersion
);
/*************************************************************************** /***************************************************************************
DepCheckDependency - Checks that the dependency is registered and within DepCheckDependency - Checks that the dependency is registered and within
the proper version range. the proper version range.
@ -67,9 +80,22 @@ DAPI_(HRESULT) DepRegisterDependency(
__in_z LPCWSTR wzProviderKey, __in_z LPCWSTR wzProviderKey,
__in_z LPCWSTR wzVersion, __in_z LPCWSTR wzVersion,
__in_z LPCWSTR wzDisplayName, __in_z LPCWSTR wzDisplayName,
__in_z_opt LPCWSTR wzId,
__in int iAttributes __in int iAttributes
); );
/***************************************************************************
DepDependentExists - Determines if a dependent is registered.
Note: Returns S_OK if dependent is registered.
Returns E_FILENOTFOUND if dependent is not registered
***************************************************************************/
DAPI_(HRESULT) DepDependentExists(
__in HKEY hkHive,
__in_z LPCWSTR wzDependencyProviderKey,
__in_z LPCWSTR wzProviderKey
);
/*************************************************************************** /***************************************************************************
DepRegisterDependent - Registers a dependent under the dependency provider. DepRegisterDependent - Registers a dependent under the dependency provider.

View file

@ -42,6 +42,17 @@ HRESULT DAPI DictCreateStringList(
__in DWORD dwNumExpectedItems, __in DWORD dwNumExpectedItems,
__in DICT_FLAG dfFlags __in DICT_FLAG dfFlags
); );
HRESULT DAPI DictCreateStringListFromArray(
__out_bcount(STRINGDICT_HANDLE_BYTES) STRINGDICT_HANDLE* psdHandle,
__in_ecount(cStringArray) const LPCWSTR* rgwzStringArray,
__in const DWORD cStringArray,
__in DICT_FLAG dfFlags
);
HRESULT DAPI DictCompareStringListToArray(
__in_bcount(STRINGDICT_HANDLE_BYTES) STRINGDICT_HANDLE sdStringList,
__in_ecount(cStringArray) const LPCWSTR* rgwzStringArray,
__in const DWORD cStringArray
);
HRESULT DAPI DictAddKey( HRESULT DAPI DictAddKey(
__in_bcount(STRINGDICT_HANDLE_BYTES) STRINGDICT_HANDLE sdHandle, __in_bcount(STRINGDICT_HANDLE_BYTES) STRINGDICT_HANDLE sdHandle,
__in_z LPCWSTR szString __in_z LPCWSTR szString

View file

@ -23,6 +23,7 @@
enum REPORT_LEVEL enum REPORT_LEVEL
{ {
REPORT_NONE, // turns off report (only valid for XXXSetLevel()) REPORT_NONE, // turns off report (only valid for XXXSetLevel())
REPORT_WARNING, // written if want only warnings or reporting is on in general
REPORT_STANDARD, // written if reporting is on REPORT_STANDARD, // written if reporting is on
REPORT_VERBOSE, // written only if verbose reporting is on REPORT_VERBOSE, // written only if verbose reporting is on
REPORT_DEBUG, // reporting useful when debugging code REPORT_DEBUG, // reporting useful when debugging code

View file

@ -0,0 +1,232 @@
#pragma once
//-------------------------------------------------------------------------------------------------
// <copyright file="iis7util.h" 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>
//
// <summary>
// IIS7 helper functions.
// </summary>
//-------------------------------------------------------------------------------------------------
#ifdef __cplusplus
extern "C" {
#endif
// IIS Config schema names
#define IIS_CONFIG_ADD L"add"
#define IIS_CONFIG_ALLOWED L"allowed"
#define IIS_CONFIG_APPHOST_ROOT L"MACHINE/WEBROOT/APPHOST"
#define IIS_CONFIG_APPLICATION L"application"
#define IIS_CONFIG_APPPOOL L"applicationPool"
#define IIS_CONFIG_APPPOOL_AUTO L"autoStart"
#define IIS_CONFIG_APPPOOL_SECTION L"system.applicationHost/applicationPools"
#define IIS_CONFIG_AUTOSTART L"serverAutoStart"
#define IIS_CONFIG_BINDING L"binding"
#define IIS_CONFIG_BINDINGINFO L"bindingInformation"
#define IIS_CONFIG_BINDINGS L"bindings"
#define IIS_CONFIG_DESC L"description"
#define IIS_CONFIG_EXECUTABLE L"scriptProcessor"
#define IIS_CONFIG_ENABLED L"enabled"
#define IIS_CONFIG_ENABLE32 L"enable32BitAppOnWin64"
#define IIS_CONFIG_FILEEXT L"fileExtension"
#define IIS_CONFIG_FILTER L"filter"
#define IIS_CONFIG_GROUPID L"groupId"
#define IIS_CONFIG_HEADERS L"customHeaders"
#define IIS_CONFIG_HTTPERRORS_SECTION L"system.webServer/httpErrors"
#define IIS_CONFIG_ID L"id"
#define IIS_CONFIG_ISAPI_SECTION L"system.webServer/isapiFilters"
#define IIS_CONFIG_HTTPPROTO_SECTION L"system.webServer/httpProtocol"
#define IIS_CONFIG_LOG_SECTION L"system.applicationHost/log"
#define IIS_CONFIG_LOG_UTF8 L"logInUTF8"
#define IIS_CONFIG_LIMITS L"limits"
#define IIS_CONFIG_PIPELINEMODE L"managedPipelineMode"
#define IIS_CONFIG_MANAGEDRUNTIMEVERSION L"managedRuntimeVersion"
#define IIS_CONFIG_WEBLOG L"logFile"
#define IIS_CONFIG_LOGFORMAT L"logFormat"
#define IIS_CONFIG_MIMEMAP L"mimeMap"
#define IIS_CONFIG_MIMETYPE L"mimeType"
#define IIS_CONFIG_MODULES L"modules"
#define IIS_CONFIG_NAME L"name"
#define IIS_CONFIG_PATH L"path"
#define IIS_CONFIG_PHYSPATH L"physicalPath"
#define IIS_CONFIG_PROTOCOL L"protocol"
#define IIS_CONFIG_RESTRICTION_SECTION L"system.webServer/security/isapiCgiRestriction"
#define IIS_CONFIG_SITE L"site"
#define IIS_CONFIG_SITE_ID L"id"
#define IIS_CONFIG_SITES_SECTION L"system.applicationHost/sites"
#define IIS_CONFIG_CONNECTTIMEOUT L"connectionTimeout"
#define IIS_CONFIG_VDIR L"virtualDirectory"
#define IIS_CONFIG_VALUE L"value"
#define IIS_CONFIG_VERBS L"verb"
#define IIS_CONFIG_WEBLIMITS_SECTION L"system.applicationHost/webLimits"
#define IIS_CONFIG_WEBLIMITS_MAXBAND L"maxGlobalBandwidth"
#define IIS_CONFIG_TRUE L"true"
#define IIS_CONFIG_FALSE L"false"
#define IIS_CONFIG_ERROR L"error"
#define IIS_CONFIG_STATUSCODE L"statusCode"
#define IIS_CONFIG_SUBSTATUS L"subStatusCode"
#define IIS_CONFIG_LANGPATH L"prefixLanguageFilePath"
#define IIS_CONFIG_RESPMODE L"responseMode"
#define IIS_CONFIG_CLEAR L"clear"
#define IIS_CONFIG_RECYCLING L"recycling"
#define IIS_CONFIG_PEROIDRESTART L"periodicRestart"
#define IIS_CONFIG_TIME L"time"
#define IIS_CONFIG_REQUESTS L"requests"
#define IIS_CONFIG_SCHEDULE L"schedule"
#define IIS_CONFIG_MEMORY L"memory"
#define IIS_CONFIG_PRIVMEMORY L"privateMemory"
#define IIS_CONFIG_PROCESSMODEL L"processModel"
#define IIS_CONFIG_IDLETIMEOUT L"idleTimeout"
#define IIS_CONFIG_QUEUELENGTH L"queueLength"
#define IIS_CONFIG_IDENITITYTYPE L"identityType"
#define IIS_CONFIG_LOCALSYSTEM L"LocalSystem"
#define IIS_CONFIG_LOCALSERVICE L"LocalService"
#define IIS_CONFIG_NETWORKSERVICE L"NetworkService"
#define IIS_CONFIG_SPECIFICUSER L"SpecificUser"
#define IIS_CONFIG_USERNAME L"userName"
#define IIS_CONFIG_PASSWORD L"password"
#define IIS_CONFIG_CPU L"cpu"
#define IIS_CONFIG_LIMIT L"limit"
#define IIS_CONFIG_CPU_ACTION L"action"
#define IIS_CONFIG_KILLW3WP L"KillW3wp"
#define IIS_CONFIG_NOACTION L"NoAction"
#define IIS_CONFIG_RESETINTERVAL L"resetInterval"
#define IIS_CONFIG_MAXWRKPROCESSES L"maxProcesses"
#define IIS_CONFIG_HANDLERS_SECTION L"system.webServer/handlers"
#define IIS_CONFIG_DEFAULTDOC_SECTION L"system.webServer/defaultDocument"
#define IIS_CONFIG_ASP_SECTION L"system.webServer/asp"
#define IIS_CONFIG_SCRIPTERROR L"scriptErrorSentToBrowser"
#define IIS_CONFIG_STATICCONTENT_SECTION L"system.webServer/staticContent"
#define IIS_CONFIG_HTTPEXPIRES L"httpExpires"
#define IIS_CONFIG_MAXAGE L"cacheControlMaxAge"
#define IIS_CONFIG_CLIENTCACHE L"clientCache"
#define IIS_CONFIG_CACHECONTROLMODE L"cacheControlMode"
#define IIS_CONFIG_USEMAXAGE L"UseMaxAge"
#define IIS_CONFIG_USEEXPIRES L"UseExpires"
#define IIS_CONFIG_CACHECUST L"cacheControlCustom"
#define IIS_CONFIG_ASP_SECTION L"system.webServer/asp"
#define IIS_CONFIG_SESSION L"session"
#define IIS_CONFIG_ALLOWSTATE L"allowSessionState"
#define IIS_CONFIG_TIMEOUT L"timeout"
#define IIS_CONFIG_BUFFERING L"bufferingOn"
#define IIS_CONFIG_PARENTPATHS L"enableParentPaths"
#define IIS_CONFIG_SCRIPTLANG L"scriptLanguage"
#define IIS_CONFIG_SCRIPTTIMEOUT L"scriptTimeout"
#define IIS_CONFIG_LIMITS L"limits"
#define IIS_CONFIG_ALLOWDEBUG L"appAllowDebugging"
#define IIS_CONFIG_ALLOWCLIENTDEBUG L"appAllowClientDebug"
#define IIS_CONFIG_CERTIFICATEHASH L"certificateHash"
#define IIS_CONFIG_CERTIFICATESTORENAME L"certificateStoreName"
#define IIS_CONFIG_HTTPLOGGING_SECTION L"system.webServer/httpLogging"
#define IIS_CONFIG_DONTLOG L"dontLog"
typedef BOOL (CALLBACK* ENUMAPHOSTELEMENTPROC)(IAppHostElement*, LPVOID);
typedef BOOL (CALLBACK* VARIANTCOMPARATORPROC)(VARIANT*, VARIANT*);
HRESULT DAPI Iis7PutPropertyVariant(
__in IAppHostElement *pElement,
__in LPCWSTR wzPropName,
__in VARIANT vtPut
);
HRESULT DAPI Iis7PutPropertyInteger(
__in IAppHostElement *pElement,
__in LPCWSTR wzPropName,
__in DWORD dValue
);
HRESULT DAPI Iis7PutPropertyString(
__in IAppHostElement *pElement,
__in LPCWSTR wzPropName,
__in LPCWSTR wzString
);
HRESULT DAPI Iis7PutPropertyBool(
__in IAppHostElement *pElement,
__in LPCWSTR wzPropName,
__in BOOL fValue);
HRESULT DAPI Iis7GetPropertyVariant(
__in IAppHostElement *pElement,
__in LPCWSTR wzPropName,
__in VARIANT* vtGet
);
HRESULT DAPI Iis7GetPropertyString(
__in IAppHostElement *pElement,
__in LPCWSTR wzPropName,
__in LPWSTR* psczGet
);
struct IIS7_APPHOSTELEMENTCOMPARISON
{
LPCWSTR sczElementName;
LPCWSTR sczAttributeName;
VARIANT* pvAttributeValue;
VARIANTCOMPARATORPROC pComparator;
};
BOOL DAPI Iis7IsMatchingAppHostElement(
__in IAppHostElement *pElement,
__in IIS7_APPHOSTELEMENTCOMPARISON* pComparison
);
HRESULT DAPI Iis7FindAppHostElementString(
__in IAppHostElementCollection *pCollection,
__in LPCWSTR wzElementName,
__in LPCWSTR wzAttributeName,
__in LPCWSTR wzAttributeValue,
__out IAppHostElement** ppElement,
__out DWORD* pdwIndex
);
HRESULT DAPI Iis7FindAppHostElementPath(
__in IAppHostElementCollection *pCollection,
__in LPCWSTR wzElementName,
__in LPCWSTR wzAttributeName,
__in LPCWSTR wzAttributeValue,
__out IAppHostElement** ppElement,
__out DWORD* pdwIndex
);
HRESULT DAPI Iis7FindAppHostElementInteger(
__in IAppHostElementCollection *pCollection,
__in LPCWSTR wzElementName,
__in LPCWSTR wzAttributeName,
__in DWORD dwAttributeValue,
__out IAppHostElement** ppElement,
__out DWORD* pdwIndex
);
HRESULT DAPI Iis7FindAppHostElementVariant(
__in IAppHostElementCollection *pCollection,
__in LPCWSTR wzElementName,
__in LPCWSTR wzAttributeName,
__in VARIANT* pvAttributeValue,
__out IAppHostElement** ppElement,
__out DWORD* pdwIndex
);
HRESULT DAPI Iis7EnumAppHostElements(
__in IAppHostElementCollection *pCollection,
__in ENUMAPHOSTELEMENTPROC pCallback,
__in LPVOID pContext,
__out IAppHostElement** ppElement,
__out DWORD* pdwIndex
);
HRESULT DAPI Iis7FindAppHostMethod(
__in IAppHostMethodCollection *pCollection,
__in LPCWSTR wzMethodName,
__out IAppHostMethod** ppMethod,
__out DWORD* pdwIndex
);
#ifdef __cplusplus
}
#endif

View file

@ -0,0 +1,83 @@
#pragma once
//-------------------------------------------------------------------------------------------------
// <copyright file="iniutil.h" 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>
//
// <summary>
// Ini/cfg file helper functions.
// </summary>
//-------------------------------------------------------------------------------------------------
#ifdef __cplusplus
extern "C" {
#endif
#define ReleaseIni(ih) if (ih) { IniUninitialize(ih); }
#define ReleaseNullIni(ih) if (ih) { IniUninitialize(ih); ih = NULL; }
typedef void* INI_HANDLE;
typedef const void* C_INI_HANDLE;
extern const int INI_HANDLE_BYTES;
struct INI_VALUE
{
LPCWSTR wzName;
LPCWSTR wzValue;
DWORD dwLineNumber;
};
HRESULT DAPI IniInitialize(
__out_bcount(INI_HANDLE_BYTES) INI_HANDLE* piHandle
);
void DAPI IniUninitialize(
__in_bcount(INI_HANDLE_BYTES) INI_HANDLE piHandle
);
HRESULT DAPI IniSetOpenTag(
__inout_bcount(INI_HANDLE_BYTES) INI_HANDLE piHandle,
__in_z_opt LPCWSTR wzOpenTagPrefix,
__in_z_opt LPCWSTR wzOpenTagPostfix
);
HRESULT DAPI IniSetValueStyle(
__inout_bcount(INI_HANDLE_BYTES) INI_HANDLE piHandle,
__in_z_opt LPCWSTR wzValuePrefix,
__in_z_opt LPCWSTR wzValueSeparator
);
HRESULT DAPI IniSetCommentStyle(
__inout_bcount(INI_HANDLE_BYTES) INI_HANDLE piHandle,
__in_z_opt LPCWSTR wzLinePrefix
);
HRESULT DAPI IniParse(
__inout_bcount(INI_HANDLE_BYTES) INI_HANDLE piHandle,
__in LPCWSTR wzPath,
__out_opt FILE_ENCODING *pfeEncodingFound
);
HRESULT DAPI IniGetValueList(
__in_bcount(INI_HANDLE_BYTES) INI_HANDLE piHandle,
__deref_out_ecount_opt(pcValues) INI_VALUE** prgivValues,
__out DWORD *pcValues
);
HRESULT DAPI IniGetValue(
__in_bcount(INI_HANDLE_BYTES) INI_HANDLE piHandle,
__in LPCWSTR wzValueName,
__deref_out_z LPWSTR* psczValue
);
HRESULT DAPI IniSetValue(
__in_bcount(INI_HANDLE_BYTES) INI_HANDLE piHandle,
__in LPCWSTR wzValueName,
__in_z_opt LPCWSTR wzValue
);
HRESULT DAPI IniWriteFile(
__in_bcount(INI_HANDLE_BYTES) INI_HANDLE piHandle,
__in_z_opt LPCWSTR wzPath,
__in FILE_ENCODING feOverrideEncoding
);
#ifdef __cplusplus
}
#endif

View file

@ -76,9 +76,9 @@ void DAPI LogUninitialize(
BOOL DAPI LogIsOpen(); BOOL DAPI LogIsOpen();
HRESULT DAPI LogSetSpecialParams( HRESULT DAPI LogSetSpecialParams(
__in_z LPCWSTR wzSpecialBeginLine, __in_z_opt LPCWSTR wzSpecialBeginLine,
__in_z LPCWSTR wzSpecialAfterTimeStamp, __in_z_opt LPCWSTR wzSpecialAfterTimeStamp,
__in_z LPCWSTR wzSpecialEndLine __in_z_opt LPCWSTR wzSpecialEndLine
); );
REPORT_LEVEL DAPI LogSetLevel( REPORT_LEVEL DAPI LogSetLevel(

Some files were not shown because too many files have changed in this diff Show more