aboutsummaryrefslogtreecommitdiff
path: root/src/xsd/util/RegistrySearch.xsd
blob: ff710840e057aedc5c637434c220e5c880918868 (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
<element name="RegistrySearch">
    <annotation>
      <documentation>Describes a registry search.</documentation>
      <appinfo>
        <parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Bundle" />
        <parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Fragment" />
      </appinfo>
    </annotation>
    <complexType>
      <choice minOccurs="0" maxOccurs="unbounded">
        <any namespace="##other" processContents="lax">
          <annotation>
            <documentation>
              Extensibility point in the WiX XML Schema. Schema extensions can register additional
              elements at this point in the schema.
            </documentation>
          </annotation>
        </any>
      </choice>
      <attributeGroup ref="SearchCommonAttributes" />
      <attribute name="Bitness" type="wxs:BitnessTypeUnion">
        <annotation>
          <documentation>
            Overrides the default registry to search. The value `always64` will force
            the search to look in the 64-bit registry even when building for 32-bit.
            Simliarly, the value `always32` will force the search to look in the 32-bit
            registry even when building for 64-bit.
            The default value is `default` where the search will look in the same registry
            as the bitness of the package.
          </documentation>
        </annotation>
      </attribute>
      <attribute name="Root" use="required">
        <annotation>
          <documentation>Registry root hive to search under.</documentation>
        </annotation>
        <simpleType>
          <restriction base="xs:NMTOKEN">
            <enumeration value="HKLM">
              <annotation>
                <documentation>HKEY_LOCAL_MACHINE</documentation>
              </annotation>
            </enumeration>
            <enumeration value="HKCU">
              <annotation>
                <documentation>HKEY_CURRENT_USER</documentation>
              </annotation>
            </enumeration>
            <enumeration value="HKCR">
              <annotation>
                <documentation>HKEY_CLASSES_ROOT</documentation>
              </annotation>
            </enumeration>
            <enumeration value="HKU">
              <annotation>
                <documentation>HKEY_USERS</documentation>
              </annotation>
            </enumeration>
          </restriction>
        </simpleType>
      </attribute>
      <attribute name="Key" type="xs:string" use="required">
        <annotation>
          <documentation>Key to search for.</documentation>
        </annotation>
      </attribute>
      <attribute name="Value" type="xs:string">
        <annotation>
          <documentation>Optional value to search for under the given Key.</documentation>
        </annotation>
      </attribute>
      <attribute name="ExpandEnvironmentVariables" type="wxs:YesNoTypeUnion">
        <annotation>
          <documentation>Whether to expand any environment variables in REG_SZ, REG_EXPAND_SZ, or REG_MULTI_SZ values.</documentation>
        </annotation>
      </attribute>
      <attribute name="Result">
        <annotation>
          <documentation>
            Rather than saving the matching registry value into the variable, a RegistrySearch can save an attribute of the matching entry instead.
          </documentation>
        </annotation>
        <simpleType>
          <restriction base="xs:NMTOKEN">
            <enumeration value="exists">
              <annotation>
                <documentation>Saves true if a matching registry entry is found; false otherwise.</documentation>
              </annotation>
            </enumeration>
            <enumeration value="value">
              <annotation>
                <documentation>Saves the value of the registry key in the variable. This is the default.</documentation>
              </annotation>
            </enumeration>
          </restriction>
        </simpleType>
      </attribute>
      <anyAttribute namespace="##other" processContents="lax">
        <annotation>
          <documentation>
            Extensibility point in the WiX XML Schema. Schema extensions can register additional
            attributes at this point in the schema.
          </documentation>
        </annotation>
      </anyAttribute>
    </complexType>
  </element>