diff options
author | Rob Mensching <rob@firegiant.com> | 2025-02-14 12:53:59 -0800 |
---|---|---|
committer | Rob Mensching <rob@firegiant.com> | 2025-03-18 15:55:06 -0700 |
commit | 777b28beb32b2013e9feb77a9a18af397265f4ba (patch) | |
tree | a4700ebafdb4ad80be301a6814a490e7b189b202 /src/xsd/vs.xsd | |
parent | 1f48dfeb5bc15bb9d3e90ac6b236dbff77819561 (diff) | |
download | wix-777b28beb32b2013e9feb77a9a18af397265f4ba.tar.gz wix-777b28beb32b2013e9feb77a9a18af397265f4ba.tar.bz2 wix-777b28beb32b2013e9feb77a9a18af397265f4ba.zip |
Migrate XSDs from web project
This is the new home for the XSDs. Closer to the code to hopefully be kept
better up to date as changes happen to the language.
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> | ||