aboutsummaryrefslogtreecommitdiff
path: root/src/xsd/vs.xsd
diff options
context:
space:
mode:
Diffstat (limited to 'src/xsd/vs.xsd')
-rw-r--r--src/xsd/vs.xsd140
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>