diff options
Diffstat (limited to 'src/xsd/vs.xsd')
-rw-r--r-- | src/xsd/vs.xsd | 140 |
1 files changed, 140 insertions, 0 deletions
diff --git a/src/xsd/vs.xsd b/src/xsd/vs.xsd new file mode 100644 index 00000000..f233db92 --- /dev/null +++ b/src/xsd/vs.xsd | |||
@@ -0,0 +1,140 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!-- 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. --> | ||
3 | |||
4 | |||
5 | <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" | ||
6 | xmlns:xse="http://wixtoolset.org/schemas/XmlSchemaExtension" | ||
7 | xmlns:html="http://www.w3.org/1999/xhtml" | ||
8 | xmlns:wxs="http://wixtoolset.org/schemas/v4/wxs" | ||
9 | targetNamespace="http://wixtoolset.org/schemas/v4/wxs/vs" | ||
10 | xmlns="http://wixtoolset.org/schemas/v4/wxs/vs"> | ||
11 | <xs:annotation> | ||
12 | <xs:documentation> | ||
13 | The source code schema for the WiX Toolset Visual Studio Extension. | ||
14 | </xs:documentation> | ||
15 | </xs:annotation> | ||
16 | |||
17 | <xs:import namespace="http://wixtoolset.org/schemas/v4/wxs" /> | ||
18 | |||
19 | <xs:element name="FindVisualStudio"> | ||
20 | <xs:annotation> | ||
21 | <xs:documentation> | ||
22 | This element detects which, if any, Visual Studio instances are installed. If so, it sets | ||
23 | the appropriate property or properties: `VS2017_ROOT_FOLDER`, `VS2019_ROOT_FOLDER`, or | ||
24 | `VS2022_ROOT_FOLDER`. | ||
25 | </xs:documentation> | ||
26 | <xs:appinfo> | ||
27 | <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Fragment" /> | ||
28 | <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Module" /> | ||
29 | <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Package" /> | ||
30 | </xs:appinfo> | ||
31 | </xs:annotation> | ||
32 | <xs:complexType> | ||
33 | <xs:choice minOccurs="0" maxOccurs="unbounded"> | ||
34 | <xs:any namespace="##other" processContents="lax"> | ||
35 | <xs:annotation> | ||
36 | <xs:documentation> | ||
37 | Extensibility point in the WiX XML Schema. Schema extensions can register additional | ||
38 | elements at this point in the schema. | ||
39 | </xs:documentation> | ||
40 | </xs:annotation> | ||
41 | </xs:any> | ||
42 | </xs:choice> | ||
43 | </xs:complexType> | ||
44 | </xs:element> | ||
45 | |||
46 | <xs:element name="VsixPackage"> | ||
47 | <xs:annotation> | ||
48 | <xs:documentation> | ||
49 | This element provides the metdata required to install/uninstall a file as | ||
50 | a VSIX Package. The VSIX package file will be installed as part of the MSI | ||
51 | then passed to the VSIX installer to install the VSIX package. To avoid the | ||
52 | duplication, simply use the MSI to install the VSIX package itself. | ||
53 | </xs:documentation> | ||
54 | <xs:appinfo> | ||
55 | <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Component" /> | ||
56 | <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="File" /> | ||
57 | </xs:appinfo> | ||
58 | </xs:annotation> | ||
59 | <xs:complexType> | ||
60 | <xs:choice minOccurs="0" maxOccurs="unbounded"> | ||
61 | <xs:any namespace="##other" processContents="lax"> | ||
62 | <xs:annotation> | ||
63 | <xs:documentation> | ||
64 | Extensibility point in the WiX XML Schema. Schema extensions can register additional | ||
65 | elements at this point in the schema. | ||
66 | </xs:documentation> | ||
67 | </xs:annotation> | ||
68 | </xs:any> | ||
69 | </xs:choice> | ||
70 | <xs:attribute name="File" type="xs:string"> | ||
71 | <xs:annotation> | ||
72 | <xs:documentation> | ||
73 | Reference to file identifer. This attribute is required when the element is not a | ||
74 | child of a File element and is invalid when the element is a child of the File element. | ||
75 | </xs:documentation> | ||
76 | </xs:annotation> | ||
77 | </xs:attribute> | ||
78 | <xs:attribute name="PackageId" type="xs:string" use="required"> | ||
79 | <xs:annotation> | ||
80 | <xs:documentation> | ||
81 | Identity of the VSIX package per its internal manifest. If this value is not correct | ||
82 | the VSIX package will not correctly uninstall. | ||
83 | </xs:documentation> | ||
84 | </xs:annotation> | ||
85 | </xs:attribute> | ||
86 | <xs:attribute name="Permanent" type="wxs:YesNoTypeUnion"> | ||
87 | <xs:annotation> | ||
88 | <xs:documentation> | ||
89 | Indicates whether the VSIX package is uninstalled when the parent Component is uninstalled. | ||
90 | The default is 'no'. | ||
91 | </xs:documentation> | ||
92 | </xs:annotation> | ||
93 | </xs:attribute> | ||
94 | <xs:attribute name="Target" type="xs:string"> | ||
95 | <xs:annotation> | ||
96 | <xs:documentation> | ||
97 | Specifies the SKU of Visual Studio in which to register the extension. If no target | ||
98 | is specified the extension is registered with all installed SKUs. If the Target | ||
99 | attribute is specified the TargetVersion attribute must also be specified. The | ||
100 | following is a list of known Visual Studio targets: integratedShell, professional, | ||
101 | premium, ultimate, vbExpress, vcExpress, vcsExpress, vwdExpress | ||
102 | </xs:documentation> | ||
103 | </xs:annotation> | ||
104 | </xs:attribute> | ||
105 | <xs:attribute name="TargetVersion" type="wxs:VersionType"> | ||
106 | <xs:annotation> | ||
107 | <xs:documentation> | ||
108 | Specifies the version of Visual Studio in which to register the extension. This attribute | ||
109 | is required if the Target attribute is specified. | ||
110 | </xs:documentation> | ||
111 | </xs:annotation> | ||
112 | </xs:attribute> | ||
113 | <xs:attribute name="Vital" type="wxs:YesNoTypeUnion"> | ||
114 | <xs:annotation> | ||
115 | <xs:documentation> | ||
116 | Indicates whether failure to install the VSIX package causes the installation to rollback. | ||
117 | The default is 'yes'. | ||
118 | </xs:documentation> | ||
119 | </xs:annotation> | ||
120 | </xs:attribute> | ||
121 | <xs:attribute name="VsixInstallerPathProperty" type="xs:string"> | ||
122 | <xs:annotation> | ||
123 | <xs:documentation> | ||
124 | Optional reference to a Property element that contains the path to the VsixInstaller.exe. | ||
125 | By default, the latest VsixInstaller.exe on the machine will be used to install the VSIX | ||
126 | package. It is highly recommended that this attribute is *not* used. | ||
127 | </xs:documentation> | ||
128 | </xs:annotation> | ||
129 | </xs:attribute> | ||
130 | <xs:anyAttribute namespace="##other" processContents="lax"> | ||
131 | <xs:annotation> | ||
132 | <xs:documentation> | ||
133 | Extensibility point in the WiX XML Schema. Schema extensions can register additional | ||
134 | attributes at this point in the schema. | ||
135 | </xs:documentation> | ||
136 | </xs:annotation> | ||
137 | </xs:anyAttribute> | ||
138 | </xs:complexType> | ||
139 | </xs:element> | ||
140 | </xs:schema> | ||