aboutsummaryrefslogtreecommitdiff
path: root/src/wixext/http.xsd
blob: b96a6dedaaad1b982a4b668ec6310b865dfda261 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->


<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
          xmlns:xse="http://wixtoolset.org/schemas/XmlSchemaExtension"
         xmlns:html="http://www.w3.org/1999/xhtml"
    targetNamespace="http://wixtoolset.org/schemas/v4/wxs/http"
              xmlns="http://wixtoolset.org/schemas/v4/wxs/http">
  <xs:annotation>
    <xs:documentation>
      The source code schema for the Windows Installer XML Toolset Http Extension.
    </xs:documentation>
  </xs:annotation>

  <xs:import namespace="http://wixtoolset.org/schemas/v4/wxs" />

  <xs:element name="UrlReservation">
    <xs:annotation>
      <xs:documentation>
        Makes a reservation record for the HTTP Server API configuration store on Windows XP SP2,
        Windows Server 2003, and later.  For more information about the HTTP Server API, see
        <html:a href="http://msdn.microsoft.com/library/windows/desktop/aa364510.aspx">
          HTTP Server API
        </html:a>.
      </xs:documentation>
      <xs:appinfo>
        <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Component" />
        <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="ServiceInstall" />
      </xs:appinfo>
    </xs:annotation>

    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>
            The access control entries for the access control list.
          </xs:documentation>
        </xs:annotation>
        <xs:element ref="UrlAce" />
      </xs:choice>

      <xs:attribute name="HandleExisting">
        <xs:annotation>
          <xs:documentation>
            Specifies the behavior when trying to install a URL reservation and it already exists.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="replace">
              <xs:annotation>
                <xs:documentation>
                  Replaces the existing URL reservation (the default).
                </xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ignore">
              <xs:annotation>
                <xs:documentation>
                  Keeps the existing URL reservation.
                </xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="fail">
              <xs:annotation>
                <xs:documentation>
                  The installation fails.
                </xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>

      <xs:attribute name="Id" type="xs:string">
        <xs:annotation>
          <xs:documentation>
            Unique ID of this URL reservation.
            If this attribute is not specified, an identifier will be generated automatically.
          </xs:documentation>
        </xs:annotation>
      </xs:attribute>

      <xs:attribute name="Sddl" type="xs:string">
        <xs:annotation>
          <xs:documentation>
            Security descriptor to apply to the URL reservation.
            Can't be specified when using children UrlAce elements.
          </xs:documentation>
        </xs:annotation>
      </xs:attribute>

      <xs:attribute name="Url" type="xs:string" use="required">
        <xs:annotation>
          <xs:documentation>
            The <html:a href="http://msdn.microsoft.com/library/windows/desktop/aa364698.aspx">UrlPrefix</html:a>
            string that defines the portion of the URL namespace to which this reservation pertains.
          </xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>

  <xs:element name="UrlAce">
    <xs:annotation>
      <xs:documentation>
        The security principal and which rights to assign to them for the URL reservation.
      </xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="Id" type="xs:string">
        <xs:annotation>
          <xs:documentation>
            Unique ID of this URL ACE.
            If this attribute is not specified, an identifier will be generated automatically.
          </xs:documentation>
        </xs:annotation>
      </xs:attribute>

      <xs:attribute name="SecurityPrincipal" type="xs:string">
        <xs:annotation>
          <xs:documentation>
            The security principal for this ACE.  When the UrlReservation is under a ServiceInstall element, this defaults to
            "NT SERVICE\ServiceInstallName".  This may be either a SID or an account name in a format that
            <html:a href="http://msdn.microsoft.com/library/windows/desktop/aa379159.aspx">LookupAccountName</html:a>
            supports.  When using a SID, an asterisk must be prepended.  For example, "*S-1-5-18".
          </xs:documentation>
        </xs:annotation>
      </xs:attribute>

      <xs:attribute name="Rights">
        <xs:annotation>
          <xs:documentation>
            Rights for this ACE. Default is "all".
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="register" />
            <xs:enumeration value="delegate" />
            <xs:enumeration value="all" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
</xs:schema>