aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/wixext/BalCompiler.cs65
-rw-r--r--src/wixext/bal.xsd29
-rw-r--r--src/wixlib/NetFx451AsPrereq.wxs34
-rw-r--r--src/wixlib/NetFx452AsPrereq.wxs34
-rw-r--r--src/wixlib/NetFx45AsPrereq.wxs34
-rw-r--r--src/wixlib/NetFx461AsPrereq.wxs34
-rw-r--r--src/wixlib/NetFx462AsPrereq.wxs34
-rw-r--r--src/wixlib/NetFx46AsPrereq.wxs34
-rw-r--r--src/wixlib/NetFx4AsPrereq.wxs71
-rw-r--r--src/wixlib/bal.wixproj7
10 files changed, 94 insertions, 282 deletions
diff --git a/src/wixext/BalCompiler.cs b/src/wixext/BalCompiler.cs
index c291d41f..da32234c 100644
--- a/src/wixext/BalCompiler.cs
+++ b/src/wixext/BalCompiler.cs
@@ -46,6 +46,9 @@ namespace WixToolset.Bal
46 case "Condition": 46 case "Condition":
47 this.ParseConditionElement(intermediate, section, element); 47 this.ParseConditionElement(intermediate, section, element);
48 break; 48 break;
49 case "ManagedBootstrapperApplicationPrereqInformation":
50 this.ParseMbaPrereqInfoElement(intermediate, section, element);
51 break;
49 default: 52 default:
50 this.ParseHelper.UnexpectedElement(parentElement, element); 53 this.ParseHelper.UnexpectedElement(parentElement, element);
51 break; 54 break;
@@ -293,6 +296,68 @@ namespace WixToolset.Bal
293 } 296 }
294 297
295 /// <summary> 298 /// <summary>
299 /// Parses a Condition element for Bundles.
300 /// </summary>
301 /// <param name="node">The element to parse.</param>
302 private void ParseMbaPrereqInfoElement(Intermediate intermediate, IntermediateSection section, XElement node)
303 {
304 var sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(node);
305 string packageId = null;
306 string licenseFile = null;
307 string licenseUrl = null;
308
309 foreach (var attrib in node.Attributes())
310 {
311 if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || this.Namespace == attrib.Name.Namespace)
312 {
313 switch (attrib.Name.LocalName)
314 {
315 case "LicenseFile":
316 licenseFile = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib);
317 break;
318 case "LicenseUrl":
319 licenseUrl = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib);
320 break;
321 case "PackageId":
322 packageId = this.ParseHelper.GetAttributeIdentifierValue(sourceLineNumbers, attrib);
323 break;
324 default:
325 this.ParseHelper.UnexpectedAttribute(node, attrib);
326 break;
327 }
328 }
329 else
330 {
331 this.ParseHelper.ParseExtensionAttribute(this.Context.Extensions, intermediate, section, node, attrib);
332 }
333 }
334
335 this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, node);
336
337 if (null == packageId)
338 {
339 this.Messaging.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "PackageId"));
340 }
341
342 if (null == licenseFile && null == licenseUrl ||
343 null != licenseFile && null != licenseUrl)
344 {
345 this.Messaging.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "LicenseFile", "LicenseUrl", true));
346 }
347
348 if (!this.Messaging.EncounteredError)
349 {
350 section.AddTuple(new WixMbaPrereqInformationTuple(sourceLineNumbers)
351 {
352 PackageId = packageId,
353 LicenseFile = licenseFile,
354 LicenseUrl = licenseUrl,
355 });
356 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, TupleDefinitions.WixBundlePackage, packageId);
357 }
358 }
359
360 /// <summary>
296 /// Parses a WixStandardBootstrapperApplication element for Bundles. 361 /// Parses a WixStandardBootstrapperApplication element for Bundles.
297 /// </summary> 362 /// </summary>
298 /// <param name="node">The element to parse.</param> 363 /// <param name="node">The element to parse.</param>
diff --git a/src/wixext/bal.xsd b/src/wixext/bal.xsd
index 73f10540..3081a279 100644
--- a/src/wixext/bal.xsd
+++ b/src/wixext/bal.xsd
@@ -186,6 +186,35 @@
186 </xs:complexType> 186 </xs:complexType>
187 </xs:element> 187 </xs:element>
188 188
189 <xs:element name="ManagedBootstrapperApplicationPrereqInformation">
190 <xs:annotation>
191 <xs:documentation>
192 Adds license information for a prereq package, should only be used when unable to add the license attributes to the package directly.
193 </xs:documentation>
194 <xs:appinfo>
195 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Bundle" />
196 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Fragment" />
197 </xs:appinfo>
198 </xs:annotation>
199 <xs:complexType>
200 <xs:attribute name="PackageId" type="xs:string" use="required">
201 <xs:annotation>
202 <xs:documentation>Id of the target package.</xs:documentation>
203 </xs:annotation>
204 </xs:attribute>
205 <xs:attribute name="LicenseFile" type="xs:string">
206 <xs:annotation>
207 <xs:documentation>Source file of the license. May not be used with LicenseUrl.</xs:documentation>
208 </xs:annotation>
209 </xs:attribute>
210 <xs:attribute name="LicenseUrl" type="xs:string">
211 <xs:annotation>
212 <xs:documentation>Source url of the license. May not be used with LicenseFile.</xs:documentation>
213 </xs:annotation>
214 </xs:attribute>
215 </xs:complexType>
216 </xs:element>
217
189 <xs:attribute name="BAFunctions" type="YesNoType"> 218 <xs:attribute name="BAFunctions" type="YesNoType">
190 <xs:annotation> 219 <xs:annotation>
191 <xs:documentation> 220 <xs:documentation>
diff --git a/src/wixlib/NetFx451AsPrereq.wxs b/src/wixlib/NetFx451AsPrereq.wxs
deleted file mode 100644
index 67c05b05..00000000
--- a/src/wixlib/NetFx451AsPrereq.wxs
+++ /dev/null
@@ -1,34 +0,0 @@
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<Wix xmlns='http://wixtoolset.org/schemas/v4/wxs'>
6 <?define NetFx451EulaLink = http://wixtoolset.org/licenses/netfx451 ?>
7 <?define NetFx451WebId = NetFx451Web ?>
8 <Fragment>
9 <PackageGroup Id="$(var.NetFx451WebId)AsPrereq">
10 <PackageGroupRef Id="$(var.NetFx451WebId)" />
11 </PackageGroup>
12
13 <CustomTable Id='WixMbaPrereqInformation'>
14 <Row>
15 <Data Column='PackageId'>$(var.NetFx451WebId)</Data>
16 <Data Column='LicenseUrl'>$(var.NetFx451EulaLink)</Data>
17 </Row>
18 </CustomTable>
19 </Fragment>
20
21 <?define NetFx451RedistId = NetFx451Redist ?>
22 <Fragment>
23 <PackageGroup Id="$(var.NetFx451RedistId)AsPrereq">
24 <PackageGroupRef Id="$(var.NetFx451RedistId)" />
25 </PackageGroup>
26
27 <CustomTable Id='WixMbaPrereqInformation'>
28 <Row>
29 <Data Column='PackageId'>$(var.NetFx451RedistId)</Data>
30 <Data Column='LicenseUrl'>$(var.NetFx451EulaLink)</Data>
31 </Row>
32 </CustomTable>
33 </Fragment>
34</Wix>
diff --git a/src/wixlib/NetFx452AsPrereq.wxs b/src/wixlib/NetFx452AsPrereq.wxs
deleted file mode 100644
index b41a9986..00000000
--- a/src/wixlib/NetFx452AsPrereq.wxs
+++ /dev/null
@@ -1,34 +0,0 @@
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<Wix xmlns='http://wixtoolset.org/schemas/v4/wxs'>
6 <?define NetFx452EulaLink = http://wixtoolset.org/licenses/netfx452 ?>
7 <?define NetFx452WebId = NetFx452Web ?>
8 <Fragment>
9 <PackageGroup Id="$(var.NetFx452WebId)AsPrereq">
10 <PackageGroupRef Id="$(var.NetFx452WebId)" />
11 </PackageGroup>
12
13 <CustomTable Id='WixMbaPrereqInformation'>
14 <Row>
15 <Data Column='PackageId'>$(var.NetFx452WebId)</Data>
16 <Data Column='LicenseUrl'>$(var.NetFx452EulaLink)</Data>
17 </Row>
18 </CustomTable>
19 </Fragment>
20
21 <?define NetFx452RedistId = NetFx452Redist ?>
22 <Fragment>
23 <PackageGroup Id="$(var.NetFx452RedistId)AsPrereq">
24 <PackageGroupRef Id="$(var.NetFx452RedistId)" />
25 </PackageGroup>
26
27 <CustomTable Id='WixMbaPrereqInformation'>
28 <Row>
29 <Data Column='PackageId'>$(var.NetFx452RedistId)</Data>
30 <Data Column='LicenseUrl'>$(var.NetFx452EulaLink)</Data>
31 </Row>
32 </CustomTable>
33 </Fragment>
34</Wix>
diff --git a/src/wixlib/NetFx45AsPrereq.wxs b/src/wixlib/NetFx45AsPrereq.wxs
deleted file mode 100644
index b95fc8a4..00000000
--- a/src/wixlib/NetFx45AsPrereq.wxs
+++ /dev/null
@@ -1,34 +0,0 @@
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<Wix xmlns='http://wixtoolset.org/schemas/v4/wxs'>
6 <?define NetFx45EulaLink = http://go.microsoft.com/fwlink/?LinkID=260867 ?>
7 <?define NetFx45WebId = NetFx45Web ?>
8 <Fragment>
9 <PackageGroup Id="$(var.NetFx45WebId)AsPrereq">
10 <PackageGroupRef Id="$(var.NetFx45WebId)" />
11 </PackageGroup>
12
13 <CustomTable Id='WixMbaPrereqInformation'>
14 <Row>
15 <Data Column='PackageId'>$(var.NetFx45WebId)</Data>
16 <Data Column='LicenseUrl'>$(var.NetFx45EulaLink)</Data>
17 </Row>
18 </CustomTable>
19 </Fragment>
20
21 <?define NetFx45RedistId = NetFx45Redist ?>
22 <Fragment>
23 <PackageGroup Id="$(var.NetFx45RedistId)AsPrereq">
24 <PackageGroupRef Id="$(var.NetFx45RedistId)" />
25 </PackageGroup>
26
27 <CustomTable Id='WixMbaPrereqInformation'>
28 <Row>
29 <Data Column='PackageId'>$(var.NetFx45RedistId)</Data>
30 <Data Column='LicenseUrl'>$(var.NetFx45EulaLink)</Data>
31 </Row>
32 </CustomTable>
33 </Fragment>
34</Wix>
diff --git a/src/wixlib/NetFx461AsPrereq.wxs b/src/wixlib/NetFx461AsPrereq.wxs
deleted file mode 100644
index d6b24b43..00000000
--- a/src/wixlib/NetFx461AsPrereq.wxs
+++ /dev/null
@@ -1,34 +0,0 @@
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<Wix xmlns='http://wixtoolset.org/schemas/v4/wxs'>
6 <?define NetFx461EulaLink = http://referencesource.microsoft.com/license.html ?>
7 <?define NetFx461WebId = NetFx461Web ?>
8 <Fragment>
9 <PackageGroup Id="$(var.NetFx461WebId)AsPrereq">
10 <PackageGroupRef Id="$(var.NetFx461WebId)" />
11 </PackageGroup>
12
13 <CustomTable Id='WixMbaPrereqInformation'>
14 <Row>
15 <Data Column='PackageId'>$(var.NetFx461WebId)</Data>
16 <Data Column='LicenseUrl'>$(var.NetFx461EulaLink)</Data>
17 </Row>
18 </CustomTable>
19 </Fragment>
20
21 <?define NetFx461RedistId = NetFx461Redist ?>
22 <Fragment>
23 <PackageGroup Id="$(var.NetFx461RedistId)AsPrereq">
24 <PackageGroupRef Id="$(var.NetFx461RedistId)" />
25 </PackageGroup>
26
27 <CustomTable Id='WixMbaPrereqInformation'>
28 <Row>
29 <Data Column='PackageId'>$(var.NetFx461RedistId)</Data>
30 <Data Column='LicenseUrl'>$(var.NetFx461EulaLink)</Data>
31 </Row>
32 </CustomTable>
33 </Fragment>
34</Wix>
diff --git a/src/wixlib/NetFx462AsPrereq.wxs b/src/wixlib/NetFx462AsPrereq.wxs
deleted file mode 100644
index e6f6889a..00000000
--- a/src/wixlib/NetFx462AsPrereq.wxs
+++ /dev/null
@@ -1,34 +0,0 @@
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<Wix xmlns='http://wixtoolset.org/schemas/v4/wxs'>
6 <?define NetFx462EulaLink = http://referencesource.microsoft.com/license.html ?>
7 <?define NetFx462WebId = NetFx462Web ?>
8 <Fragment>
9 <PackageGroup Id="$(var.NetFx462WebId)AsPrereq">
10 <PackageGroupRef Id="$(var.NetFx462WebId)" />
11 </PackageGroup>
12
13 <CustomTable Id='WixMbaPrereqInformation'>
14 <Row>
15 <Data Column='PackageId'>$(var.NetFx462WebId)</Data>
16 <Data Column='LicenseUrl'>$(var.NetFx462EulaLink)</Data>
17 </Row>
18 </CustomTable>
19 </Fragment>
20
21 <?define NetFx462RedistId = NetFx462Redist ?>
22 <Fragment>
23 <PackageGroup Id="$(var.NetFx462RedistId)AsPrereq">
24 <PackageGroupRef Id="$(var.NetFx462RedistId)" />
25 </PackageGroup>
26
27 <CustomTable Id='WixMbaPrereqInformation'>
28 <Row>
29 <Data Column='PackageId'>$(var.NetFx462RedistId)</Data>
30 <Data Column='LicenseUrl'>$(var.NetFx462EulaLink)</Data>
31 </Row>
32 </CustomTable>
33 </Fragment>
34</Wix>
diff --git a/src/wixlib/NetFx46AsPrereq.wxs b/src/wixlib/NetFx46AsPrereq.wxs
deleted file mode 100644
index 52880022..00000000
--- a/src/wixlib/NetFx46AsPrereq.wxs
+++ /dev/null
@@ -1,34 +0,0 @@
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<Wix xmlns='http://wixtoolset.org/schemas/v4/wxs'>
6 <?define NetFx46EulaLink = http://go.microsoft.com/fwlink/?LinkID=558772 ?>
7 <?define NetFx46WebId = NetFx46Web ?>
8 <Fragment>
9 <PackageGroup Id="$(var.NetFx46WebId)AsPrereq">
10 <PackageGroupRef Id="$(var.NetFx46WebId)" />
11 </PackageGroup>
12
13 <CustomTable Id='WixMbaPrereqInformation'>
14 <Row>
15 <Data Column='PackageId'>$(var.NetFx46WebId)</Data>
16 <Data Column='LicenseUrl'>$(var.NetFx46EulaLink)</Data>
17 </Row>
18 </CustomTable>
19 </Fragment>
20
21 <?define NetFx46RedistId = NetFx46Redist ?>
22 <Fragment>
23 <PackageGroup Id="$(var.NetFx46RedistId)AsPrereq">
24 <PackageGroupRef Id="$(var.NetFx46RedistId)" />
25 </PackageGroup>
26
27 <CustomTable Id='WixMbaPrereqInformation'>
28 <Row>
29 <Data Column='PackageId'>$(var.NetFx46RedistId)</Data>
30 <Data Column='LicenseUrl'>$(var.NetFx46EulaLink)</Data>
31 </Row>
32 </CustomTable>
33 </Fragment>
34</Wix>
diff --git a/src/wixlib/NetFx4AsPrereq.wxs b/src/wixlib/NetFx4AsPrereq.wxs
deleted file mode 100644
index 9b7437e5..00000000
--- a/src/wixlib/NetFx4AsPrereq.wxs
+++ /dev/null
@@ -1,71 +0,0 @@
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<Wix xmlns='http://wixtoolset.org/schemas/v4/wxs'>
6 <?define NetFx40EulaLink = http://go.microsoft.com/fwlink/?LinkID=188993 ?>
7 <?define NetFx40WebId = NetFx40Web ?>
8 <Fragment>
9 <PackageGroup Id="$(var.NetFx40WebId)AsPrereq">
10 <PackageGroupRef Id="$(var.NetFx40WebId)" />
11 </PackageGroup>
12
13 <CustomTable Id='WixMbaPrereqInformation'>
14 <Row>
15 <Data Column='PackageId'>$(var.NetFx40WebId)</Data>
16 <Data Column='LicenseUrl'>$(var.NetFx40EulaLink)</Data>
17 </Row>
18 </CustomTable>
19 </Fragment>
20
21 <?define NetFx40RedistId = NetFx40Redist ?>
22 <Fragment>
23 <PackageGroup Id="$(var.NetFx40RedistId)AsPrereq">
24 <PackageGroupRef Id="$(var.NetFx40RedistId)" />
25 </PackageGroup>
26
27 <CustomTable Id='WixMbaPrereqInformation'>
28 <Row>
29 <Data Column='PackageId'>$(var.NetFx40RedistId)</Data>
30 <Data Column='LicenseUrl'>$(var.NetFx40EulaLink)</Data>
31 </Row>
32 </CustomTable>
33 </Fragment>
34
35 <?define NetFx40ClientWebId = NetFx40ClientWeb ?>
36 <Fragment>
37 <PackageGroup Id="$(var.NetFx40ClientWebId)AsPrereq">
38 <PackageGroupRef Id="$(var.NetFx40ClientWebId)" />
39 </PackageGroup>
40
41 <CustomTable Id='WixMbaPrereqInformation'>
42 <Row>
43 <Data Column='PackageId'>$(var.NetFx40ClientWebId)</Data>
44 <Data Column='LicenseUrl'>$(var.NetFx40EulaLink)</Data>
45 </Row>
46 </CustomTable>
47 </Fragment>
48
49 <?define NetFx40ClientRedistId = NetFx40ClientRedist ?>
50 <Fragment>
51 <PackageGroup Id="$(var.NetFx40ClientRedistId)AsPrereq">
52 <PackageGroupRef Id="$(var.NetFx40ClientRedistId)" />
53 </PackageGroup>
54
55 <CustomTable Id='WixMbaPrereqInformation'>
56 <Row>
57 <Data Column='PackageId'>$(var.NetFx40ClientRedistId)</Data>
58 <Data Column='LicenseUrl'>$(var.NetFx40EulaLink)</Data>
59 </Row>
60 </CustomTable>
61 </Fragment>
62
63 <!-- Not sure why we have to redefine the table here. -->
64 <Fragment>
65 <CustomTable Id='WixMbaPrereqInformation' Unreal='yes'>
66 <Column Id='PackageId' Category='Identifier' Type='string' Width='72' PrimaryKey ='yes'/>
67 <Column Id='LicenseUrl' Category='Formatted' Type='string' Width='0' Nullable='yes'/>
68 <Column Id='LicenseFile' Category='Formatted' Type='string' Width='0' Nullable='yes'/>
69 </CustomTable>
70 </Fragment>
71</Wix>
diff --git a/src/wixlib/bal.wixproj b/src/wixlib/bal.wixproj
index 51268803..c33375fe 100644
--- a/src/wixlib/bal.wixproj
+++ b/src/wixlib/bal.wixproj
@@ -15,13 +15,6 @@
15 <ItemGroup> 15 <ItemGroup>
16 <Compile Include="BalExtension.wxs" /> 16 <Compile Include="BalExtension.wxs" />
17 <Compile Include="Mba.wxs" /> 17 <Compile Include="Mba.wxs" />
18 <Compile Include="NetFx4AsPrereq.wxs" />
19 <Compile Include="NetFx45AsPrereq.wxs" />
20 <Compile Include="NetFx451AsPrereq.wxs" />
21 <Compile Include="NetFx452AsPrereq.wxs" />
22 <Compile Include="NetFx46AsPrereq.wxs" />
23 <Compile Include="NetFx461AsPrereq.wxs" />
24 <Compile Include="NetFx462AsPrereq.wxs" />
25 <Compile Include="wixstdba.wxs" /> 18 <Compile Include="wixstdba.wxs" />
26 <Compile Include="wixstdba_x86.wxs" /> 19 <Compile Include="wixstdba_x86.wxs" />
27 </ItemGroup> 20 </ItemGroup>