aboutsummaryrefslogtreecommitdiff
path: root/src/xsd/sql/SqlDatabase.xsd
blob: b151645bcd19c9c8af6f1081147a7a8f7365687b (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
<element name="SqlDatabase">
    <annotation>
      <appinfo>
        <parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Component" />
        <parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Fragment" />
        <parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Module" />
        <parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Package" />
        <remarks>
            Nesting SqlDatabase under a Component element will result in a SqlDatabase being installed to the machine as the package is installed.

            Nesting SqlDatabase under Package, Fragment, or Module
            results in a database "locator" record being created in
            the SqlDatabase table.  This means that the database
            itself is neither installed nor uninstalled by the MSI
            package.  It does make the database available for referencing
            from a SqlString or SqlScript record.  This allows MSI to install
            SqlScripts or SqlStrings to already existing databases on the machine.
            The install will fail if the database does not exist in these cases.

            The User attribute references credentials specified in a User element.
            If a user is not specified then Windows Authentication will be used by default
            using the credentials of the user performing the install to execute sql
            strings, etc.
        </remarks>
        <seeAlso namespace="http://wixtoolset.org/schemas/v4/wxs/util" ref="User" />
      </appinfo>
      <documentation>SQL Database</documentation>
    </annotation>
    <complexType>
      <choice minOccurs="0" maxOccurs="unbounded">
        <element ref="SqlFileSpec" />
        <element ref="SqlLogFileSpec" />
        <element ref="SqlScript" />
        <element ref="SqlString" />
        <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>
      <attribute name="Id" type="xs:string">
        <annotation>
          <documentation>Unique identifier in your installation package for this database. If an Id is not provided, one will generated for you.</documentation>
        </annotation>
      </attribute>
      <attribute name="Server" type="xs:string" use="required">
        <annotation>
          <documentation>Database server name.</documentation>
        </annotation>
      </attribute>
      <attribute name="Instance" type="xs:string">
        <annotation>
          <documentation>Optional database server instance.</documentation>
        </annotation>
      </attribute>
      <attribute name="Database" type="xs:string" use="required">
        <annotation>
          <documentation>
            The name of the database. The value can be a literal value or derived from a
            Property element using the [Formatted](https://learn.microsoft.com/en-us/windows/win32/msi/formatted)
            syntax.
          </documentation>
        </annotation>
      </attribute>
      <attribute name="User" type="xs:string">
        <annotation>
          <documentation>Optional user used to connect to database.</documentation>
        </annotation>
      </attribute>
      <attribute name="CreateOnInstall" type="wxs:YesNoTypeUnion">
        <annotation>
          <documentation>Create the database during installation.</documentation>
        </annotation>
      </attribute>
      <attribute name="CreateOnReinstall" type="wxs:YesNoTypeUnion">
        <annotation>
          <documentation>
            Specifies whether to create the database when the associated component is reinstalled.  Setting CreateOnInstall to yes does <b>not</b> imply CreateOnReinstall is set to yes.  CreateOnReinstall must be set in addition to CreateOnInstall for it to be created during both install and reinstall.
          </documentation>
        </annotation>
      </attribute>
      <attribute name="CreateOnUninstall" type="wxs:YesNoTypeUnion">
        <annotation>
          <documentation>Create the database during uninstallation.</documentation>
        </annotation>
      </attribute>
      <attribute name="DropOnInstall" type="wxs:YesNoTypeUnion">
        <annotation>
          <documentation>Drop the database during installation.</documentation>
        </annotation>
      </attribute>
      <attribute name="DropOnReinstall" type="wxs:YesNoTypeUnion">
        <annotation>
          <documentation>
            Specifies whether to drop the database when the associated component is reinstalled.  Setting DropOnInstall to yes does <b>not</b> imply DropOnReinstall is set to yes.  DropOnReinstall must be set in addition to DropOnInstall for it to be dropped during both install and reinstall.
          </documentation>
        </annotation>
      </attribute>
      <attribute name="DropOnUninstall" type="wxs:YesNoTypeUnion">
        <annotation>
          <documentation>Drop the database during uninstallation.</documentation>
        </annotation>
      </attribute>
      <attribute name="ContinueOnError" type="wxs:YesNoTypeUnion">
        <annotation>
          <documentation>Continue even if the database operation fails.</documentation>
        </annotation>
      </attribute>
      <attribute name="ConfirmOverwrite" type="wxs:YesNoTypeUnion">
        <annotation>
          <documentation>Prompt the user to overwrite the database.</documentation>
        </annotation>
      </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>