aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2020-12-08 23:03:30 -0600
committerSean Hall <r.sean.hall@gmail.com>2020-12-09 13:33:18 -0600
commit70e370b4494a87cbbe234130882cad4a1021f82a (patch)
tree62966467e371f884bd987d539f840242f9245c61 /src
parentc52a40fc649b0aebb673cced64a2773aa2425e2d (diff)
downloadwix-70e370b4494a87cbbe234130882cad4a1021f82a.tar.gz
wix-70e370b4494a87cbbe234130882cad4a1021f82a.tar.bz2
wix-70e370b4494a87cbbe234130882cad4a1021f82a.zip
Require the custom BA elements to reference built-in BAs.
Diffstat (limited to 'src')
-rw-r--r--src/test/WixToolsetTest.Bal/TestData/MBA/Bundle.wxs6
-rw-r--r--src/test/WixToolsetTest.Bal/TestData/Overridable/Bundle.wxs8
-rw-r--r--src/test/WixToolsetTest.Bal/TestData/WixStdBa/Bundle.wxs8
-rw-r--r--src/test/WixToolsetTest.Bal/TestData/WixStdBa/DisplayInternalUIConditionBundle.wxs8
-rw-r--r--src/test/examples/EarliestCoreBundleFDD/FrameworkDependentBundle.wxs21
-rw-r--r--src/test/examples/EarliestCoreBundleSCD/SelfContainedBundle.wxs10
-rw-r--r--src/test/examples/EarliestCoreBundleTrimmedSCD/TrimmedSelfContainedBundle.wxs10
-rw-r--r--src/test/examples/FullFramework2Bundle/Bundle.wxs9
-rw-r--r--src/test/examples/FullFramework4Bundle/Bundle.wxs9
-rw-r--r--src/test/examples/LatestCoreBundleFDD/FrameworkDependentBundle.wxs21
-rw-r--r--src/test/examples/LatestCoreBundleSCD/SelfContainedBundle.wxs10
-rw-r--r--src/test/examples/LatestCoreBundleTrimmedSCD/TrimmedSelfContainedBundle.wxs10
-rw-r--r--src/test/examples/WPFCoreBundleFDD/FrameworkDependentBundle.wxs21
-rw-r--r--src/wixext/BalBurnBackendExtension.cs4
-rw-r--r--src/wixext/BalCompiler.cs180
-rw-r--r--src/wixlib/BalExtension_platform.wxi25
-rw-r--r--src/wixlib/BalExtension_x86.wxs (renamed from src/wixlib/wixstdba_x86.wxs)2
-rw-r--r--src/wixlib/Dnc.wxs51
-rw-r--r--src/wixlib/Mba.wxs98
-rw-r--r--src/wixlib/caDecor.wxi39
-rw-r--r--src/wixlib/caSuffix.wxi27
-rw-r--r--src/wixlib/wixstdba_platform.wxi47
22 files changed, 348 insertions, 276 deletions
diff --git a/src/test/WixToolsetTest.Bal/TestData/MBA/Bundle.wxs b/src/test/WixToolsetTest.Bal/TestData/MBA/Bundle.wxs
index e6f1d566..1b72c725 100644
--- a/src/test/WixToolsetTest.Bal/TestData/MBA/Bundle.wxs
+++ b/src/test/WixToolsetTest.Bal/TestData/MBA/Bundle.wxs
@@ -1,8 +1,10 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" 2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
3 xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal"> 3 xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal">
4 <Bundle Name="WixStdBa" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="75D5D534-E177-4689-AAE9-CAC1C39002C2"> 4 <Bundle Name="WixStdBa" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="75D5D534-E177-4689-AAE9-CAC1C39002C2">
5 <BootstrapperApplicationRef Id="ManagedBootstrapperApplicationHost" /> 5 <BootstrapperApplication>
6 <bal:WixManagedBootstrapperApplicationHost />
7 </BootstrapperApplication>
6 <Chain> 8 <Chain>
7 <ExePackage SourceFile="runtimes\win-x86\native\wixnative.exe" /> 9 <ExePackage SourceFile="runtimes\win-x86\native\wixnative.exe" />
8 </Chain> 10 </Chain>
diff --git a/src/test/WixToolsetTest.Bal/TestData/Overridable/Bundle.wxs b/src/test/WixToolsetTest.Bal/TestData/Overridable/Bundle.wxs
index 3ac3df60..5072b813 100644
--- a/src/test/WixToolsetTest.Bal/TestData/Overridable/Bundle.wxs
+++ b/src/test/WixToolsetTest.Bal/TestData/Overridable/Bundle.wxs
@@ -1,10 +1,10 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" 2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
3 xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal"> 3 xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal">
4 <Bundle Name="WixStdBa" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="75D5D534-E177-4689-AAE9-CAC1C39002C2"> 4 <Bundle Name="WixStdBa" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="75D5D534-E177-4689-AAE9-CAC1C39002C2">
5 <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense"> 5 <BootstrapperApplication>
6 <bal:WixStandardBootstrapperApplication LicenseUrl="http://wixtoolset.org/about/license/" /> 6 <bal:WixStandardBootstrapperApplication LicenseUrl="http://wixtoolset.org/about/license/" Theme="hyperlinkLicense" />
7 </BootstrapperApplicationRef> 7 </BootstrapperApplication>
8 <Variable Name="Test1" bal:Overridable="yes" /> 8 <Variable Name="Test1" bal:Overridable="yes" />
9 <Chain> 9 <Chain>
10 <ExePackage SourceFile="runtimes\win-x86\native\wixnative.exe" /> 10 <ExePackage SourceFile="runtimes\win-x86\native\wixnative.exe" />
diff --git a/src/test/WixToolsetTest.Bal/TestData/WixStdBa/Bundle.wxs b/src/test/WixToolsetTest.Bal/TestData/WixStdBa/Bundle.wxs
index 82b0434d..3ba305b5 100644
--- a/src/test/WixToolsetTest.Bal/TestData/WixStdBa/Bundle.wxs
+++ b/src/test/WixToolsetTest.Bal/TestData/WixStdBa/Bundle.wxs
@@ -1,10 +1,10 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" 2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
3 xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal"> 3 xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal">
4 <Bundle Name="WixStdBa" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="75D5D534-E177-4689-AAE9-CAC1C39002C2"> 4 <Bundle Name="WixStdBa" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="75D5D534-E177-4689-AAE9-CAC1C39002C2">
5 <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense"> 5 <BootstrapperApplication>
6 <bal:WixStandardBootstrapperApplication LicenseUrl="http://wixtoolset.org/about/license/" /> 6 <bal:WixStandardBootstrapperApplication LicenseUrl="http://wixtoolset.org/about/license/" Theme="hyperlinkLicense" />
7 </BootstrapperApplicationRef> 7 </BootstrapperApplication>
8 <Chain> 8 <Chain>
9 <ExePackage SourceFile="runtimes\win-x86\native\wixnative.exe" /> 9 <ExePackage SourceFile="runtimes\win-x86\native\wixnative.exe" />
10 </Chain> 10 </Chain>
diff --git a/src/test/WixToolsetTest.Bal/TestData/WixStdBa/DisplayInternalUIConditionBundle.wxs b/src/test/WixToolsetTest.Bal/TestData/WixStdBa/DisplayInternalUIConditionBundle.wxs
index 438fc23e..f08cfe6a 100644
--- a/src/test/WixToolsetTest.Bal/TestData/WixStdBa/DisplayInternalUIConditionBundle.wxs
+++ b/src/test/WixToolsetTest.Bal/TestData/WixStdBa/DisplayInternalUIConditionBundle.wxs
@@ -1,10 +1,10 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" 2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
3 xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal"> 3 xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal">
4 <Bundle Name="WixStdBa" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="75D5D534-E177-4689-AAE9-CAC1C39002C2"> 4 <Bundle Name="WixStdBa" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="75D5D534-E177-4689-AAE9-CAC1C39002C2">
5 <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense"> 5 <BootstrapperApplication>
6 <bal:WixStandardBootstrapperApplication LicenseUrl="http://wixtoolset.org/about/license/" /> 6 <bal:WixStandardBootstrapperApplication LicenseUrl="http://wixtoolset.org/about/license/" Theme="hyperlinkLicense" />
7 </BootstrapperApplicationRef> 7 </BootstrapperApplication>
8 <Chain> 8 <Chain>
9 <MsiPackage SourceFile="test.msi" bal:DisplayInternalUICondition="1" /> 9 <MsiPackage SourceFile="test.msi" bal:DisplayInternalUICondition="1" />
10 </Chain> 10 </Chain>
diff --git a/src/test/examples/EarliestCoreBundleFDD/FrameworkDependentBundle.wxs b/src/test/examples/EarliestCoreBundleFDD/FrameworkDependentBundle.wxs
index 5cec494d..2bea6d38 100644
--- a/src/test/examples/EarliestCoreBundleFDD/FrameworkDependentBundle.wxs
+++ b/src/test/examples/EarliestCoreBundleFDD/FrameworkDependentBundle.wxs
@@ -1,15 +1,14 @@
1<?xml version="1.0" encoding="utf-8"?> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal">
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
3 xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal">
4 <Bundle Name="FDDEarliestCoreMBA" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="5CE5B5C7-4B6B-4B95-B297-731F1F956533"> 2 <Bundle Name="FDDEarliestCoreMBA" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="5CE5B5C7-4B6B-4B95-B297-731F1F956533">
5 <BootstrapperApplicationRef Id="DotNetCoreBootstrapperApplicationHost"> 3 <BootstrapperApplication>
6 <Payload SourceFile='publish\Example.EarliestCoreMBA\fdd\Example.EarliestCoreMBA.deps.json' Name='Example.EarliestCoreMBA.deps.json' /> 4 <Payload SourceFile="publish\Example.EarliestCoreMBA\fdd\Example.EarliestCoreMBA.deps.json" Name="Example.EarliestCoreMBA.deps.json" />
7 <Payload SourceFile='publish\Example.EarliestCoreMBA\fdd\Example.EarliestCoreMBA.dll' Name='Example.EarliestCoreMBA.dll' bal:BAFactoryAssembly='yes' /> 5 <Payload SourceFile="publish\Example.EarliestCoreMBA\fdd\Example.EarliestCoreMBA.dll" Name="Example.EarliestCoreMBA.dll" bal:BAFactoryAssembly="yes" />
8 <Payload SourceFile='publish\Example.EarliestCoreMBA\fdd\Example.EarliestCoreMBA.pdb' Name='Example.EarliestCoreMBA.pdb' /> 6 <Payload SourceFile="publish\Example.EarliestCoreMBA\fdd\Example.EarliestCoreMBA.pdb" Name="Example.EarliestCoreMBA.pdb" />
9 <Payload SourceFile='publish\Example.EarliestCoreMBA\fdd\Example.EarliestCoreMBA.runtimeconfig.json' Name='Example.EarliestCoreMBA.runtimeconfig.json' /> 7 <Payload SourceFile="publish\Example.EarliestCoreMBA\fdd\Example.EarliestCoreMBA.runtimeconfig.json" Name="Example.EarliestCoreMBA.runtimeconfig.json" />
10 <Payload SourceFile='publish\Example.EarliestCoreMBA\fdd\mbanative.dll' Name='mbanative.dll' /> 8 <Payload SourceFile="publish\Example.EarliestCoreMBA\fdd\mbanative.dll" Name="mbanative.dll" />
11 <Payload SourceFile='publish\Example.EarliestCoreMBA\fdd\WixToolset.Mba.Core.dll' Name='WixToolset.Mba.Core.dll' /> 9 <Payload SourceFile="publish\Example.EarliestCoreMBA\fdd\WixToolset.Mba.Core.dll" Name="WixToolset.Mba.Core.dll" />
12 </BootstrapperApplicationRef> 10 <bal:WixDotNetCoreBootstrapperApplicationHost />
11 </BootstrapperApplication>
13 <Chain> 12 <Chain>
14 <ExePackage SourceFile="c:\windows\system32\kernel32.dll" bal:PrereqPackage="yes" /> 13 <ExePackage SourceFile="c:\windows\system32\kernel32.dll" bal:PrereqPackage="yes" />
15 </Chain> 14 </Chain>
diff --git a/src/test/examples/EarliestCoreBundleSCD/SelfContainedBundle.wxs b/src/test/examples/EarliestCoreBundleSCD/SelfContainedBundle.wxs
index d951ffc6..4e4eb105 100644
--- a/src/test/examples/EarliestCoreBundleSCD/SelfContainedBundle.wxs
+++ b/src/test/examples/EarliestCoreBundleSCD/SelfContainedBundle.wxs
@@ -1,11 +1,9 @@
1<?xml version="1.0" encoding="utf-8"?> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal">
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
3 xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal">
4 <Bundle Name="SCDEarliestCoreMBA" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="5CE5B5C7-4B6B-4B95-B297-731F1F956533"> 2 <Bundle Name="SCDEarliestCoreMBA" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="5CE5B5C7-4B6B-4B95-B297-731F1F956533">
5 <BootstrapperApplicationRef Id="DotNetCoreBootstrapperApplicationHost"> 3 <BootstrapperApplication>
6 <bal:WixDotNetCoreBootstrapperApplication SelfContainedDeployment="yes" /> 4 <bal:WixDotNetCoreBootstrapperApplicationHost SelfContainedDeployment="yes" />
7 <PayloadGroupRef Id="publish.Example.EarliestCoreMBA.scd" /> 5 <PayloadGroupRef Id="publish.Example.EarliestCoreMBA.scd" />
8 </BootstrapperApplicationRef> 6 </BootstrapperApplication>
9 <Chain> 7 <Chain>
10 <ExePackage SourceFile="c:\windows\system32\kernel32.dll" PerMachine="yes" /> 8 <ExePackage SourceFile="c:\windows\system32\kernel32.dll" PerMachine="yes" />
11 </Chain> 9 </Chain>
diff --git a/src/test/examples/EarliestCoreBundleTrimmedSCD/TrimmedSelfContainedBundle.wxs b/src/test/examples/EarliestCoreBundleTrimmedSCD/TrimmedSelfContainedBundle.wxs
index 816524ed..0bcd7755 100644
--- a/src/test/examples/EarliestCoreBundleTrimmedSCD/TrimmedSelfContainedBundle.wxs
+++ b/src/test/examples/EarliestCoreBundleTrimmedSCD/TrimmedSelfContainedBundle.wxs
@@ -1,11 +1,9 @@
1<?xml version="1.0" encoding="utf-8"?> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal">
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
3 xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal">
4 <Bundle Name="TrimmedSCDEarliestCoreMBA" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="5CE5B5C7-4B6B-4B95-B297-731F1F956533"> 2 <Bundle Name="TrimmedSCDEarliestCoreMBA" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="5CE5B5C7-4B6B-4B95-B297-731F1F956533">
5 <BootstrapperApplicationRef Id="DotNetCoreBootstrapperApplicationHost"> 3 <BootstrapperApplication>
6 <bal:WixDotNetCoreBootstrapperApplication SelfContainedDeployment="yes" /> 4 <bal:WixDotNetCoreBootstrapperApplicationHost SelfContainedDeployment="yes" />
7 <PayloadGroupRef Id="publish.Example.EarliestCoreMBA.trimmedscd" /> 5 <PayloadGroupRef Id="publish.Example.EarliestCoreMBA.trimmedscd" />
8 </BootstrapperApplicationRef> 6 </BootstrapperApplication>
9 <Chain> 7 <Chain>
10 <ExePackage SourceFile="c:\windows\system32\kernel32.dll" PerMachine="yes" /> 8 <ExePackage SourceFile="c:\windows\system32\kernel32.dll" PerMachine="yes" />
11 </Chain> 9 </Chain>
diff --git a/src/test/examples/FullFramework2Bundle/Bundle.wxs b/src/test/examples/FullFramework2Bundle/Bundle.wxs
index c95631db..d0acd0e4 100644
--- a/src/test/examples/FullFramework2Bundle/Bundle.wxs
+++ b/src/test/examples/FullFramework2Bundle/Bundle.wxs
@@ -1,13 +1,12 @@
1<?xml version="1.0" encoding="utf-8"?> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal">
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
3 xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal">
4 <Bundle Name="FullFramework2MBA" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="5CE5B5C7-4B6B-4B95-B297-731F1F956533"> 2 <Bundle Name="FullFramework2MBA" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="5CE5B5C7-4B6B-4B95-B297-731F1F956533">
5 <BootstrapperApplicationRef Id="ManagedBootstrapperApplicationHost"> 3 <BootstrapperApplication>
6 <Payload SourceFile="Example.FullFramework2MBA\net20\win-x86\Example.FullFramework2MBA.dll" /> 4 <Payload SourceFile="Example.FullFramework2MBA\net20\win-x86\Example.FullFramework2MBA.dll" />
7 <Payload SourceFile="Example.FullFramework2MBA\net20\win-x86\mbanative.dll" /> 5 <Payload SourceFile="Example.FullFramework2MBA\net20\win-x86\mbanative.dll" />
8 <Payload SourceFile="Example.FullFramework2MBA\net20\win-x86\WixToolset.Mba.Core.dll" /> 6 <Payload SourceFile="Example.FullFramework2MBA\net20\win-x86\WixToolset.Mba.Core.dll" />
9 <Payload SourceFile="Example.FullFramework2MBA\net20\win-x86\WixToolset.Mba.Host.config" /> 7 <Payload SourceFile="Example.FullFramework2MBA\net20\win-x86\WixToolset.Mba.Host.config" />
10 </BootstrapperApplicationRef> 8 <bal:WixManagedBootstrapperApplicationHost />
9 </BootstrapperApplication>
11 <Chain> 10 <Chain>
12 <ExePackage SourceFile="c:\windows\system32\kernel32.dll" bal:PrereqPackage="yes" /> 11 <ExePackage SourceFile="c:\windows\system32\kernel32.dll" bal:PrereqPackage="yes" />
13 </Chain> 12 </Chain>
diff --git a/src/test/examples/FullFramework4Bundle/Bundle.wxs b/src/test/examples/FullFramework4Bundle/Bundle.wxs
index be0be131..8cb5b431 100644
--- a/src/test/examples/FullFramework4Bundle/Bundle.wxs
+++ b/src/test/examples/FullFramework4Bundle/Bundle.wxs
@@ -1,13 +1,12 @@
1<?xml version="1.0" encoding="utf-8"?> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal">
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
3 xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal">
4 <Bundle Name="FullFramework4MBA" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="E08068E0-4FBA-439D-A1C8-4CD1FE27093F"> 2 <Bundle Name="FullFramework4MBA" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="E08068E0-4FBA-439D-A1C8-4CD1FE27093F">
5 <BootstrapperApplicationRef Id="ManagedBootstrapperApplicationHost"> 3 <BootstrapperApplication>
6 <Payload SourceFile="Example.FullFramework4MBA\net48\win-x86\Example.FullFramework4MBA.dll" /> 4 <Payload SourceFile="Example.FullFramework4MBA\net48\win-x86\Example.FullFramework4MBA.dll" />
7 <Payload SourceFile="Example.FullFramework4MBA\net48\win-x86\mbanative.dll" /> 5 <Payload SourceFile="Example.FullFramework4MBA\net48\win-x86\mbanative.dll" />
8 <Payload SourceFile="Example.FullFramework4MBA\net48\win-x86\WixToolset.Mba.Core.dll" /> 6 <Payload SourceFile="Example.FullFramework4MBA\net48\win-x86\WixToolset.Mba.Core.dll" />
9 <Payload SourceFile="Example.FullFramework4MBA\net48\win-x86\WixToolset.Mba.Host.config" /> 7 <Payload SourceFile="Example.FullFramework4MBA\net48\win-x86\WixToolset.Mba.Host.config" />
10 </BootstrapperApplicationRef> 8 <bal:WixManagedBootstrapperApplicationHost />
9 </BootstrapperApplication>
11 <Chain> 10 <Chain>
12 <ExePackage SourceFile="c:\windows\system32\kernel32.dll" bal:PrereqPackage="yes" /> 11 <ExePackage SourceFile="c:\windows\system32\kernel32.dll" bal:PrereqPackage="yes" />
13 </Chain> 12 </Chain>
diff --git a/src/test/examples/LatestCoreBundleFDD/FrameworkDependentBundle.wxs b/src/test/examples/LatestCoreBundleFDD/FrameworkDependentBundle.wxs
index 22fb3d8b..72c576b4 100644
--- a/src/test/examples/LatestCoreBundleFDD/FrameworkDependentBundle.wxs
+++ b/src/test/examples/LatestCoreBundleFDD/FrameworkDependentBundle.wxs
@@ -1,15 +1,14 @@
1<?xml version="1.0" encoding="utf-8"?> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal">
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
3 xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal">
4 <Bundle Name="FDDLatestCoreMBA" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="5CE5B5C7-4B6B-4B95-B297-731F1F956533"> 2 <Bundle Name="FDDLatestCoreMBA" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="5CE5B5C7-4B6B-4B95-B297-731F1F956533">
5 <BootstrapperApplicationRef Id="DotNetCoreBootstrapperApplicationHost"> 3 <BootstrapperApplication>
6 <Payload SourceFile='publish\Example.LatestCoreMBA\fdd\Example.LatestCoreMBA.deps.json' Name='Example.LatestCoreMBA.deps.json' /> 4 <Payload SourceFile="publish\Example.LatestCoreMBA\fdd\Example.LatestCoreMBA.deps.json" Name="Example.LatestCoreMBA.deps.json" />
7 <Payload SourceFile='publish\Example.LatestCoreMBA\fdd\Example.LatestCoreMBA.dll' Name='Example.LatestCoreMBA.dll' bal:BAFactoryAssembly='yes' /> 5 <Payload SourceFile="publish\Example.LatestCoreMBA\fdd\Example.LatestCoreMBA.dll" Name="Example.LatestCoreMBA.dll" bal:BAFactoryAssembly="yes" />
8 <Payload SourceFile='publish\Example.LatestCoreMBA\fdd\Example.LatestCoreMBA.pdb' Name='Example.LatestCoreMBA.pdb' /> 6 <Payload SourceFile="publish\Example.LatestCoreMBA\fdd\Example.LatestCoreMBA.pdb" Name="Example.LatestCoreMBA.pdb" />
9 <Payload SourceFile='publish\Example.LatestCoreMBA\fdd\Example.LatestCoreMBA.runtimeconfig.json' Name='Example.LatestCoreMBA.runtimeconfig.json' /> 7 <Payload SourceFile="publish\Example.LatestCoreMBA\fdd\Example.LatestCoreMBA.runtimeconfig.json" Name="Example.LatestCoreMBA.runtimeconfig.json" />
10 <Payload SourceFile='publish\Example.LatestCoreMBA\fdd\mbanative.dll' Name='mbanative.dll' /> 8 <Payload SourceFile="publish\Example.LatestCoreMBA\fdd\mbanative.dll" Name="mbanative.dll" />
11 <Payload SourceFile='publish\Example.LatestCoreMBA\fdd\WixToolset.Mba.Core.dll' Name='WixToolset.Mba.Core.dll' /> 9 <Payload SourceFile="publish\Example.LatestCoreMBA\fdd\WixToolset.Mba.Core.dll" Name="WixToolset.Mba.Core.dll" />
12 </BootstrapperApplicationRef> 10 <bal:WixDotNetCoreBootstrapperApplicationHost />
11 </BootstrapperApplication>
13 <Chain> 12 <Chain>
14 <ExePackage SourceFile="c:\windows\system32\kernel32.dll" bal:PrereqPackage="yes" /> 13 <ExePackage SourceFile="c:\windows\system32\kernel32.dll" bal:PrereqPackage="yes" />
15 </Chain> 14 </Chain>
diff --git a/src/test/examples/LatestCoreBundleSCD/SelfContainedBundle.wxs b/src/test/examples/LatestCoreBundleSCD/SelfContainedBundle.wxs
index 4b0fe38a..5aa10f01 100644
--- a/src/test/examples/LatestCoreBundleSCD/SelfContainedBundle.wxs
+++ b/src/test/examples/LatestCoreBundleSCD/SelfContainedBundle.wxs
@@ -1,11 +1,9 @@
1<?xml version="1.0" encoding="utf-8"?> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal">
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
3 xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal">
4 <Bundle Name="SCDLatestCoreMBA" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="5CE5B5C7-4B6B-4B95-B297-731F1F956533"> 2 <Bundle Name="SCDLatestCoreMBA" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="5CE5B5C7-4B6B-4B95-B297-731F1F956533">
5 <BootstrapperApplicationRef Id="DotNetCoreBootstrapperApplicationHost"> 3 <BootstrapperApplication>
6 <bal:WixDotNetCoreBootstrapperApplication SelfContainedDeployment="yes" /> 4 <bal:WixDotNetCoreBootstrapperApplicationHost SelfContainedDeployment="yes" />
7 <PayloadGroupRef Id="publish.Example.LatestCoreMBA.scd" /> 5 <PayloadGroupRef Id="publish.Example.LatestCoreMBA.scd" />
8 </BootstrapperApplicationRef> 6 </BootstrapperApplication>
9 <Chain> 7 <Chain>
10 <ExePackage SourceFile="c:\windows\system32\kernel32.dll" PerMachine="yes" /> 8 <ExePackage SourceFile="c:\windows\system32\kernel32.dll" PerMachine="yes" />
11 </Chain> 9 </Chain>
diff --git a/src/test/examples/LatestCoreBundleTrimmedSCD/TrimmedSelfContainedBundle.wxs b/src/test/examples/LatestCoreBundleTrimmedSCD/TrimmedSelfContainedBundle.wxs
index eee87933..a9cf1ac7 100644
--- a/src/test/examples/LatestCoreBundleTrimmedSCD/TrimmedSelfContainedBundle.wxs
+++ b/src/test/examples/LatestCoreBundleTrimmedSCD/TrimmedSelfContainedBundle.wxs
@@ -1,11 +1,9 @@
1<?xml version="1.0" encoding="utf-8"?> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal">
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
3 xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal">
4 <Bundle Name="TrimmedSCDLatestCoreMBA" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="5CE5B5C7-4B6B-4B95-B297-731F1F956533"> 2 <Bundle Name="TrimmedSCDLatestCoreMBA" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="5CE5B5C7-4B6B-4B95-B297-731F1F956533">
5 <BootstrapperApplicationRef Id="DotNetCoreBootstrapperApplicationHost"> 3 <BootstrapperApplication>
6 <bal:WixDotNetCoreBootstrapperApplication SelfContainedDeployment="yes" /> 4 <bal:WixDotNetCoreBootstrapperApplicationHost SelfContainedDeployment="yes" />
7 <PayloadGroupRef Id="publish.Example.LatestCoreMBA.trimmedscd" /> 5 <PayloadGroupRef Id="publish.Example.LatestCoreMBA.trimmedscd" />
8 </BootstrapperApplicationRef> 6 </BootstrapperApplication>
9 <Chain> 7 <Chain>
10 <ExePackage SourceFile="c:\windows\system32\kernel32.dll" PerMachine="yes" /> 8 <ExePackage SourceFile="c:\windows\system32\kernel32.dll" PerMachine="yes" />
11 </Chain> 9 </Chain>
diff --git a/src/test/examples/WPFCoreBundleFDD/FrameworkDependentBundle.wxs b/src/test/examples/WPFCoreBundleFDD/FrameworkDependentBundle.wxs
index ecc5e8c1..266a8ecc 100644
--- a/src/test/examples/WPFCoreBundleFDD/FrameworkDependentBundle.wxs
+++ b/src/test/examples/WPFCoreBundleFDD/FrameworkDependentBundle.wxs
@@ -1,15 +1,14 @@
1<?xml version="1.0" encoding="utf-8"?> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal">
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
3 xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal">
4 <Bundle Name="FDDWPFCoreMBA" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="5CE5B5C7-4B6B-4B95-B297-731F1F956533"> 2 <Bundle Name="FDDWPFCoreMBA" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="5CE5B5C7-4B6B-4B95-B297-731F1F956533">
5 <BootstrapperApplicationRef Id="DotNetCoreBootstrapperApplicationHost"> 3 <BootstrapperApplication>
6 <Payload SourceFile='publish\Example.WPFCoreMBA\fdd\Example.WPFCoreMBA.deps.json' Name='Example.WPFCoreMBA.deps.json' /> 4 <Payload SourceFile="publish\Example.WPFCoreMBA\fdd\Example.WPFCoreMBA.deps.json" Name="Example.WPFCoreMBA.deps.json" />
7 <Payload SourceFile='publish\Example.WPFCoreMBA\fdd\Example.WPFCoreMBA.dll' Name='Example.WPFCoreMBA.dll' bal:BAFactoryAssembly='yes' /> 5 <Payload SourceFile="publish\Example.WPFCoreMBA\fdd\Example.WPFCoreMBA.dll" Name="Example.WPFCoreMBA.dll" bal:BAFactoryAssembly="yes" />
8 <Payload SourceFile='publish\Example.WPFCoreMBA\fdd\Example.WPFCoreMBA.pdb' Name='Example.WPFCoreMBA.pdb' /> 6 <Payload SourceFile="publish\Example.WPFCoreMBA\fdd\Example.WPFCoreMBA.pdb" Name="Example.WPFCoreMBA.pdb" />
9 <Payload SourceFile='publish\Example.WPFCoreMBA\fdd\Example.WPFCoreMBA.runtimeconfig.json' Name='Example.WPFCoreMBA.runtimeconfig.json' /> 7 <Payload SourceFile="publish\Example.WPFCoreMBA\fdd\Example.WPFCoreMBA.runtimeconfig.json" Name="Example.WPFCoreMBA.runtimeconfig.json" />
10 <Payload SourceFile='publish\Example.WPFCoreMBA\fdd\mbanative.dll' Name='mbanative.dll' /> 8 <Payload SourceFile="publish\Example.WPFCoreMBA\fdd\mbanative.dll" Name="mbanative.dll" />
11 <Payload SourceFile='publish\Example.WPFCoreMBA\fdd\WixToolset.Mba.Core.dll' Name='WixToolset.Mba.Core.dll' /> 9 <Payload SourceFile="publish\Example.WPFCoreMBA\fdd\WixToolset.Mba.Core.dll" Name="WixToolset.Mba.Core.dll" />
12 </BootstrapperApplicationRef> 10 <bal:WixDotNetCoreBootstrapperApplicationHost />
11 </BootstrapperApplication>
13 <Chain> 12 <Chain>
14 <ExePackage SourceFile="c:\windows\system32\kernel32.dll" bal:PrereqPackage="yes" /> 13 <ExePackage SourceFile="c:\windows\system32\kernel32.dll" bal:PrereqPackage="yes" />
15 </Chain> 14 </Chain>
diff --git a/src/wixext/BalBurnBackendExtension.cs b/src/wixext/BalBurnBackendExtension.cs
index 3f2cda05..7e481ee9 100644
--- a/src/wixext/BalBurnBackendExtension.cs
+++ b/src/wixext/BalBurnBackendExtension.cs
@@ -42,8 +42,8 @@ namespace WixToolset.Bal
42 } 42 }
43 43
44 var isStdBA = baId.StartsWith("WixStandardBootstrapperApplication"); 44 var isStdBA = baId.StartsWith("WixStandardBootstrapperApplication");
45 var isMBA = baId.StartsWith("ManagedBootstrapperApplicationHost"); 45 var isMBA = baId.StartsWith("WixManagedBootstrapperApplicationHost");
46 var isDNC = baId.StartsWith("DotNetCoreBootstrapperApplicationHost"); 46 var isDNC = baId.StartsWith("WixDotNetCoreBootstrapperApplicationHost");
47 var isSCD = isDNC && this.VerifySCD(section); 47 var isSCD = isDNC && this.VerifySCD(section);
48 48
49 if (isStdBA || isMBA || isDNC) 49 if (isStdBA || isMBA || isDNC)
diff --git a/src/wixext/BalCompiler.cs b/src/wixext/BalCompiler.cs
index 484dd9e4..1629a670 100644
--- a/src/wixext/BalCompiler.cs
+++ b/src/wixext/BalCompiler.cs
@@ -9,6 +9,7 @@ namespace WixToolset.Bal
9 using WixToolset.Data; 9 using WixToolset.Data;
10 using WixToolset.Data.Symbols; 10 using WixToolset.Data.Symbols;
11 using WixToolset.Extensibility; 11 using WixToolset.Extensibility;
12 using WixToolset.Extensibility.Data;
12 13
13 /// <summary> 14 /// <summary>
14 /// The compiler for the WiX Toolset Bal Extension. 15 /// The compiler for the WiX Toolset Bal Extension.
@@ -17,6 +18,31 @@ namespace WixToolset.Bal
17 { 18 {
18 private readonly Dictionary<string, WixMbaPrereqInformationSymbol> prereqInfoSymbolsByPackageId; 19 private readonly Dictionary<string, WixMbaPrereqInformationSymbol> prereqInfoSymbolsByPackageId;
19 20
21 private enum WixDotNetCoreBootstrapperApplicationHostTheme
22 {
23 Unknown,
24 None,
25 Standard,
26 }
27
28 private enum WixManagedBootstrapperApplicationHostTheme
29 {
30 Unknown,
31 None,
32 Standard,
33 }
34
35 private enum WixStandardBootstrapperApplicationTheme
36 {
37 Unknown,
38 HyperlinkLargeLicense,
39 HyperlinkLicense,
40 HyperlinkSidebarLicense,
41 None,
42 RtfLargeLicense,
43 RtfLicense,
44 }
45
20 /// <summary> 46 /// <summary>
21 /// Instantiate a new BalCompiler. 47 /// Instantiate a new BalCompiler.
22 /// </summary> 48 /// </summary>
@@ -54,7 +80,7 @@ namespace WixToolset.Bal
54 break; 80 break;
55 } 81 }
56 break; 82 break;
57 case "BootstrapperApplicationRef": 83 case "BootstrapperApplication":
58 switch (element.Name.LocalName) 84 switch (element.Name.LocalName)
59 { 85 {
60 case "WixStandardBootstrapperApplication": 86 case "WixStandardBootstrapperApplication":
@@ -63,8 +89,8 @@ namespace WixToolset.Bal
63 case "WixManagedBootstrapperApplicationHost": 89 case "WixManagedBootstrapperApplicationHost":
64 this.ParseWixManagedBootstrapperApplicationHostElement(intermediate, section, element); 90 this.ParseWixManagedBootstrapperApplicationHostElement(intermediate, section, element);
65 break; 91 break;
66 case "WixDotNetCoreBootstrapperApplication": 92 case "WixDotNetCoreBootstrapperApplicationHost":
67 this.ParseWixDotNetCoreBootstrapperApplicationElement(intermediate, section, element); 93 this.ParseWixDotNetCoreBootstrapperApplicationHostElement(intermediate, section, element);
68 break; 94 break;
69 default: 95 default:
70 this.ParseHelper.UnexpectedElement(parentElement, element); 96 this.ParseHelper.UnexpectedElement(parentElement, element);
@@ -407,6 +433,7 @@ namespace WixToolset.Bal
407 string licenseUrl = null; 433 string licenseUrl = null;
408 string logoFile = null; 434 string logoFile = null;
409 string logoSideFile = null; 435 string logoSideFile = null;
436 WixStandardBootstrapperApplicationTheme? theme = null;
410 string themeFile = null; 437 string themeFile = null;
411 string localizationFile = null; 438 string localizationFile = null;
412 var suppressOptionsUI = YesNoType.NotSet; 439 var suppressOptionsUI = YesNoType.NotSet;
@@ -469,6 +496,34 @@ namespace WixToolset.Bal
469 case "SupportCacheOnly": 496 case "SupportCacheOnly":
470 supportCacheOnly = this.ParseHelper.GetAttributeYesNoValue(sourceLineNumbers, attrib); 497 supportCacheOnly = this.ParseHelper.GetAttributeYesNoValue(sourceLineNumbers, attrib);
471 break; 498 break;
499 case "Theme":
500 var themeValue = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib);
501 switch (themeValue)
502 {
503 case "hyperlinkLargeLicense":
504 theme = WixStandardBootstrapperApplicationTheme.HyperlinkLargeLicense;
505 break;
506 case "hyperlinkLicense":
507 theme = WixStandardBootstrapperApplicationTheme.HyperlinkLicense;
508 break;
509 case "hyperlinkSidebarLicense":
510 theme = WixStandardBootstrapperApplicationTheme.HyperlinkSidebarLicense;
511 break;
512 case "none":
513 theme = WixStandardBootstrapperApplicationTheme.None;
514 break;
515 case "rtfLargeLicense":
516 theme = WixStandardBootstrapperApplicationTheme.RtfLargeLicense;
517 break;
518 case "rtfLicense":
519 theme = WixStandardBootstrapperApplicationTheme.RtfLicense;
520 break;
521 default:
522 this.Messaging.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, "Theme", themeValue, "hyperlinkLargeLicense", "hyperlinkLicense", "hyperlinkSidebarLicense", "none", "rtfLargeLicense", "rtfLicense"));
523 theme = WixStandardBootstrapperApplicationTheme.Unknown; // set a value to prevent expected attribute error below.
524 break;
525 }
526 break;
472 default: 527 default:
473 this.ParseHelper.UnexpectedAttribute(node, attrib); 528 this.ParseHelper.UnexpectedAttribute(node, attrib);
474 break; 529 break;
@@ -482,13 +537,20 @@ namespace WixToolset.Bal
482 537
483 this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, node); 538 this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, node);
484 539
485 if (String.IsNullOrEmpty(licenseFile) && null == licenseUrl) 540 if (!theme.HasValue)
541 {
542 this.Messaging.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Theme"));
543 }
544
545 if (theme != WixStandardBootstrapperApplicationTheme.None && String.IsNullOrEmpty(licenseFile) && null == licenseUrl)
486 { 546 {
487 this.Messaging.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "LicenseFile", "LicenseUrl", true)); 547 this.Messaging.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "LicenseFile", "LicenseUrl", true));
488 } 548 }
489 549
490 if (!this.Messaging.EncounteredError) 550 if (!this.Messaging.EncounteredError)
491 { 551 {
552 this.CreateBARef(section, sourceLineNumbers, node, "WixStandardBootstrapperApplication");
553
492 if (!String.IsNullOrEmpty(launchTarget)) 554 if (!String.IsNullOrEmpty(launchTarget))
493 { 555 {
494 section.AddSymbol(new WixBundleVariableSymbol(sourceLineNumbers, new Identifier(AccessModifier.Public, "LaunchTarget")) 556 section.AddSymbol(new WixBundleVariableSymbol(sourceLineNumbers, new Identifier(AccessModifier.Public, "LaunchTarget"))
@@ -611,6 +673,31 @@ namespace WixToolset.Bal
611 symbol.SupportCacheOnly = 1; 673 symbol.SupportCacheOnly = 1;
612 } 674 }
613 } 675 }
676
677 string themePayloadGroup = null;
678 switch (theme)
679 {
680 case WixStandardBootstrapperApplicationTheme.HyperlinkLargeLicense:
681 themePayloadGroup = "WixStdbaHyperlinkLargeLicensePayloads";
682 break;
683 case WixStandardBootstrapperApplicationTheme.HyperlinkLicense:
684 themePayloadGroup = "WixStdbaHyperlinkLicensePayloads";
685 break;
686 case WixStandardBootstrapperApplicationTheme.HyperlinkSidebarLicense:
687 themePayloadGroup = "WixStdbaHyperlinkSidebarLicensePayloads";
688 break;
689 case WixStandardBootstrapperApplicationTheme.RtfLargeLicense:
690 themePayloadGroup = "WixStdbaRtfLargeLicensePayloads";
691 break;
692 case WixStandardBootstrapperApplicationTheme.RtfLicense:
693 themePayloadGroup = "WixStdbaRtfLicensePayloads";
694 break;
695 }
696
697 if (themePayloadGroup != null)
698 {
699 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, SymbolDefinitions.WixBundlePayloadGroup, themePayloadGroup);
700 }
614 } 701 }
615 } 702 }
616 703
@@ -624,6 +711,7 @@ namespace WixToolset.Bal
624 string logoFile = null; 711 string logoFile = null;
625 string themeFile = null; 712 string themeFile = null;
626 string localizationFile = null; 713 string localizationFile = null;
714 WixManagedBootstrapperApplicationHostTheme? theme = null;
627 715
628 foreach (var attrib in node.Attributes()) 716 foreach (var attrib in node.Attributes())
629 { 717 {
@@ -640,6 +728,22 @@ namespace WixToolset.Bal
640 case "LocalizationFile": 728 case "LocalizationFile":
641 localizationFile = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib); 729 localizationFile = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib);
642 break; 730 break;
731 case "Theme":
732 var themeValue = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib);
733 switch (themeValue)
734 {
735 case "none":
736 theme = WixManagedBootstrapperApplicationHostTheme.None;
737 break;
738 case "standard":
739 theme = WixManagedBootstrapperApplicationHostTheme.Standard;
740 break;
741 default:
742 this.Messaging.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, "Theme", themeValue, "none", "standard"));
743 theme = WixManagedBootstrapperApplicationHostTheme.Unknown;
744 break;
745 }
746 break;
643 default: 747 default:
644 this.ParseHelper.UnexpectedAttribute(node, attrib); 748 this.ParseHelper.UnexpectedAttribute(node, attrib);
645 break; 749 break;
@@ -655,6 +759,8 @@ namespace WixToolset.Bal
655 759
656 if (!this.Messaging.EncounteredError) 760 if (!this.Messaging.EncounteredError)
657 { 761 {
762 this.CreateBARef(section, sourceLineNumbers, node, "WixManagedBootstrapperApplicationHost");
763
658 if (!String.IsNullOrEmpty(logoFile)) 764 if (!String.IsNullOrEmpty(logoFile))
659 { 765 {
660 section.AddSymbol(new WixVariableSymbol(sourceLineNumbers, new Identifier(AccessModifier.Public, "PreqbaLogo")) 766 section.AddSymbol(new WixVariableSymbol(sourceLineNumbers, new Identifier(AccessModifier.Public, "PreqbaLogo"))
@@ -678,6 +784,19 @@ namespace WixToolset.Bal
678 Value = localizationFile, 784 Value = localizationFile,
679 }); 785 });
680 } 786 }
787
788 string themePayloadGroup = null;
789 switch (theme)
790 {
791 case WixManagedBootstrapperApplicationHostTheme.Standard:
792 themePayloadGroup = "MbaPreqStandardPayloads";
793 break;
794 }
795
796 if (themePayloadGroup != null)
797 {
798 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, SymbolDefinitions.WixBundlePayloadGroup, themePayloadGroup);
799 }
681 } 800 }
682 } 801 }
683 802
@@ -685,13 +804,14 @@ namespace WixToolset.Bal
685 /// Parses a WixDotNetCoreBootstrapperApplication element for Bundles. 804 /// Parses a WixDotNetCoreBootstrapperApplication element for Bundles.
686 /// </summary> 805 /// </summary>
687 /// <param name="node">The element to parse.</param> 806 /// <param name="node">The element to parse.</param>
688 private void ParseWixDotNetCoreBootstrapperApplicationElement(Intermediate intermediate, IntermediateSection section, XElement node) 807 private void ParseWixDotNetCoreBootstrapperApplicationHostElement(Intermediate intermediate, IntermediateSection section, XElement node)
689 { 808 {
690 var sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(node); 809 var sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(node);
691 string logoFile = null; 810 string logoFile = null;
692 string themeFile = null; 811 string themeFile = null;
693 string localizationFile = null; 812 string localizationFile = null;
694 var selfContainedDeployment = YesNoType.NotSet; 813 var selfContainedDeployment = YesNoType.NotSet;
814 WixDotNetCoreBootstrapperApplicationHostTheme? theme = null;
695 815
696 foreach (var attrib in node.Attributes()) 816 foreach (var attrib in node.Attributes())
697 { 817 {
@@ -711,6 +831,22 @@ namespace WixToolset.Bal
711 case "SelfContainedDeployment": 831 case "SelfContainedDeployment":
712 selfContainedDeployment = this.ParseHelper.GetAttributeYesNoValue(sourceLineNumbers, attrib); 832 selfContainedDeployment = this.ParseHelper.GetAttributeYesNoValue(sourceLineNumbers, attrib);
713 break; 833 break;
834 case "Theme":
835 var themeValue = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib);
836 switch (themeValue)
837 {
838 case "none":
839 theme = WixDotNetCoreBootstrapperApplicationHostTheme.None;
840 break;
841 case "standard":
842 theme = WixDotNetCoreBootstrapperApplicationHostTheme.Standard;
843 break;
844 default:
845 this.Messaging.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, "Theme", themeValue, "none", "standard"));
846 theme = WixDotNetCoreBootstrapperApplicationHostTheme.Unknown;
847 break;
848 }
849 break;
714 default: 850 default:
715 this.ParseHelper.UnexpectedAttribute(node, attrib); 851 this.ParseHelper.UnexpectedAttribute(node, attrib);
716 break; 852 break;
@@ -722,10 +858,17 @@ namespace WixToolset.Bal
722 } 858 }
723 } 859 }
724 860
861 if (!theme.HasValue)
862 {
863 theme = WixDotNetCoreBootstrapperApplicationHostTheme.Standard;
864 }
865
725 this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, node); 866 this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, node);
726 867
727 if (!this.Messaging.EncounteredError) 868 if (!this.Messaging.EncounteredError)
728 { 869 {
870 this.CreateBARef(section, sourceLineNumbers, node, "WixDotNetCoreBootstrapperApplicationHost");
871
729 if (!String.IsNullOrEmpty(logoFile)) 872 if (!String.IsNullOrEmpty(logoFile))
730 { 873 {
731 section.AddSymbol(new WixVariableSymbol(sourceLineNumbers, new Identifier(AccessModifier.Public, "DncPreqbaLogo")) 874 section.AddSymbol(new WixVariableSymbol(sourceLineNumbers, new Identifier(AccessModifier.Public, "DncPreqbaLogo"))
@@ -757,6 +900,33 @@ namespace WixToolset.Bal
757 SelfContainedDeployment = 1, 900 SelfContainedDeployment = 1,
758 }); 901 });
759 } 902 }
903
904 string themePayloadGroup = null;
905 switch (theme)
906 {
907 case WixDotNetCoreBootstrapperApplicationHostTheme.Standard:
908 themePayloadGroup = "DncPreqStandardPayloads";
909 break;
910 }
911
912 if (themePayloadGroup != null)
913 {
914 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, SymbolDefinitions.WixBundlePayloadGroup, themePayloadGroup);
915 }
916 }
917 }
918
919 private void CreateBARef(IntermediateSection section, SourceLineNumber sourceLineNumbers, XElement node, string name)
920 {
921 var id = this.ParseHelper.CreateIdentifierValueFromPlatform(name, this.Context.Platform, BurnPlatforms.X86);
922 if (id == null)
923 {
924 this.Messaging.Write(ErrorMessages.UnsupportedPlatformForElement(sourceLineNumbers, this.Context.Platform.ToString(), node.Name.LocalName));
925 }
926
927 if (!this.Messaging.EncounteredError)
928 {
929 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, SymbolDefinitions.WixBootstrapperApplication, id);
760 } 930 }
761 } 931 }
762 } 932 }
diff --git a/src/wixlib/BalExtension_platform.wxi b/src/wixlib/BalExtension_platform.wxi
new file mode 100644
index 00000000..fa7d1182
--- /dev/null
+++ b/src/wixlib/BalExtension_platform.wxi
@@ -0,0 +1,25 @@
1<!-- 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. -->
2
3
4<Include xmlns="http://wixtoolset.org/schemas/v4/wxs">
5 <?include caDecor.wxi ?>
6 <Fragment>
7 <BootstrapperApplication Id="WixDotNetCoreBootstrapperApplicationHost$(var.Suffix)">
8 <BootstrapperApplicationDll SourceFile="!(bindpath.$(var.platform))\dnchost.dll" />
9 <Payload SourceFile="!(bindpath.$(var.platform))\wixstdba.dll" Name="dncpreq.dll" />
10 <PayloadGroupRef Id="WixDotNetCoreBootstrapperApplicationHostManagedPayloads" />
11 </BootstrapperApplication>
12 </Fragment>
13 <Fragment>
14 <BootstrapperApplication Id="WixManagedBootstrapperApplicationHost$(var.Suffix)">
15 <BootstrapperApplicationDll SourceFile="!(bindpath.$(var.platform))\mbahost.dll" />
16 <Payload SourceFile="!(bindpath.$(var.platform))\wixstdba.dll" Name="mbapreq.dll" />
17 <PayloadGroupRef Id="WixManagedBootstrapperApplicationHostManagedPayloads" />
18 </BootstrapperApplication>
19 </Fragment>
20 <Fragment>
21 <BootstrapperApplication Id="WixStandardBootstrapperApplication$(var.Suffix)">
22 <BootstrapperApplicationDll SourceFile="!(bindpath.$(var.platform))\wixstdba.dll" />
23 </BootstrapperApplication>
24 </Fragment>
25</Include>
diff --git a/src/wixlib/wixstdba_x86.wxs b/src/wixlib/BalExtension_x86.wxs
index e3ad07e8..3cdd4015 100644
--- a/src/wixlib/wixstdba_x86.wxs
+++ b/src/wixlib/BalExtension_x86.wxs
@@ -3,5 +3,5 @@
3 3
4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
5 <?define platform=x86 ?> 5 <?define platform=x86 ?>
6 <?include wixstdba_platform.wxi ?> 6 <?include BalExtension_platform.wxi ?>
7</Wix> 7</Wix>
diff --git a/src/wixlib/Dnc.wxs b/src/wixlib/Dnc.wxs
index 9b5dc0ee..d777c473 100644
--- a/src/wixlib/Dnc.wxs
+++ b/src/wixlib/Dnc.wxs
@@ -6,54 +6,15 @@
6 Dnc.wxs - .NET Core BA resources. 6 Dnc.wxs - .NET Core BA resources.
7 --> 7 -->
8 <Fragment> 8 <Fragment>
9 <BootstrapperApplication Id="DotNetCoreBootstrapperApplicationHost"> 9 <PayloadGroup Id="WixDotNetCoreBootstrapperApplicationHostManagedPayloads">
10 <PayloadGroupRef Id="Dnc" /> 10 <Payload SourceFile="WixToolset.Dnc.Host.dll" />
11 <PayloadGroupRef Id="DncPreqStandard" />
12 <BootstrapperApplicationDll SourceFile="dnchost.dll" />
13 </BootstrapperApplication>
14 </Fragment>
15
16 <Fragment>
17 <BootstrapperApplication Id="DotNetCoreBootstrapperApplicationHost.RtfLicense">
18 <PayloadGroupRef Id="Dnc" />
19 <PayloadGroupRef Id="DncPreqStandard" />
20 <BootstrapperApplicationDll SourceFile="dnchost.dll" />
21 </BootstrapperApplication>
22 </Fragment>
23
24 <Fragment>
25 <BootstrapperApplication Id="DotNetCoreBootstrapperApplicationHost.Minimal">
26 <PayloadGroupRef Id="Dnc" />
27 <BootstrapperApplicationDll SourceFile="dnchost.dll" />
28 </BootstrapperApplication>
29 </Fragment>
30
31 <Fragment>
32 <BootstrapperApplication Id="DotNetCoreBootstrapperApplicationHost.RtfLicense.Minimal">
33 <PayloadGroupRef Id="Dnc" />
34 <BootstrapperApplicationDll SourceFile="dnchost.dll" />
35 </BootstrapperApplication>
36 </Fragment>
37
38 <Fragment>
39 <BootstrapperApplication Id="DotNetCoreBootstrapperApplicationHost.Foundation">
40 <PayloadGroupRef Id="Dnc" />
41 <BootstrapperApplicationDll SourceFile="dnchost.dll" />
42 </BootstrapperApplication>
43 </Fragment>
44
45 <Fragment>
46 <PayloadGroup Id="Dnc">
47 <Payload Compressed="yes" SourceFile="WixToolset.Dnc.Host.dll" />
48 <Payload Compressed="yes" SourceFile="wixstdba.dll" Name="dncpreq.dll" />
49 </PayloadGroup> 11 </PayloadGroup>
50 </Fragment> 12 </Fragment>
51
52 <Fragment> 13 <Fragment>
53 <PayloadGroup Id="DncPreqStandard"> 14 <PayloadGroup Id="DncPreqStandardPayloads">
54 <Payload Name="mbapreq.thm" Compressed="yes" SourceFile="!(wix.DncPreqbaThemeXml=SourceDir\dncpreq.thm)" /> 15 <Payload Name="mbapreq.thm" SourceFile="!(wix.DncPreqbaThemeXml=SourceDir\dncpreq.thm)" />
55 <Payload Name="mbapreq.png" Compressed="yes" SourceFile="!(wix.DncPreqbaLogo=SourceDir\mbapreq.png)" /> 16 <Payload Name="mbapreq.png" SourceFile="!(wix.DncPreqbaLogo=SourceDir\mbapreq.png)" />
56 <Payload Name="mbapreq.wxl" Compressed="yes" SourceFile="!(wix.DncPreqbaThemeWxl=SourceDir\dncpreq.wxl)" /> 17 <Payload Name="mbapreq.wxl" SourceFile="!(wix.DncPreqbaThemeWxl=SourceDir\dncpreq.wxl)" />
57 </PayloadGroup> 18 </PayloadGroup>
58 </Fragment> 19 </Fragment>
59</Wix> 20</Wix>
diff --git a/src/wixlib/Mba.wxs b/src/wixlib/Mba.wxs
index 4667904a..2d407c88 100644
--- a/src/wixlib/Mba.wxs
+++ b/src/wixlib/Mba.wxs
@@ -3,79 +3,41 @@
3 3
4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
5 <!-- 5 <!--
6 Mba.wxs - Managed UX resources. 6 Mba.wxs - Managed BA resources.
7 --> 7 -->
8 <Fragment> 8 <Fragment>
9 <BootstrapperApplication Id="ManagedBootstrapperApplicationHost"> 9 <PayloadGroup Id="WixManagedBootstrapperApplicationHostManagedPayloads">
10 <PayloadGroupRef Id="Mba" /> 10 <Payload SourceFile="WixToolset.Mba.Host.dll" />
11 <PayloadGroupRef Id="MbaPreqStandard" />
12 <BootstrapperApplicationDll SourceFile="mbahost.dll" />
13 </BootstrapperApplication>
14 </Fragment>
15 <Fragment>
16 <BootstrapperApplication Id="ManagedBootstrapperApplicationHost.RtfLicense">
17 <PayloadGroupRef Id="Mba" />
18 <PayloadGroupRef Id="MbaPreqStandard" />
19 <BootstrapperApplicationDll SourceFile="mbahost.dll" />
20 </BootstrapperApplication>
21 </Fragment>
22
23 <Fragment>
24 <BootstrapperApplication Id="ManagedBootstrapperApplicationHost.Minimal">
25 <PayloadGroupRef Id="Mba" />
26 <BootstrapperApplicationDll SourceFile="mbahost.dll" />
27 </BootstrapperApplication>
28 </Fragment>
29
30 <Fragment>
31 <BootstrapperApplication Id="ManagedBootstrapperApplicationHost.RtfLicense.Minimal">
32 <PayloadGroupRef Id="Mba" />
33 <BootstrapperApplicationDll SourceFile="mbahost.dll" />
34 </BootstrapperApplication>
35 </Fragment>
36
37 <Fragment>
38 <BootstrapperApplication Id="ManagedBootstrapperApplicationHost.Foundation">
39 <PayloadGroupRef Id="Mba" />
40 <BootstrapperApplicationDll SourceFile="mbahost.dll" />
41 </BootstrapperApplication>
42 </Fragment>
43
44 <Fragment>
45 <PayloadGroup Id="Mba">
46 <Payload Compressed="yes" SourceFile="WixToolset.Mba.Host.dll" />
47 <Payload Compressed="yes" SourceFile="wixstdba.dll" Name="mbapreq.dll" />
48 </PayloadGroup> 11 </PayloadGroup>
49 </Fragment> 12 </Fragment>
50
51 <Fragment> 13 <Fragment>
52 <PayloadGroup Id="MbaPreqStandard"> 14 <PayloadGroup Id="MbaPreqStandardPayloads">
53 <Payload Name="mbapreq.thm" Compressed="yes" SourceFile="!(wix.PreqbaThemeXml=SourceDir\mbapreq.thm)" /> 15 <Payload Name="mbapreq.thm" SourceFile="!(wix.PreqbaThemeXml=SourceDir\mbapreq.thm)" />
54 <Payload Name="mbapreq.png" Compressed="yes" SourceFile="!(wix.PreqbaLogo=SourceDir\mbapreq.png)" /> 16 <Payload Name="mbapreq.png" SourceFile="!(wix.PreqbaLogo=SourceDir\mbapreq.png)" />
55 <Payload Name="mbapreq.wxl" Compressed="yes" SourceFile="!(wix.PreqbaThemeWxl=SourceDir\mbapreq.wxl)" /> 17 <Payload Name="mbapreq.wxl" SourceFile="!(wix.PreqbaThemeWxl=SourceDir\mbapreq.wxl)" />
56 <Payload Name="1028\mbapreq.wxl" Compressed="yes" SourceFile="!(wix.PreqbaThemeWxl1028=SourceDir\1028\mbapreq.wxl)" /> 18 <Payload Name="1028\mbapreq.wxl" SourceFile="!(wix.PreqbaThemeWxl1028=SourceDir\1028\mbapreq.wxl)" />
57 <Payload Name="1029\mbapreq.wxl" Compressed="yes" SourceFile="!(wix.PreqbaThemeWxl1029=SourceDir\1029\mbapreq.wxl)" /> 19 <Payload Name="1029\mbapreq.wxl" SourceFile="!(wix.PreqbaThemeWxl1029=SourceDir\1029\mbapreq.wxl)" />
58 <Payload Name="1030\mbapreq.wxl" Compressed="yes" SourceFile="!(wix.PreqbaThemeWxl1030=SourceDir\1030\mbapreq.wxl)" /> 20 <Payload Name="1030\mbapreq.wxl" SourceFile="!(wix.PreqbaThemeWxl1030=SourceDir\1030\mbapreq.wxl)" />
59 <Payload Name="1031\mbapreq.wxl" Compressed="yes" SourceFile="!(wix.PreqbaThemeWxl1031=SourceDir\1031\mbapreq.wxl)" /> 21 <Payload Name="1031\mbapreq.wxl" SourceFile="!(wix.PreqbaThemeWxl1031=SourceDir\1031\mbapreq.wxl)" />
60 <Payload Name="1032\mbapreq.wxl" Compressed="yes" SourceFile="!(wix.PreqbaThemeWxl1032=SourceDir\1032\mbapreq.wxl)" /> 22 <Payload Name="1032\mbapreq.wxl" SourceFile="!(wix.PreqbaThemeWxl1032=SourceDir\1032\mbapreq.wxl)" />
61 <Payload Name="1035\mbapreq.wxl" Compressed="yes" SourceFile="!(wix.PreqbaThemeWxl1035=SourceDir\1035\mbapreq.wxl)" /> 23 <Payload Name="1035\mbapreq.wxl" SourceFile="!(wix.PreqbaThemeWxl1035=SourceDir\1035\mbapreq.wxl)" />
62 <Payload Name="1036\mbapreq.wxl" Compressed="yes" SourceFile="!(wix.PreqbaThemeWxl1036=SourceDir\1036\mbapreq.wxl)" /> 24 <Payload Name="1036\mbapreq.wxl" SourceFile="!(wix.PreqbaThemeWxl1036=SourceDir\1036\mbapreq.wxl)" />
63 <Payload Name="1038\mbapreq.wxl" Compressed="yes" SourceFile="!(wix.PreqbaThemeWxl1038=SourceDir\1038\mbapreq.wxl)" /> 25 <Payload Name="1038\mbapreq.wxl" SourceFile="!(wix.PreqbaThemeWxl1038=SourceDir\1038\mbapreq.wxl)" />
64 <Payload Name="1040\mbapreq.wxl" Compressed="yes" SourceFile="!(wix.PreqbaThemeWxl1040=SourceDir\1040\mbapreq.wxl)" /> 26 <Payload Name="1040\mbapreq.wxl" SourceFile="!(wix.PreqbaThemeWxl1040=SourceDir\1040\mbapreq.wxl)" />
65 <Payload Name="1041\mbapreq.wxl" Compressed="yes" SourceFile="!(wix.PreqbaThemeWxl1041=SourceDir\1041\mbapreq.wxl)" /> 27 <Payload Name="1041\mbapreq.wxl" SourceFile="!(wix.PreqbaThemeWxl1041=SourceDir\1041\mbapreq.wxl)" />
66 <Payload Name="1042\mbapreq.wxl" Compressed="yes" SourceFile="!(wix.PreqbaThemeWxl1042=SourceDir\1042\mbapreq.wxl)" /> 28 <Payload Name="1042\mbapreq.wxl" SourceFile="!(wix.PreqbaThemeWxl1042=SourceDir\1042\mbapreq.wxl)" />
67 <Payload Name="1043\mbapreq.wxl" Compressed="yes" SourceFile="!(wix.PreqbaThemeWxl1043=SourceDir\1043\mbapreq.wxl)" /> 29 <Payload Name="1043\mbapreq.wxl" SourceFile="!(wix.PreqbaThemeWxl1043=SourceDir\1043\mbapreq.wxl)" />
68 <Payload Name="1044\mbapreq.wxl" Compressed="yes" SourceFile="!(wix.PreqbaThemeWxl1044=SourceDir\1044\mbapreq.wxl)" /> 30 <Payload Name="1044\mbapreq.wxl" SourceFile="!(wix.PreqbaThemeWxl1044=SourceDir\1044\mbapreq.wxl)" />
69 <Payload Name="1045\mbapreq.wxl" Compressed="yes" SourceFile="!(wix.PreqbaThemeWxl1045=SourceDir\1045\mbapreq.wxl)" /> 31 <Payload Name="1045\mbapreq.wxl" SourceFile="!(wix.PreqbaThemeWxl1045=SourceDir\1045\mbapreq.wxl)" />
70 <Payload Name="1046\mbapreq.wxl" Compressed="yes" SourceFile="!(wix.PreqbaThemeWxl1046=SourceDir\1046\mbapreq.wxl)" /> 32 <Payload Name="1046\mbapreq.wxl" SourceFile="!(wix.PreqbaThemeWxl1046=SourceDir\1046\mbapreq.wxl)" />
71 <Payload Name="1049\mbapreq.wxl" Compressed="yes" SourceFile="!(wix.PreqbaThemeWxl1049=SourceDir\1049\mbapreq.wxl)" /> 33 <Payload Name="1049\mbapreq.wxl" SourceFile="!(wix.PreqbaThemeWxl1049=SourceDir\1049\mbapreq.wxl)" />
72 <Payload Name="1051\mbapreq.wxl" Compressed="yes" SourceFile="!(wix.PreqbaThemeWxl1051=SourceDir\1051\mbapreq.wxl)" /> 34 <Payload Name="1051\mbapreq.wxl" SourceFile="!(wix.PreqbaThemeWxl1051=SourceDir\1051\mbapreq.wxl)" />
73 <Payload Name="1053\mbapreq.wxl" Compressed="yes" SourceFile="!(wix.PreqbaThemeWxl1053=SourceDir\1053\mbapreq.wxl)" /> 35 <Payload Name="1053\mbapreq.wxl" SourceFile="!(wix.PreqbaThemeWxl1053=SourceDir\1053\mbapreq.wxl)" />
74 <Payload Name="1055\mbapreq.wxl" Compressed="yes" SourceFile="!(wix.PreqbaThemeWxl1055=SourceDir\1055\mbapreq.wxl)" /> 36 <Payload Name="1055\mbapreq.wxl" SourceFile="!(wix.PreqbaThemeWxl1055=SourceDir\1055\mbapreq.wxl)" />
75 <Payload Name="1060\mbapreq.wxl" Compressed="yes" SourceFile="!(wix.PreqbaThemeWxl1060=SourceDir\1060\mbapreq.wxl)" /> 37 <Payload Name="1060\mbapreq.wxl" SourceFile="!(wix.PreqbaThemeWxl1060=SourceDir\1060\mbapreq.wxl)" />
76 <Payload Name="2052\mbapreq.wxl" Compressed="yes" SourceFile="!(wix.PreqbaThemeWxl2052=SourceDir\2052\mbapreq.wxl)" /> 38 <Payload Name="2052\mbapreq.wxl" SourceFile="!(wix.PreqbaThemeWxl2052=SourceDir\2052\mbapreq.wxl)" />
77 <Payload Name="2070\mbapreq.wxl" Compressed="yes" SourceFile="!(wix.PreqbaThemeWxl2070=SourceDir\2070\mbapreq.wxl)" /> 39 <Payload Name="2070\mbapreq.wxl" SourceFile="!(wix.PreqbaThemeWxl2070=SourceDir\2070\mbapreq.wxl)" />
78 <Payload Name="3082\mbapreq.wxl" Compressed="yes" SourceFile="!(wix.PreqbaThemeWxl3082=SourceDir\3082\mbapreq.wxl)" /> 40 <Payload Name="3082\mbapreq.wxl" SourceFile="!(wix.PreqbaThemeWxl3082=SourceDir\3082\mbapreq.wxl)" />
79 </PayloadGroup> 41 </PayloadGroup>
80 </Fragment> 42 </Fragment>
81</Wix> 43</Wix>
diff --git a/src/wixlib/caDecor.wxi b/src/wixlib/caDecor.wxi
new file mode 100644
index 00000000..b1711518
--- /dev/null
+++ b/src/wixlib/caDecor.wxi
@@ -0,0 +1,39 @@
1<!-- 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. -->
2
3
4<Include xmlns="http://wixtoolset.org/schemas/v4/wxs">
5 <?ifdef Prefix ?>
6 <?undef Prefix ?>
7 <?endif?>
8
9 <?define Prefix="Wix4" ?>
10
11 <?ifndef platform ?>
12 <?define platform="x86" ?>
13 <?endif?>
14
15 <?if $(var.platform)="" ?>
16 <?undef platform ?>
17 <?define platform="x86" ?>
18 <?endif?>
19
20 <?ifdef Suffix ?>
21 <?undef Suffix ?>
22 <?endif?>
23
24 <?if $(var.platform)~="x86" ?>
25 <?define Suffix="_X86" ?>
26 <?endif?>
27
28 <?if $(var.platform)~="x64" ?>
29 <?define Suffix="_X64" ?>
30 <?endif?>
31
32 <?if $(var.platform)~="arm" ?>
33 <?define Suffix="_A32" ?>
34 <?endif?>
35
36 <?if $(var.platform)~="arm64" ?>
37 <?define Suffix="_A64" ?>
38 <?endif?>
39</Include>
diff --git a/src/wixlib/caSuffix.wxi b/src/wixlib/caSuffix.wxi
deleted file mode 100644
index 18436269..00000000
--- a/src/wixlib/caSuffix.wxi
+++ /dev/null
@@ -1,27 +0,0 @@
1<!-- 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. -->
2
3<Include xmlns="http://wixtoolset.org/schemas/v4/wxs">
4 <?ifndef platform ?>
5 <?error Required value "platform" not defined in include caSuffix.wxi ?>
6 <?endif?>
7
8 <?ifdef Suffix ?>
9 <?undef Suffix ?>
10 <?undef DeferredSuffix ?>
11 <?endif?>
12
13 <?if $(var.platform)="x86" ?>
14 <?define Suffix="" ?>
15 <?define DeferredSuffix="" ?>
16 <?endif?>
17
18 <?if $(var.platform)="x64" ?>
19 <?define Suffix="_x64" ?>
20 <?define DeferredSuffix="_64" ?>
21 <?endif?>
22
23 <?if $(var.platform)="arm" ?>
24 <?define Suffix="_ARM" ?>
25 <?define DeferredSuffix="_ARM" ?>
26 <?endif?>
27</Include>
diff --git a/src/wixlib/wixstdba_platform.wxi b/src/wixlib/wixstdba_platform.wxi
deleted file mode 100644
index fae52b80..00000000
--- a/src/wixlib/wixstdba_platform.wxi
+++ /dev/null
@@ -1,47 +0,0 @@
1<!-- 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. -->
2
3
4<Include xmlns="http://wixtoolset.org/schemas/v4/wxs">
5 <?include caSuffix.wxi ?>
6 <Fragment>
7 <BootstrapperApplication Id="WixStandardBootstrapperApplication.RtfLicense$(var.Suffix)">
8 <PayloadGroupRef Id="WixStdbaRtfLicensePayloads" />
9 <BootstrapperApplicationDll SourceFile="!(bindpath.$(var.platform))\wixstdba.dll" />
10 </BootstrapperApplication>
11 </Fragment>
12
13 <Fragment>
14 <BootstrapperApplication Id="WixStandardBootstrapperApplication.RtfLargeLicense$(var.Suffix)">
15 <PayloadGroupRef Id="WixStdbaRtfLargeLicensePayloads" />
16 <BootstrapperApplicationDll SourceFile="!(bindpath.$(var.platform))\wixstdba.dll" />
17 </BootstrapperApplication>
18 </Fragment>
19
20 <Fragment>
21 <BootstrapperApplication Id="WixStandardBootstrapperApplication.HyperlinkLicense$(var.Suffix)">
22 <PayloadGroupRef Id="WixStdbaHyperlinkLicensePayloads" />
23 <BootstrapperApplicationDll SourceFile="!(bindpath.$(var.platform))\wixstdba.dll" />
24 </BootstrapperApplication>
25 </Fragment>
26
27 <Fragment>
28 <BootstrapperApplication Id="WixStandardBootstrapperApplication.HyperlinkLargeLicense$(var.Suffix)">
29 <PayloadGroupRef Id="WixStdbaHyperlinkLargeLicensePayloads" />
30 <BootstrapperApplicationDll SourceFile="!(bindpath.$(var.platform))\wixstdba.dll" />
31 </BootstrapperApplication>
32 </Fragment>
33
34 <Fragment>
35 <BootstrapperApplication Id="WixStandardBootstrapperApplication.HyperlinkSidebarLicense$(var.Suffix)">
36 <PayloadGroupRef Id="WixStdbaHyperlinkSidebarLicensePayloads" />
37 <BootstrapperApplicationDll SourceFile="!(bindpath.$(var.platform))\wixstdba.dll" />
38 </BootstrapperApplication>
39 </Fragment>
40
41 <Fragment>
42
43 <BootstrapperApplication Id="WixStandardBootstrapperApplication.Foundation$(var.Suffix)">
44 <BootstrapperApplicationDll SourceFile="!(bindpath.$(var.platform))\wixstdba.dll" />
45 </BootstrapperApplication>
46 </Fragment>
47</Include>