aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/WixToolsetTest.ManagedHost/DncHostFixture.cs232
-rw-r--r--src/test/WixToolsetTest.ManagedHost/HarvestDirectoryToPayloadGroup.ps142
-rw-r--r--src/test/WixToolsetTest.ManagedHost/TestData/EarliestCoreMBA/HarvestedSCD.wxs235
-rw-r--r--src/test/WixToolsetTest.ManagedHost/TestData/EarliestCoreMBA/HarvestedTrimmedSCD.wxs113
-rw-r--r--src/test/WixToolsetTest.ManagedHost/TestData/EarliestCoreMBA/SelfContainedBundle.wxs12
-rw-r--r--src/test/WixToolsetTest.ManagedHost/TestData/EarliestCoreMBA/TrimmedSelfContainedBundle.wxs12
-rw-r--r--src/test/WixToolsetTest.ManagedHost/TestData/LatestCoreMBA/HarvestedSCD.wxs235
-rw-r--r--src/test/WixToolsetTest.ManagedHost/TestData/LatestCoreMBA/HarvestedTrimmedSCD.wxs113
-rw-r--r--src/test/WixToolsetTest.ManagedHost/TestData/LatestCoreMBA/SelfContainedBundle.wxs12
-rw-r--r--src/test/WixToolsetTest.ManagedHost/TestData/LatestCoreMBA/TrimmedSelfContainedBundle.wxs12
-rw-r--r--src/test/WixToolsetTest.ManagedHost/WixToolsetTest.ManagedHost.csproj30
-rw-r--r--src/test/examples/EarliestCoreMBA/EarliestCoreBA.cs34
-rw-r--r--src/test/examples/EarliestCoreMBA/EarliestCoreBAFactory.cs22
-rw-r--r--src/test/examples/EarliestCoreMBA/Example.EarliestCoreMBA.csproj18
-rw-r--r--src/test/examples/LatestCoreMBA/Example.LatestCoreMBA.csproj23
-rw-r--r--src/test/examples/LatestCoreMBA/LatestCoreBA.cs33
-rw-r--r--src/test/examples/LatestCoreMBA/LatestCoreBAFactory.cs22
-rw-r--r--src/test/examples/TestEngine/TestEngine.cpp16
-rw-r--r--src/test/examples/TestEngine/precomp.h1
19 files changed, 1216 insertions, 1 deletions
diff --git a/src/test/WixToolsetTest.ManagedHost/DncHostFixture.cs b/src/test/WixToolsetTest.ManagedHost/DncHostFixture.cs
new file mode 100644
index 00000000..f5714c67
--- /dev/null
+++ b/src/test/WixToolsetTest.ManagedHost/DncHostFixture.cs
@@ -0,0 +1,232 @@
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
3namespace WixToolsetTest.ManagedHost
4{
5 using System.IO;
6 using WixBuildTools.TestSupport;
7 using WixToolset.Core.TestPackage;
8 using Xunit;
9
10 public class DncHostFixture
11 {
12 [Fact]
13 public void CanLoadSCDEarliestCoreMBA()
14 {
15 using (var fs = new DisposableFileSystem())
16 {
17 var baseFolder = fs.GetFolder();
18 var binFolder = Path.Combine(baseFolder, "bin");
19 var bundleFile = Path.Combine(binFolder, "SCDEarliestCoreMBA.exe");
20 var baSourceFolder = TestData.Get(@"..\examples");
21 var bundleSourceFolder = TestData.Get(@"TestData\EarliestCoreMBA");
22 var intermediateFolder = Path.Combine(baseFolder, "obj");
23
24 var compileResult = WixRunner.Execute(new[]
25 {
26 "build",
27 Path.Combine(bundleSourceFolder, "SelfContainedBundle.wxs"),
28 Path.Combine(bundleSourceFolder, "HarvestedSCD.wxs"),
29 "-ext", TestData.Get(@"WixToolset.Bal.wixext.dll"),
30 "-intermediateFolder", intermediateFolder,
31 "-bindpath", baSourceFolder,
32 "-burnStub", TestEngine.BurnStubFile,
33 "-o", bundleFile,
34 });
35 compileResult.AssertSuccess();
36 var testEngine = new TestEngine();
37
38 var result = testEngine.RunShutdownEngine(bundleFile, baseFolder);
39 var logMessages = result.Output;
40 Assert.Equal("Loading .NET Core SCD bootstrapper application.", logMessages[0]);
41 Assert.Equal("Creating BA thread to run asynchronously.", logMessages[1]);
42 Assert.Equal("EarliestCoreBA", logMessages[2]);
43 Assert.Equal("Shutdown,ReloadBootstrapper,0", logMessages[3]);
44 }
45 }
46
47 [Fact]
48 public void CanLoadTrimmedSCDEarliestCoreMBA()
49 {
50 using (var fs = new DisposableFileSystem())
51 {
52 var baseFolder = fs.GetFolder();
53 var binFolder = Path.Combine(baseFolder, "bin");
54 var bundleFile = Path.Combine(binFolder, "TrimmedSCDEarliestCoreMBA.exe");
55 var baSourceFolder = TestData.Get(@"..\examples");
56 var bundleSourceFolder = TestData.Get(@"TestData\EarliestCoreMBA");
57 var intermediateFolder = Path.Combine(baseFolder, "obj");
58
59 var compileResult = WixRunner.Execute(new[]
60 {
61 "build",
62 Path.Combine(bundleSourceFolder, "TrimmedSelfContainedBundle.wxs"),
63 Path.Combine(bundleSourceFolder, "HarvestedTrimmedSCD.wxs"),
64 "-ext", TestData.Get(@"WixToolset.Bal.wixext.dll"),
65 "-intermediateFolder", intermediateFolder,
66 "-bindpath", baSourceFolder,
67 "-burnStub", TestEngine.BurnStubFile,
68 "-o", bundleFile,
69 });
70 compileResult.AssertSuccess();
71 var testEngine = new TestEngine();
72
73 var result = testEngine.RunShutdownEngine(bundleFile, baseFolder);
74 var logMessages = result.Output;
75 Assert.Equal("Loading .NET Core SCD bootstrapper application.", logMessages[0]);
76 Assert.Equal("Creating BA thread to run asynchronously.", logMessages[1]);
77 Assert.Equal("EarliestCoreBA", logMessages[2]);
78 Assert.Equal("Shutdown,ReloadBootstrapper,0", logMessages[3]);
79 }
80 }
81
82 [Fact]
83 public void CanReloadSCDEarliestCoreMBA()
84 {
85 using (var fs = new DisposableFileSystem())
86 {
87 var baseFolder = fs.GetFolder();
88 var binFolder = Path.Combine(baseFolder, "bin");
89 var bundleFile = Path.Combine(binFolder, "SCDEarliestCoreMBA.exe");
90 var baSourceFolder = TestData.Get(@"..\examples");
91 var bundleSourceFolder = TestData.Get(@"TestData\EarliestCoreMBA");
92 var intermediateFolder = Path.Combine(baseFolder, "obj");
93
94 var compileResult = WixRunner.Execute(new[]
95 {
96 "build",
97 Path.Combine(bundleSourceFolder, "SelfContainedBundle.wxs"),
98 Path.Combine(bundleSourceFolder, "HarvestedSCD.wxs"),
99 "-ext", TestData.Get(@"WixToolset.Bal.wixext.dll"),
100 "-intermediateFolder", intermediateFolder,
101 "-bindpath", baSourceFolder,
102 "-burnStub", TestEngine.BurnStubFile,
103 "-o", bundleFile,
104 });
105 compileResult.AssertSuccess();
106 var testEngine = new TestEngine();
107
108 var result = testEngine.RunReloadEngine(bundleFile, baseFolder);
109 var logMessages = result.Output;
110 Assert.Equal("Loading .NET Core SCD bootstrapper application.", logMessages[0]);
111 Assert.Equal("Creating BA thread to run asynchronously.", logMessages[1]);
112 Assert.Equal("EarliestCoreBA", logMessages[2]);
113 Assert.Equal("Shutdown,ReloadBootstrapper,0", logMessages[3]);
114 Assert.Equal("Loading .NET Core SCD bootstrapper application.", logMessages[4]);
115 Assert.Equal("Reloaded 1 time(s)", logMessages[5]); // dnchost doesn't currently support unloading
116 Assert.Equal("Creating BA thread to run asynchronously.", logMessages[6]);
117 Assert.Equal("EarliestCoreBA", logMessages[7]);
118 Assert.Equal("Shutdown,Restart,0", logMessages[8]);
119 }
120 }
121
122 [Fact]
123 public void CanLoadSCDLatestCoreMBA()
124 {
125 using (var fs = new DisposableFileSystem())
126 {
127 var baseFolder = fs.GetFolder();
128 var binFolder = Path.Combine(baseFolder, "bin");
129 var bundleFile = Path.Combine(binFolder, "SCDLatestCoreMBA.exe");
130 var baSourceFolder = TestData.Get(@"..\examples");
131 var bundleSourceFolder = TestData.Get(@"TestData\LatestCoreMBA");
132 var intermediateFolder = Path.Combine(baseFolder, "obj");
133
134 var compileResult = WixRunner.Execute(new[]
135 {
136 "build",
137 Path.Combine(bundleSourceFolder, "SelfContainedBundle.wxs"),
138 Path.Combine(bundleSourceFolder, "HarvestedSCD.wxs"),
139 "-ext", TestData.Get(@"WixToolset.Bal.wixext.dll"),
140 "-intermediateFolder", intermediateFolder,
141 "-bindpath", baSourceFolder,
142 "-burnStub", TestEngine.BurnStubFile,
143 "-o", bundleFile,
144 });
145 compileResult.AssertSuccess();
146 var testEngine = new TestEngine();
147
148 var result = testEngine.RunShutdownEngine(bundleFile, baseFolder);
149 var logMessages = result.Output;
150 Assert.Equal("Loading .NET Core SCD bootstrapper application.", logMessages[0]);
151 Assert.Equal("Creating BA thread to run asynchronously.", logMessages[1]);
152 Assert.Equal("LatestCoreBA", logMessages[2]);
153 Assert.Equal("Shutdown,ReloadBootstrapper,0", logMessages[3]);
154 }
155 }
156
157 [Fact]
158 public void CanLoadTrimmedSCDLatestCoreMBA()
159 {
160 using (var fs = new DisposableFileSystem())
161 {
162 var baseFolder = fs.GetFolder();
163 var binFolder = Path.Combine(baseFolder, "bin");
164 var bundleFile = Path.Combine(binFolder, "TrimmedSCDLatestCoreMBA.exe");
165 var baSourceFolder = TestData.Get(@"..\examples");
166 var bundleSourceFolder = TestData.Get(@"TestData\LatestCoreMBA");
167 var intermediateFolder = Path.Combine(baseFolder, "obj");
168
169 var compileResult = WixRunner.Execute(new[]
170 {
171 "build",
172 Path.Combine(bundleSourceFolder, "TrimmedSelfContainedBundle.wxs"),
173 Path.Combine(bundleSourceFolder, "HarvestedTrimmedSCD.wxs"),
174 "-ext", TestData.Get(@"WixToolset.Bal.wixext.dll"),
175 "-intermediateFolder", intermediateFolder,
176 "-bindpath", baSourceFolder,
177 "-burnStub", TestEngine.BurnStubFile,
178 "-o", bundleFile,
179 });
180 compileResult.AssertSuccess();
181 var testEngine = new TestEngine();
182
183 var result = testEngine.RunShutdownEngine(bundleFile, baseFolder);
184 var logMessages = result.Output;
185 Assert.Equal("Loading .NET Core SCD bootstrapper application.", logMessages[0]);
186 Assert.Equal("Creating BA thread to run asynchronously.", logMessages[1]);
187 Assert.Equal("LatestCoreBA", logMessages[2]);
188 Assert.Equal("Shutdown,ReloadBootstrapper,0", logMessages[3]);
189 }
190 }
191
192 [Fact]
193 public void CanReloadSCDLatestCoreMBA()
194 {
195 using (var fs = new DisposableFileSystem())
196 {
197 var baseFolder = fs.GetFolder();
198 var binFolder = Path.Combine(baseFolder, "bin");
199 var bundleFile = Path.Combine(binFolder, "SCDLatestCoreMBA.exe");
200 var baSourceFolder = TestData.Get(@"..\examples");
201 var bundleSourceFolder = TestData.Get(@"TestData\LatestCoreMBA");
202 var intermediateFolder = Path.Combine(baseFolder, "obj");
203
204 var compileResult = WixRunner.Execute(new[]
205 {
206 "build",
207 Path.Combine(bundleSourceFolder, "SelfContainedBundle.wxs"),
208 Path.Combine(bundleSourceFolder, "HarvestedSCD.wxs"),
209 "-ext", TestData.Get(@"WixToolset.Bal.wixext.dll"),
210 "-intermediateFolder", intermediateFolder,
211 "-bindpath", baSourceFolder,
212 "-burnStub", TestEngine.BurnStubFile,
213 "-o", bundleFile,
214 });
215 compileResult.AssertSuccess();
216 var testEngine = new TestEngine();
217
218 var result = testEngine.RunReloadEngine(bundleFile, baseFolder);
219 var logMessages = result.Output;
220 Assert.Equal("Loading .NET Core SCD bootstrapper application.", logMessages[0]);
221 Assert.Equal("Creating BA thread to run asynchronously.", logMessages[1]);
222 Assert.Equal("LatestCoreBA", logMessages[2]);
223 Assert.Equal("Shutdown,ReloadBootstrapper,0", logMessages[3]);
224 Assert.Equal("Loading .NET Core SCD bootstrapper application.", logMessages[4]);
225 Assert.Equal("Reloaded 1 time(s)", logMessages[5]); // dnchost doesn't currently support unloading
226 Assert.Equal("Creating BA thread to run asynchronously.", logMessages[6]);
227 Assert.Equal("LatestCoreBA", logMessages[7]);
228 Assert.Equal("Shutdown,Restart,0", logMessages[8]);
229 }
230 }
231 }
232}
diff --git a/src/test/WixToolsetTest.ManagedHost/HarvestDirectoryToPayloadGroup.ps1 b/src/test/WixToolsetTest.ManagedHost/HarvestDirectoryToPayloadGroup.ps1
new file mode 100644
index 00000000..928470b0
--- /dev/null
+++ b/src/test/WixToolsetTest.ManagedHost/HarvestDirectoryToPayloadGroup.ps1
@@ -0,0 +1,42 @@
1param([string]$RootFolder, [string]$HarvestFolder, [string]$OutputFile)
2
3function harvestFileToPayload {
4 param([System.IO.FileInfo]$file, [string]$rootFolder, [string]$harvestFolder)
5
6 $sourceFile = $file.FullName.Substring($rootFolder.Length + 1)
7 $name = $sourceFile.Substring($harvestFolder.Length + 1)
8 $payloadContents = "<Payload SourceFile='$sourceFile' Name='$name' />"
9 $payloadContents
10}
11
12function harvestDirectoryToPayloadGroup {
13 param([string]$rootFolder, [string]$harvestFolder, [string]$outputFile)
14
15 $beginFileContents = @"
16<?xml version="1.0" encoding="utf-8"?>
17<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
18 <Fragment>
19 <PayloadGroup Id='
20"@
21
22 $endFileContents = @"
23 </PayloadGroup>
24 </Fragment>
25</Wix>
26"@
27
28 $fileContents = $beginFileContents
29 $payloadGroupId = $harvestFolder.Replace("\", ".")
30 $fileContents += "$payloadGroupId'>" + [System.Environment]::NewLine
31
32 $targetFolder = [System.IO.Path]::Combine($rootFolder, $harvestFolder)
33 Get-ChildItem -Path $targetFolder -Recurse -File | ForEach-Object {
34 $fileContents += ' ' + (harvestFileToPayload -file $_ -rootFolder $rootFolder -harvestFolder $harvestFolder) + [System.Environment]::NewLine
35 }
36
37 $fileContents += $endFileContents
38
39 [System.IO.File]::WriteAllText($outputFile, $fileContents)
40}
41
42harvestDirectoryToPayloadGroup -rootFolder $RootFolder -harvestFolder $HarvestFolder -outputFile $OutputFile \ No newline at end of file
diff --git a/src/test/WixToolsetTest.ManagedHost/TestData/EarliestCoreMBA/HarvestedSCD.wxs b/src/test/WixToolsetTest.ManagedHost/TestData/EarliestCoreMBA/HarvestedSCD.wxs
new file mode 100644
index 00000000..bb8d56aa
--- /dev/null
+++ b/src/test/WixToolsetTest.ManagedHost/TestData/EarliestCoreMBA/HarvestedSCD.wxs
@@ -0,0 +1,235 @@
1<?xml version="1.0" encoding="utf-8"?>
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
3 xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal">
4 <Fragment>
5 <PayloadGroup Id='publish.Example.EarliestCoreMBA.scd'>
6 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-core-console-l1-1-0.dll' Name='api-ms-win-core-console-l1-1-0.dll' />
7 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-core-datetime-l1-1-0.dll' Name='api-ms-win-core-datetime-l1-1-0.dll' />
8 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-core-debug-l1-1-0.dll' Name='api-ms-win-core-debug-l1-1-0.dll' />
9 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-core-errorhandling-l1-1-0.dll' Name='api-ms-win-core-errorhandling-l1-1-0.dll' />
10 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-core-file-l1-1-0.dll' Name='api-ms-win-core-file-l1-1-0.dll' />
11 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-core-file-l1-2-0.dll' Name='api-ms-win-core-file-l1-2-0.dll' />
12 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-core-file-l2-1-0.dll' Name='api-ms-win-core-file-l2-1-0.dll' />
13 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-core-handle-l1-1-0.dll' Name='api-ms-win-core-handle-l1-1-0.dll' />
14 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-core-heap-l1-1-0.dll' Name='api-ms-win-core-heap-l1-1-0.dll' />
15 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-core-interlocked-l1-1-0.dll' Name='api-ms-win-core-interlocked-l1-1-0.dll' />
16 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-core-libraryloader-l1-1-0.dll' Name='api-ms-win-core-libraryloader-l1-1-0.dll' />
17 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-core-localization-l1-2-0.dll' Name='api-ms-win-core-localization-l1-2-0.dll' />
18 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-core-memory-l1-1-0.dll' Name='api-ms-win-core-memory-l1-1-0.dll' />
19 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-core-namedpipe-l1-1-0.dll' Name='api-ms-win-core-namedpipe-l1-1-0.dll' />
20 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-core-processenvironment-l1-1-0.dll' Name='api-ms-win-core-processenvironment-l1-1-0.dll' />
21 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-core-processthreads-l1-1-0.dll' Name='api-ms-win-core-processthreads-l1-1-0.dll' />
22 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-core-processthreads-l1-1-1.dll' Name='api-ms-win-core-processthreads-l1-1-1.dll' />
23 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-core-profile-l1-1-0.dll' Name='api-ms-win-core-profile-l1-1-0.dll' />
24 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-core-rtlsupport-l1-1-0.dll' Name='api-ms-win-core-rtlsupport-l1-1-0.dll' />
25 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-core-string-l1-1-0.dll' Name='api-ms-win-core-string-l1-1-0.dll' />
26 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-core-synch-l1-1-0.dll' Name='api-ms-win-core-synch-l1-1-0.dll' />
27 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-core-synch-l1-2-0.dll' Name='api-ms-win-core-synch-l1-2-0.dll' />
28 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-core-sysinfo-l1-1-0.dll' Name='api-ms-win-core-sysinfo-l1-1-0.dll' />
29 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-core-timezone-l1-1-0.dll' Name='api-ms-win-core-timezone-l1-1-0.dll' />
30 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-core-util-l1-1-0.dll' Name='api-ms-win-core-util-l1-1-0.dll' />
31 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\API-MS-Win-core-xstate-l2-1-0.dll' Name='API-MS-Win-core-xstate-l2-1-0.dll' />
32 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-crt-conio-l1-1-0.dll' Name='api-ms-win-crt-conio-l1-1-0.dll' />
33 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-crt-convert-l1-1-0.dll' Name='api-ms-win-crt-convert-l1-1-0.dll' />
34 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-crt-environment-l1-1-0.dll' Name='api-ms-win-crt-environment-l1-1-0.dll' />
35 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-crt-filesystem-l1-1-0.dll' Name='api-ms-win-crt-filesystem-l1-1-0.dll' />
36 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-crt-heap-l1-1-0.dll' Name='api-ms-win-crt-heap-l1-1-0.dll' />
37 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-crt-locale-l1-1-0.dll' Name='api-ms-win-crt-locale-l1-1-0.dll' />
38 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-crt-math-l1-1-0.dll' Name='api-ms-win-crt-math-l1-1-0.dll' />
39 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-crt-multibyte-l1-1-0.dll' Name='api-ms-win-crt-multibyte-l1-1-0.dll' />
40 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-crt-private-l1-1-0.dll' Name='api-ms-win-crt-private-l1-1-0.dll' />
41 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-crt-process-l1-1-0.dll' Name='api-ms-win-crt-process-l1-1-0.dll' />
42 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-crt-runtime-l1-1-0.dll' Name='api-ms-win-crt-runtime-l1-1-0.dll' />
43 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-crt-stdio-l1-1-0.dll' Name='api-ms-win-crt-stdio-l1-1-0.dll' />
44 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-crt-string-l1-1-0.dll' Name='api-ms-win-crt-string-l1-1-0.dll' />
45 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-crt-time-l1-1-0.dll' Name='api-ms-win-crt-time-l1-1-0.dll' />
46 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\api-ms-win-crt-utility-l1-1-0.dll' Name='api-ms-win-crt-utility-l1-1-0.dll' />
47 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\clrcompression.dll' Name='clrcompression.dll' />
48 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\clretwrc.dll' Name='clretwrc.dll' />
49 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\clrjit.dll' Name='clrjit.dll' />
50 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\coreclr.dll' Name='coreclr.dll' />
51 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\dbgshim.dll' Name='dbgshim.dll' />
52 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\Example.EarliestCoreMBA.deps.json' Name='Example.EarliestCoreMBA.deps.json' />
53 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\Example.EarliestCoreMBA.dll' Name='Example.EarliestCoreMBA.dll' bal:BAFactoryAssembly='yes' />
54 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\Example.EarliestCoreMBA.pdb' Name='Example.EarliestCoreMBA.pdb' />
55 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\Example.EarliestCoreMBA.runtimeconfig.json' Name='Example.EarliestCoreMBA.runtimeconfig.json' />
56 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\hostfxr.dll' Name='hostfxr.dll' />
57 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\hostpolicy.dll' Name='hostpolicy.dll' />
58 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\mbanative.dll' Name='mbanative.dll' />
59 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\Microsoft.CSharp.dll' Name='Microsoft.CSharp.dll' />
60 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\Microsoft.DiaSymReader.Native.x86.dll' Name='Microsoft.DiaSymReader.Native.x86.dll' />
61 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\Microsoft.VisualBasic.Core.dll' Name='Microsoft.VisualBasic.Core.dll' />
62 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\Microsoft.VisualBasic.dll' Name='Microsoft.VisualBasic.dll' />
63 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\Microsoft.Win32.Primitives.dll' Name='Microsoft.Win32.Primitives.dll' />
64 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\Microsoft.Win32.Registry.dll' Name='Microsoft.Win32.Registry.dll' />
65 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\mscordaccore.dll' Name='mscordaccore.dll' />
66 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\mscordaccore_x86_x86_4.700.19.57202.dll' Name='mscordaccore_x86_x86_4.700.19.57202.dll' />
67 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\mscordbi.dll' Name='mscordbi.dll' />
68 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\mscorlib.dll' Name='mscorlib.dll' />
69 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\mscorrc.debug.dll' Name='mscorrc.debug.dll' />
70 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\mscorrc.dll' Name='mscorrc.dll' />
71 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\netstandard.dll' Name='netstandard.dll' />
72 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\SOS_README.md' Name='SOS_README.md' />
73 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.AppContext.dll' Name='System.AppContext.dll' />
74 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Buffers.dll' Name='System.Buffers.dll' />
75 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Collections.Concurrent.dll' Name='System.Collections.Concurrent.dll' />
76 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Collections.dll' Name='System.Collections.dll' />
77 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Collections.Immutable.dll' Name='System.Collections.Immutable.dll' />
78 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Collections.NonGeneric.dll' Name='System.Collections.NonGeneric.dll' />
79 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Collections.Specialized.dll' Name='System.Collections.Specialized.dll' />
80 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.ComponentModel.Annotations.dll' Name='System.ComponentModel.Annotations.dll' />
81 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.ComponentModel.DataAnnotations.dll' Name='System.ComponentModel.DataAnnotations.dll' />
82 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.ComponentModel.dll' Name='System.ComponentModel.dll' />
83 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.ComponentModel.EventBasedAsync.dll' Name='System.ComponentModel.EventBasedAsync.dll' />
84 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.ComponentModel.Primitives.dll' Name='System.ComponentModel.Primitives.dll' />
85 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.ComponentModel.TypeConverter.dll' Name='System.ComponentModel.TypeConverter.dll' />
86 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Configuration.dll' Name='System.Configuration.dll' />
87 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Console.dll' Name='System.Console.dll' />
88 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Core.dll' Name='System.Core.dll' />
89 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Data.Common.dll' Name='System.Data.Common.dll' />
90 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Data.DataSetExtensions.dll' Name='System.Data.DataSetExtensions.dll' />
91 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Data.dll' Name='System.Data.dll' />
92 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Diagnostics.Contracts.dll' Name='System.Diagnostics.Contracts.dll' />
93 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Diagnostics.Debug.dll' Name='System.Diagnostics.Debug.dll' />
94 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Diagnostics.DiagnosticSource.dll' Name='System.Diagnostics.DiagnosticSource.dll' />
95 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Diagnostics.FileVersionInfo.dll' Name='System.Diagnostics.FileVersionInfo.dll' />
96 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Diagnostics.Process.dll' Name='System.Diagnostics.Process.dll' />
97 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Diagnostics.StackTrace.dll' Name='System.Diagnostics.StackTrace.dll' />
98 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Diagnostics.TextWriterTraceListener.dll' Name='System.Diagnostics.TextWriterTraceListener.dll' />
99 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Diagnostics.Tools.dll' Name='System.Diagnostics.Tools.dll' />
100 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Diagnostics.TraceSource.dll' Name='System.Diagnostics.TraceSource.dll' />
101 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Diagnostics.Tracing.dll' Name='System.Diagnostics.Tracing.dll' />
102 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.dll' Name='System.dll' />
103 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Drawing.dll' Name='System.Drawing.dll' />
104 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Drawing.Primitives.dll' Name='System.Drawing.Primitives.dll' />
105 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Dynamic.Runtime.dll' Name='System.Dynamic.Runtime.dll' />
106 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Globalization.Calendars.dll' Name='System.Globalization.Calendars.dll' />
107 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Globalization.dll' Name='System.Globalization.dll' />
108 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Globalization.Extensions.dll' Name='System.Globalization.Extensions.dll' />
109 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.IO.Compression.Brotli.dll' Name='System.IO.Compression.Brotli.dll' />
110 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.IO.Compression.dll' Name='System.IO.Compression.dll' />
111 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.IO.Compression.FileSystem.dll' Name='System.IO.Compression.FileSystem.dll' />
112 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.IO.Compression.ZipFile.dll' Name='System.IO.Compression.ZipFile.dll' />
113 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.IO.dll' Name='System.IO.dll' />
114 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.IO.FileSystem.AccessControl.dll' Name='System.IO.FileSystem.AccessControl.dll' />
115 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.IO.FileSystem.dll' Name='System.IO.FileSystem.dll' />
116 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.IO.FileSystem.DriveInfo.dll' Name='System.IO.FileSystem.DriveInfo.dll' />
117 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.IO.FileSystem.Primitives.dll' Name='System.IO.FileSystem.Primitives.dll' />
118 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.IO.FileSystem.Watcher.dll' Name='System.IO.FileSystem.Watcher.dll' />
119 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.IO.IsolatedStorage.dll' Name='System.IO.IsolatedStorage.dll' />
120 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.IO.MemoryMappedFiles.dll' Name='System.IO.MemoryMappedFiles.dll' />
121 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.IO.Pipes.AccessControl.dll' Name='System.IO.Pipes.AccessControl.dll' />
122 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.IO.Pipes.dll' Name='System.IO.Pipes.dll' />
123 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.IO.UnmanagedMemoryStream.dll' Name='System.IO.UnmanagedMemoryStream.dll' />
124 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Linq.dll' Name='System.Linq.dll' />
125 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Linq.Expressions.dll' Name='System.Linq.Expressions.dll' />
126 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Linq.Parallel.dll' Name='System.Linq.Parallel.dll' />
127 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Linq.Queryable.dll' Name='System.Linq.Queryable.dll' />
128 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Memory.dll' Name='System.Memory.dll' />
129 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Net.dll' Name='System.Net.dll' />
130 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Net.Http.dll' Name='System.Net.Http.dll' />
131 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Net.HttpListener.dll' Name='System.Net.HttpListener.dll' />
132 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Net.Mail.dll' Name='System.Net.Mail.dll' />
133 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Net.NameResolution.dll' Name='System.Net.NameResolution.dll' />
134 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Net.NetworkInformation.dll' Name='System.Net.NetworkInformation.dll' />
135 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Net.Ping.dll' Name='System.Net.Ping.dll' />
136 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Net.Primitives.dll' Name='System.Net.Primitives.dll' />
137 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Net.Requests.dll' Name='System.Net.Requests.dll' />
138 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Net.Security.dll' Name='System.Net.Security.dll' />
139 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Net.ServicePoint.dll' Name='System.Net.ServicePoint.dll' />
140 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Net.Sockets.dll' Name='System.Net.Sockets.dll' />
141 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Net.WebClient.dll' Name='System.Net.WebClient.dll' />
142 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Net.WebHeaderCollection.dll' Name='System.Net.WebHeaderCollection.dll' />
143 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Net.WebProxy.dll' Name='System.Net.WebProxy.dll' />
144 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Net.WebSockets.Client.dll' Name='System.Net.WebSockets.Client.dll' />
145 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Net.WebSockets.dll' Name='System.Net.WebSockets.dll' />
146 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Numerics.dll' Name='System.Numerics.dll' />
147 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Numerics.Vectors.dll' Name='System.Numerics.Vectors.dll' />
148 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.ObjectModel.dll' Name='System.ObjectModel.dll' />
149 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Private.CoreLib.dll' Name='System.Private.CoreLib.dll' />
150 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Private.DataContractSerialization.dll' Name='System.Private.DataContractSerialization.dll' />
151 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Private.Uri.dll' Name='System.Private.Uri.dll' />
152 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Private.Xml.dll' Name='System.Private.Xml.dll' />
153 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Private.Xml.Linq.dll' Name='System.Private.Xml.Linq.dll' />
154 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Reflection.DispatchProxy.dll' Name='System.Reflection.DispatchProxy.dll' />
155 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Reflection.dll' Name='System.Reflection.dll' />
156 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Reflection.Emit.dll' Name='System.Reflection.Emit.dll' />
157 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Reflection.Emit.ILGeneration.dll' Name='System.Reflection.Emit.ILGeneration.dll' />
158 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Reflection.Emit.Lightweight.dll' Name='System.Reflection.Emit.Lightweight.dll' />
159 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Reflection.Extensions.dll' Name='System.Reflection.Extensions.dll' />
160 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Reflection.Metadata.dll' Name='System.Reflection.Metadata.dll' />
161 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Reflection.Primitives.dll' Name='System.Reflection.Primitives.dll' />
162 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Reflection.TypeExtensions.dll' Name='System.Reflection.TypeExtensions.dll' />
163 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Resources.Reader.dll' Name='System.Resources.Reader.dll' />
164 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Resources.ResourceManager.dll' Name='System.Resources.ResourceManager.dll' />
165 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Resources.Writer.dll' Name='System.Resources.Writer.dll' />
166 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Runtime.CompilerServices.Unsafe.dll' Name='System.Runtime.CompilerServices.Unsafe.dll' />
167 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Runtime.CompilerServices.VisualC.dll' Name='System.Runtime.CompilerServices.VisualC.dll' />
168 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Runtime.dll' Name='System.Runtime.dll' />
169 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Runtime.Extensions.dll' Name='System.Runtime.Extensions.dll' />
170 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Runtime.Handles.dll' Name='System.Runtime.Handles.dll' />
171 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Runtime.InteropServices.dll' Name='System.Runtime.InteropServices.dll' />
172 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Runtime.InteropServices.RuntimeInformation.dll' Name='System.Runtime.InteropServices.RuntimeInformation.dll' />
173 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Runtime.InteropServices.WindowsRuntime.dll' Name='System.Runtime.InteropServices.WindowsRuntime.dll' />
174 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Runtime.Intrinsics.dll' Name='System.Runtime.Intrinsics.dll' />
175 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Runtime.Loader.dll' Name='System.Runtime.Loader.dll' />
176 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Runtime.Numerics.dll' Name='System.Runtime.Numerics.dll' />
177 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Runtime.Serialization.dll' Name='System.Runtime.Serialization.dll' />
178 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Runtime.Serialization.Formatters.dll' Name='System.Runtime.Serialization.Formatters.dll' />
179 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Runtime.Serialization.Json.dll' Name='System.Runtime.Serialization.Json.dll' />
180 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Runtime.Serialization.Primitives.dll' Name='System.Runtime.Serialization.Primitives.dll' />
181 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Runtime.Serialization.Xml.dll' Name='System.Runtime.Serialization.Xml.dll' />
182 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Runtime.WindowsRuntime.dll' Name='System.Runtime.WindowsRuntime.dll' />
183 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Runtime.WindowsRuntime.UI.Xaml.dll' Name='System.Runtime.WindowsRuntime.UI.Xaml.dll' />
184 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Security.AccessControl.dll' Name='System.Security.AccessControl.dll' />
185 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Security.Claims.dll' Name='System.Security.Claims.dll' />
186 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Security.Cryptography.Algorithms.dll' Name='System.Security.Cryptography.Algorithms.dll' />
187 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Security.Cryptography.Cng.dll' Name='System.Security.Cryptography.Cng.dll' />
188 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Security.Cryptography.Csp.dll' Name='System.Security.Cryptography.Csp.dll' />
189 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Security.Cryptography.Encoding.dll' Name='System.Security.Cryptography.Encoding.dll' />
190 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Security.Cryptography.OpenSsl.dll' Name='System.Security.Cryptography.OpenSsl.dll' />
191 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Security.Cryptography.Primitives.dll' Name='System.Security.Cryptography.Primitives.dll' />
192 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Security.Cryptography.X509Certificates.dll' Name='System.Security.Cryptography.X509Certificates.dll' />
193 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Security.dll' Name='System.Security.dll' />
194 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Security.Principal.dll' Name='System.Security.Principal.dll' />
195 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Security.Principal.Windows.dll' Name='System.Security.Principal.Windows.dll' />
196 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Security.SecureString.dll' Name='System.Security.SecureString.dll' />
197 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.ServiceModel.Web.dll' Name='System.ServiceModel.Web.dll' />
198 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.ServiceProcess.dll' Name='System.ServiceProcess.dll' />
199 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Text.Encoding.CodePages.dll' Name='System.Text.Encoding.CodePages.dll' />
200 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Text.Encoding.dll' Name='System.Text.Encoding.dll' />
201 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Text.Encoding.Extensions.dll' Name='System.Text.Encoding.Extensions.dll' />
202 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Text.Encodings.Web.dll' Name='System.Text.Encodings.Web.dll' />
203 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Text.Json.dll' Name='System.Text.Json.dll' />
204 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Text.RegularExpressions.dll' Name='System.Text.RegularExpressions.dll' />
205 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Threading.Channels.dll' Name='System.Threading.Channels.dll' />
206 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Threading.dll' Name='System.Threading.dll' />
207 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Threading.Overlapped.dll' Name='System.Threading.Overlapped.dll' />
208 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Threading.Tasks.Dataflow.dll' Name='System.Threading.Tasks.Dataflow.dll' />
209 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Threading.Tasks.dll' Name='System.Threading.Tasks.dll' />
210 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Threading.Tasks.Extensions.dll' Name='System.Threading.Tasks.Extensions.dll' />
211 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Threading.Tasks.Parallel.dll' Name='System.Threading.Tasks.Parallel.dll' />
212 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Threading.Thread.dll' Name='System.Threading.Thread.dll' />
213 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Threading.ThreadPool.dll' Name='System.Threading.ThreadPool.dll' />
214 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Threading.Timer.dll' Name='System.Threading.Timer.dll' />
215 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Transactions.dll' Name='System.Transactions.dll' />
216 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Transactions.Local.dll' Name='System.Transactions.Local.dll' />
217 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.ValueTuple.dll' Name='System.ValueTuple.dll' />
218 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Web.dll' Name='System.Web.dll' />
219 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Web.HttpUtility.dll' Name='System.Web.HttpUtility.dll' />
220 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Windows.dll' Name='System.Windows.dll' />
221 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Xml.dll' Name='System.Xml.dll' />
222 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Xml.Linq.dll' Name='System.Xml.Linq.dll' />
223 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Xml.ReaderWriter.dll' Name='System.Xml.ReaderWriter.dll' />
224 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Xml.Serialization.dll' Name='System.Xml.Serialization.dll' />
225 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Xml.XDocument.dll' Name='System.Xml.XDocument.dll' />
226 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Xml.XmlDocument.dll' Name='System.Xml.XmlDocument.dll' />
227 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Xml.XmlSerializer.dll' Name='System.Xml.XmlSerializer.dll' />
228 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Xml.XPath.dll' Name='System.Xml.XPath.dll' />
229 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\System.Xml.XPath.XDocument.dll' Name='System.Xml.XPath.XDocument.dll' />
230 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\ucrtbase.dll' Name='ucrtbase.dll' />
231 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\WindowsBase.dll' Name='WindowsBase.dll' />
232 <Payload SourceFile='publish\Example.EarliestCoreMBA\scd\WixToolset.Mba.Core.dll' Name='WixToolset.Mba.Core.dll' />
233 </PayloadGroup>
234 </Fragment>
235</Wix> \ No newline at end of file
diff --git a/src/test/WixToolsetTest.ManagedHost/TestData/EarliestCoreMBA/HarvestedTrimmedSCD.wxs b/src/test/WixToolsetTest.ManagedHost/TestData/EarliestCoreMBA/HarvestedTrimmedSCD.wxs
new file mode 100644
index 00000000..336eef4c
--- /dev/null
+++ b/src/test/WixToolsetTest.ManagedHost/TestData/EarliestCoreMBA/HarvestedTrimmedSCD.wxs
@@ -0,0 +1,113 @@
1<?xml version="1.0" encoding="utf-8"?>
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
3 xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal">
4 <Fragment>
5 <PayloadGroup Id='publish.Example.EarliestCoreMBA.trimmedscd'>
6 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-core-console-l1-1-0.dll' Name='api-ms-win-core-console-l1-1-0.dll' />
7 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-core-datetime-l1-1-0.dll' Name='api-ms-win-core-datetime-l1-1-0.dll' />
8 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-core-debug-l1-1-0.dll' Name='api-ms-win-core-debug-l1-1-0.dll' />
9 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-core-errorhandling-l1-1-0.dll' Name='api-ms-win-core-errorhandling-l1-1-0.dll' />
10 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-core-file-l1-1-0.dll' Name='api-ms-win-core-file-l1-1-0.dll' />
11 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-core-file-l1-2-0.dll' Name='api-ms-win-core-file-l1-2-0.dll' />
12 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-core-file-l2-1-0.dll' Name='api-ms-win-core-file-l2-1-0.dll' />
13 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-core-handle-l1-1-0.dll' Name='api-ms-win-core-handle-l1-1-0.dll' />
14 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-core-heap-l1-1-0.dll' Name='api-ms-win-core-heap-l1-1-0.dll' />
15 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-core-interlocked-l1-1-0.dll' Name='api-ms-win-core-interlocked-l1-1-0.dll' />
16 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-core-libraryloader-l1-1-0.dll' Name='api-ms-win-core-libraryloader-l1-1-0.dll' />
17 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-core-localization-l1-2-0.dll' Name='api-ms-win-core-localization-l1-2-0.dll' />
18 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-core-memory-l1-1-0.dll' Name='api-ms-win-core-memory-l1-1-0.dll' />
19 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-core-namedpipe-l1-1-0.dll' Name='api-ms-win-core-namedpipe-l1-1-0.dll' />
20 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-core-processenvironment-l1-1-0.dll' Name='api-ms-win-core-processenvironment-l1-1-0.dll' />
21 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-core-processthreads-l1-1-0.dll' Name='api-ms-win-core-processthreads-l1-1-0.dll' />
22 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-core-processthreads-l1-1-1.dll' Name='api-ms-win-core-processthreads-l1-1-1.dll' />
23 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-core-profile-l1-1-0.dll' Name='api-ms-win-core-profile-l1-1-0.dll' />
24 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-core-rtlsupport-l1-1-0.dll' Name='api-ms-win-core-rtlsupport-l1-1-0.dll' />
25 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-core-string-l1-1-0.dll' Name='api-ms-win-core-string-l1-1-0.dll' />
26 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-core-synch-l1-1-0.dll' Name='api-ms-win-core-synch-l1-1-0.dll' />
27 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-core-synch-l1-2-0.dll' Name='api-ms-win-core-synch-l1-2-0.dll' />
28 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-core-sysinfo-l1-1-0.dll' Name='api-ms-win-core-sysinfo-l1-1-0.dll' />
29 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-core-timezone-l1-1-0.dll' Name='api-ms-win-core-timezone-l1-1-0.dll' />
30 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-core-util-l1-1-0.dll' Name='api-ms-win-core-util-l1-1-0.dll' />
31 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\API-MS-Win-core-xstate-l2-1-0.dll' Name='API-MS-Win-core-xstate-l2-1-0.dll' />
32 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-crt-conio-l1-1-0.dll' Name='api-ms-win-crt-conio-l1-1-0.dll' />
33 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-crt-convert-l1-1-0.dll' Name='api-ms-win-crt-convert-l1-1-0.dll' />
34 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-crt-environment-l1-1-0.dll' Name='api-ms-win-crt-environment-l1-1-0.dll' />
35 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-crt-filesystem-l1-1-0.dll' Name='api-ms-win-crt-filesystem-l1-1-0.dll' />
36 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-crt-heap-l1-1-0.dll' Name='api-ms-win-crt-heap-l1-1-0.dll' />
37 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-crt-locale-l1-1-0.dll' Name='api-ms-win-crt-locale-l1-1-0.dll' />
38 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-crt-math-l1-1-0.dll' Name='api-ms-win-crt-math-l1-1-0.dll' />
39 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-crt-multibyte-l1-1-0.dll' Name='api-ms-win-crt-multibyte-l1-1-0.dll' />
40 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-crt-private-l1-1-0.dll' Name='api-ms-win-crt-private-l1-1-0.dll' />
41 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-crt-process-l1-1-0.dll' Name='api-ms-win-crt-process-l1-1-0.dll' />
42 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-crt-runtime-l1-1-0.dll' Name='api-ms-win-crt-runtime-l1-1-0.dll' />
43 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-crt-stdio-l1-1-0.dll' Name='api-ms-win-crt-stdio-l1-1-0.dll' />
44 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-crt-string-l1-1-0.dll' Name='api-ms-win-crt-string-l1-1-0.dll' />
45 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-crt-time-l1-1-0.dll' Name='api-ms-win-crt-time-l1-1-0.dll' />
46 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\api-ms-win-crt-utility-l1-1-0.dll' Name='api-ms-win-crt-utility-l1-1-0.dll' />
47 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\clrcompression.dll' Name='clrcompression.dll' />
48 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\clretwrc.dll' Name='clretwrc.dll' />
49 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\clrjit.dll' Name='clrjit.dll' />
50 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\coreclr.dll' Name='coreclr.dll' />
51 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\dbgshim.dll' Name='dbgshim.dll' />
52 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\Example.EarliestCoreMBA.deps.json' Name='Example.EarliestCoreMBA.deps.json' />
53 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\Example.EarliestCoreMBA.dll' Name='Example.EarliestCoreMBA.dll' bal:BAFactoryAssembly='yes' />
54 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\Example.EarliestCoreMBA.pdb' Name='Example.EarliestCoreMBA.pdb' />
55 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\Example.EarliestCoreMBA.runtimeconfig.json' Name='Example.EarliestCoreMBA.runtimeconfig.json' />
56 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\hostfxr.dll' Name='hostfxr.dll' />
57 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\hostpolicy.dll' Name='hostpolicy.dll' />
58 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\mbanative.dll' Name='mbanative.dll' />
59 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\Microsoft.DiaSymReader.Native.x86.dll' Name='Microsoft.DiaSymReader.Native.x86.dll' />
60 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\Microsoft.Win32.Primitives.dll' Name='Microsoft.Win32.Primitives.dll' />
61 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\mscordaccore.dll' Name='mscordaccore.dll' />
62 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\mscordaccore_x86_x86_4.700.19.57202.dll' Name='mscordaccore_x86_x86_4.700.19.57202.dll' />
63 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\mscordbi.dll' Name='mscordbi.dll' />
64 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\mscorrc.debug.dll' Name='mscorrc.debug.dll' />
65 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\mscorrc.dll' Name='mscorrc.dll' />
66 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\SOS_README.md' Name='SOS_README.md' />
67 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Collections.Concurrent.dll' Name='System.Collections.Concurrent.dll' />
68 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Collections.dll' Name='System.Collections.dll' />
69 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Collections.NonGeneric.dll' Name='System.Collections.NonGeneric.dll' />
70 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Collections.Specialized.dll' Name='System.Collections.Specialized.dll' />
71 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Diagnostics.DiagnosticSource.dll' Name='System.Diagnostics.DiagnosticSource.dll' />
72 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Diagnostics.StackTrace.dll' Name='System.Diagnostics.StackTrace.dll' />
73 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Diagnostics.Tools.dll' Name='System.Diagnostics.Tools.dll' />
74 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.IO.Compression.Brotli.dll' Name='System.IO.Compression.Brotli.dll' />
75 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.IO.Compression.dll' Name='System.IO.Compression.dll' />
76 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.IO.FileSystem.dll' Name='System.IO.FileSystem.dll' />
77 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Linq.dll' Name='System.Linq.dll' />
78 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Net.Http.dll' Name='System.Net.Http.dll' />
79 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Net.NameResolution.dll' Name='System.Net.NameResolution.dll' />
80 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Net.NetworkInformation.dll' Name='System.Net.NetworkInformation.dll' />
81 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Net.Primitives.dll' Name='System.Net.Primitives.dll' />
82 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Net.Requests.dll' Name='System.Net.Requests.dll' />
83 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Net.Security.dll' Name='System.Net.Security.dll' />
84 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Net.ServicePoint.dll' Name='System.Net.ServicePoint.dll' />
85 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Net.Sockets.dll' Name='System.Net.Sockets.dll' />
86 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Net.WebHeaderCollection.dll' Name='System.Net.WebHeaderCollection.dll' />
87 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.ObjectModel.dll' Name='System.ObjectModel.dll' />
88 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Private.CoreLib.dll' Name='System.Private.CoreLib.dll' />
89 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Private.Uri.dll' Name='System.Private.Uri.dll' />
90 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Private.Xml.dll' Name='System.Private.Xml.dll' />
91 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Private.Xml.Linq.dll' Name='System.Private.Xml.Linq.dll' />
92 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Reflection.Metadata.dll' Name='System.Reflection.Metadata.dll' />
93 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Runtime.CompilerServices.Unsafe.dll' Name='System.Runtime.CompilerServices.Unsafe.dll' />
94 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Runtime.dll' Name='System.Runtime.dll' />
95 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Runtime.Extensions.dll' Name='System.Runtime.Extensions.dll' />
96 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Runtime.Loader.dll' Name='System.Runtime.Loader.dll' />
97 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Runtime.Numerics.dll' Name='System.Runtime.Numerics.dll' />
98 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Runtime.Serialization.Formatters.dll' Name='System.Runtime.Serialization.Formatters.dll' />
99 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Security.Claims.dll' Name='System.Security.Claims.dll' />
100 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Security.Cryptography.Algorithms.dll' Name='System.Security.Cryptography.Algorithms.dll' />
101 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Security.Cryptography.Cng.dll' Name='System.Security.Cryptography.Cng.dll' />
102 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Security.Cryptography.Csp.dll' Name='System.Security.Cryptography.Csp.dll' />
103 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Security.Cryptography.Encoding.dll' Name='System.Security.Cryptography.Encoding.dll' />
104 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Security.Cryptography.Primitives.dll' Name='System.Security.Cryptography.Primitives.dll' />
105 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Security.Cryptography.X509Certificates.dll' Name='System.Security.Cryptography.X509Certificates.dll' />
106 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Security.Principal.dll' Name='System.Security.Principal.dll' />
107 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Security.Principal.Windows.dll' Name='System.Security.Principal.Windows.dll' />
108 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\System.Text.RegularExpressions.dll' Name='System.Text.RegularExpressions.dll' />
109 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\ucrtbase.dll' Name='ucrtbase.dll' />
110 <Payload SourceFile='publish\Example.EarliestCoreMBA\trimmedscd\WixToolset.Mba.Core.dll' Name='WixToolset.Mba.Core.dll' />
111 </PayloadGroup>
112 </Fragment>
113</Wix> \ No newline at end of file
diff --git a/src/test/WixToolsetTest.ManagedHost/TestData/EarliestCoreMBA/SelfContainedBundle.wxs b/src/test/WixToolsetTest.ManagedHost/TestData/EarliestCoreMBA/SelfContainedBundle.wxs
new file mode 100644
index 00000000..4f3b2f20
--- /dev/null
+++ b/src/test/WixToolsetTest.ManagedHost/TestData/EarliestCoreMBA/SelfContainedBundle.wxs
@@ -0,0 +1,12 @@
1<?xml version="1.0" encoding="utf-8"?>
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">
5 <BootstrapperApplicationRef Id="DotNetCoreBootstrapperApplicationHost">
6 <PayloadGroupRef Id="publish.Example.EarliestCoreMBA.scd" />
7 </BootstrapperApplicationRef>
8 <Chain>
9 <ExePackage SourceFile="c:\windows\system32\kernel32.dll" PerMachine="yes" />
10 </Chain>
11 </Bundle>
12</Wix>
diff --git a/src/test/WixToolsetTest.ManagedHost/TestData/EarliestCoreMBA/TrimmedSelfContainedBundle.wxs b/src/test/WixToolsetTest.ManagedHost/TestData/EarliestCoreMBA/TrimmedSelfContainedBundle.wxs
new file mode 100644
index 00000000..15dc72bb
--- /dev/null
+++ b/src/test/WixToolsetTest.ManagedHost/TestData/EarliestCoreMBA/TrimmedSelfContainedBundle.wxs
@@ -0,0 +1,12 @@
1<?xml version="1.0" encoding="utf-8"?>
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">
5 <BootstrapperApplicationRef Id="DotNetCoreBootstrapperApplicationHost">
6 <PayloadGroupRef Id="publish.Example.EarliestCoreMBA.trimmedscd" />
7 </BootstrapperApplicationRef>
8 <Chain>
9 <ExePackage SourceFile="c:\windows\system32\kernel32.dll" PerMachine="yes" />
10 </Chain>
11 </Bundle>
12</Wix>
diff --git a/src/test/WixToolsetTest.ManagedHost/TestData/LatestCoreMBA/HarvestedSCD.wxs b/src/test/WixToolsetTest.ManagedHost/TestData/LatestCoreMBA/HarvestedSCD.wxs
new file mode 100644
index 00000000..09433669
--- /dev/null
+++ b/src/test/WixToolsetTest.ManagedHost/TestData/LatestCoreMBA/HarvestedSCD.wxs
@@ -0,0 +1,235 @@
1<?xml version="1.0" encoding="utf-8"?>
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
3 xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal">
4 <Fragment>
5 <PayloadGroup Id='publish.Example.LatestCoreMBA.scd'>
6 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-core-console-l1-1-0.dll' Name='api-ms-win-core-console-l1-1-0.dll' />
7 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-core-datetime-l1-1-0.dll' Name='api-ms-win-core-datetime-l1-1-0.dll' />
8 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-core-debug-l1-1-0.dll' Name='api-ms-win-core-debug-l1-1-0.dll' />
9 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-core-errorhandling-l1-1-0.dll' Name='api-ms-win-core-errorhandling-l1-1-0.dll' />
10 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-core-file-l1-1-0.dll' Name='api-ms-win-core-file-l1-1-0.dll' />
11 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-core-file-l1-2-0.dll' Name='api-ms-win-core-file-l1-2-0.dll' />
12 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-core-file-l2-1-0.dll' Name='api-ms-win-core-file-l2-1-0.dll' />
13 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-core-handle-l1-1-0.dll' Name='api-ms-win-core-handle-l1-1-0.dll' />
14 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-core-heap-l1-1-0.dll' Name='api-ms-win-core-heap-l1-1-0.dll' />
15 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-core-interlocked-l1-1-0.dll' Name='api-ms-win-core-interlocked-l1-1-0.dll' />
16 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-core-libraryloader-l1-1-0.dll' Name='api-ms-win-core-libraryloader-l1-1-0.dll' />
17 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-core-localization-l1-2-0.dll' Name='api-ms-win-core-localization-l1-2-0.dll' />
18 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-core-memory-l1-1-0.dll' Name='api-ms-win-core-memory-l1-1-0.dll' />
19 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-core-namedpipe-l1-1-0.dll' Name='api-ms-win-core-namedpipe-l1-1-0.dll' />
20 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-core-processenvironment-l1-1-0.dll' Name='api-ms-win-core-processenvironment-l1-1-0.dll' />
21 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-core-processthreads-l1-1-0.dll' Name='api-ms-win-core-processthreads-l1-1-0.dll' />
22 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-core-processthreads-l1-1-1.dll' Name='api-ms-win-core-processthreads-l1-1-1.dll' />
23 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-core-profile-l1-1-0.dll' Name='api-ms-win-core-profile-l1-1-0.dll' />
24 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-core-rtlsupport-l1-1-0.dll' Name='api-ms-win-core-rtlsupport-l1-1-0.dll' />
25 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-core-string-l1-1-0.dll' Name='api-ms-win-core-string-l1-1-0.dll' />
26 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-core-synch-l1-1-0.dll' Name='api-ms-win-core-synch-l1-1-0.dll' />
27 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-core-synch-l1-2-0.dll' Name='api-ms-win-core-synch-l1-2-0.dll' />
28 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-core-sysinfo-l1-1-0.dll' Name='api-ms-win-core-sysinfo-l1-1-0.dll' />
29 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-core-timezone-l1-1-0.dll' Name='api-ms-win-core-timezone-l1-1-0.dll' />
30 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-core-util-l1-1-0.dll' Name='api-ms-win-core-util-l1-1-0.dll' />
31 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\API-MS-Win-core-xstate-l2-1-0.dll' Name='API-MS-Win-core-xstate-l2-1-0.dll' />
32 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-crt-conio-l1-1-0.dll' Name='api-ms-win-crt-conio-l1-1-0.dll' />
33 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-crt-convert-l1-1-0.dll' Name='api-ms-win-crt-convert-l1-1-0.dll' />
34 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-crt-environment-l1-1-0.dll' Name='api-ms-win-crt-environment-l1-1-0.dll' />
35 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-crt-filesystem-l1-1-0.dll' Name='api-ms-win-crt-filesystem-l1-1-0.dll' />
36 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-crt-heap-l1-1-0.dll' Name='api-ms-win-crt-heap-l1-1-0.dll' />
37 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-crt-locale-l1-1-0.dll' Name='api-ms-win-crt-locale-l1-1-0.dll' />
38 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-crt-math-l1-1-0.dll' Name='api-ms-win-crt-math-l1-1-0.dll' />
39 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-crt-multibyte-l1-1-0.dll' Name='api-ms-win-crt-multibyte-l1-1-0.dll' />
40 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-crt-private-l1-1-0.dll' Name='api-ms-win-crt-private-l1-1-0.dll' />
41 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-crt-process-l1-1-0.dll' Name='api-ms-win-crt-process-l1-1-0.dll' />
42 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-crt-runtime-l1-1-0.dll' Name='api-ms-win-crt-runtime-l1-1-0.dll' />
43 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-crt-stdio-l1-1-0.dll' Name='api-ms-win-crt-stdio-l1-1-0.dll' />
44 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-crt-string-l1-1-0.dll' Name='api-ms-win-crt-string-l1-1-0.dll' />
45 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-crt-time-l1-1-0.dll' Name='api-ms-win-crt-time-l1-1-0.dll' />
46 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\api-ms-win-crt-utility-l1-1-0.dll' Name='api-ms-win-crt-utility-l1-1-0.dll' />
47 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\clrcompression.dll' Name='clrcompression.dll' />
48 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\clretwrc.dll' Name='clretwrc.dll' />
49 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\clrjit.dll' Name='clrjit.dll' />
50 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\coreclr.dll' Name='coreclr.dll' />
51 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\dbgshim.dll' Name='dbgshim.dll' />
52 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\Example.LatestCoreMBA.deps.json' Name='Example.LatestCoreMBA.deps.json' />
53 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\Example.LatestCoreMBA.dll' Name='Example.LatestCoreMBA.dll' bal:BAFactoryAssembly='yes' />
54 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\Example.LatestCoreMBA.pdb' Name='Example.LatestCoreMBA.pdb' />
55 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\Example.LatestCoreMBA.runtimeconfig.json' Name='Example.LatestCoreMBA.runtimeconfig.json' />
56 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\hostfxr.dll' Name='hostfxr.dll' />
57 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\hostpolicy.dll' Name='hostpolicy.dll' />
58 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\mbanative.dll' Name='mbanative.dll' />
59 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\Microsoft.CSharp.dll' Name='Microsoft.CSharp.dll' />
60 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\Microsoft.DiaSymReader.Native.x86.dll' Name='Microsoft.DiaSymReader.Native.x86.dll' />
61 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\Microsoft.VisualBasic.Core.dll' Name='Microsoft.VisualBasic.Core.dll' />
62 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\Microsoft.VisualBasic.dll' Name='Microsoft.VisualBasic.dll' />
63 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\Microsoft.Win32.Primitives.dll' Name='Microsoft.Win32.Primitives.dll' />
64 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\Microsoft.Win32.Registry.dll' Name='Microsoft.Win32.Registry.dll' />
65 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\mscordaccore.dll' Name='mscordaccore.dll' />
66 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\mscordaccore_x86_x86_4.700.19.60701.dll' Name='mscordaccore_x86_x86_4.700.19.60701.dll' />
67 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\mscordbi.dll' Name='mscordbi.dll' />
68 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\mscorlib.dll' Name='mscorlib.dll' />
69 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\mscorrc.debug.dll' Name='mscorrc.debug.dll' />
70 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\mscorrc.dll' Name='mscorrc.dll' />
71 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\netstandard.dll' Name='netstandard.dll' />
72 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\SOS_README.md' Name='SOS_README.md' />
73 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.AppContext.dll' Name='System.AppContext.dll' />
74 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Buffers.dll' Name='System.Buffers.dll' />
75 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Collections.Concurrent.dll' Name='System.Collections.Concurrent.dll' />
76 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Collections.dll' Name='System.Collections.dll' />
77 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Collections.Immutable.dll' Name='System.Collections.Immutable.dll' />
78 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Collections.NonGeneric.dll' Name='System.Collections.NonGeneric.dll' />
79 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Collections.Specialized.dll' Name='System.Collections.Specialized.dll' />
80 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.ComponentModel.Annotations.dll' Name='System.ComponentModel.Annotations.dll' />
81 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.ComponentModel.DataAnnotations.dll' Name='System.ComponentModel.DataAnnotations.dll' />
82 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.ComponentModel.dll' Name='System.ComponentModel.dll' />
83 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.ComponentModel.EventBasedAsync.dll' Name='System.ComponentModel.EventBasedAsync.dll' />
84 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.ComponentModel.Primitives.dll' Name='System.ComponentModel.Primitives.dll' />
85 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.ComponentModel.TypeConverter.dll' Name='System.ComponentModel.TypeConverter.dll' />
86 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Configuration.dll' Name='System.Configuration.dll' />
87 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Console.dll' Name='System.Console.dll' />
88 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Core.dll' Name='System.Core.dll' />
89 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Data.Common.dll' Name='System.Data.Common.dll' />
90 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Data.DataSetExtensions.dll' Name='System.Data.DataSetExtensions.dll' />
91 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Data.dll' Name='System.Data.dll' />
92 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Diagnostics.Contracts.dll' Name='System.Diagnostics.Contracts.dll' />
93 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Diagnostics.Debug.dll' Name='System.Diagnostics.Debug.dll' />
94 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Diagnostics.DiagnosticSource.dll' Name='System.Diagnostics.DiagnosticSource.dll' />
95 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Diagnostics.FileVersionInfo.dll' Name='System.Diagnostics.FileVersionInfo.dll' />
96 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Diagnostics.Process.dll' Name='System.Diagnostics.Process.dll' />
97 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Diagnostics.StackTrace.dll' Name='System.Diagnostics.StackTrace.dll' />
98 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Diagnostics.TextWriterTraceListener.dll' Name='System.Diagnostics.TextWriterTraceListener.dll' />
99 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Diagnostics.Tools.dll' Name='System.Diagnostics.Tools.dll' />
100 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Diagnostics.TraceSource.dll' Name='System.Diagnostics.TraceSource.dll' />
101 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Diagnostics.Tracing.dll' Name='System.Diagnostics.Tracing.dll' />
102 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.dll' Name='System.dll' />
103 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Drawing.dll' Name='System.Drawing.dll' />
104 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Drawing.Primitives.dll' Name='System.Drawing.Primitives.dll' />
105 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Dynamic.Runtime.dll' Name='System.Dynamic.Runtime.dll' />
106 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Globalization.Calendars.dll' Name='System.Globalization.Calendars.dll' />
107 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Globalization.dll' Name='System.Globalization.dll' />
108 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Globalization.Extensions.dll' Name='System.Globalization.Extensions.dll' />
109 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.IO.Compression.Brotli.dll' Name='System.IO.Compression.Brotli.dll' />
110 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.IO.Compression.dll' Name='System.IO.Compression.dll' />
111 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.IO.Compression.FileSystem.dll' Name='System.IO.Compression.FileSystem.dll' />
112 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.IO.Compression.ZipFile.dll' Name='System.IO.Compression.ZipFile.dll' />
113 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.IO.dll' Name='System.IO.dll' />
114 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.IO.FileSystem.AccessControl.dll' Name='System.IO.FileSystem.AccessControl.dll' />
115 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.IO.FileSystem.dll' Name='System.IO.FileSystem.dll' />
116 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.IO.FileSystem.DriveInfo.dll' Name='System.IO.FileSystem.DriveInfo.dll' />
117 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.IO.FileSystem.Primitives.dll' Name='System.IO.FileSystem.Primitives.dll' />
118 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.IO.FileSystem.Watcher.dll' Name='System.IO.FileSystem.Watcher.dll' />
119 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.IO.IsolatedStorage.dll' Name='System.IO.IsolatedStorage.dll' />
120 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.IO.MemoryMappedFiles.dll' Name='System.IO.MemoryMappedFiles.dll' />
121 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.IO.Pipes.AccessControl.dll' Name='System.IO.Pipes.AccessControl.dll' />
122 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.IO.Pipes.dll' Name='System.IO.Pipes.dll' />
123 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.IO.UnmanagedMemoryStream.dll' Name='System.IO.UnmanagedMemoryStream.dll' />
124 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Linq.dll' Name='System.Linq.dll' />
125 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Linq.Expressions.dll' Name='System.Linq.Expressions.dll' />
126 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Linq.Parallel.dll' Name='System.Linq.Parallel.dll' />
127 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Linq.Queryable.dll' Name='System.Linq.Queryable.dll' />
128 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Memory.dll' Name='System.Memory.dll' />
129 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Net.dll' Name='System.Net.dll' />
130 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Net.Http.dll' Name='System.Net.Http.dll' />
131 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Net.HttpListener.dll' Name='System.Net.HttpListener.dll' />
132 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Net.Mail.dll' Name='System.Net.Mail.dll' />
133 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Net.NameResolution.dll' Name='System.Net.NameResolution.dll' />
134 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Net.NetworkInformation.dll' Name='System.Net.NetworkInformation.dll' />
135 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Net.Ping.dll' Name='System.Net.Ping.dll' />
136 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Net.Primitives.dll' Name='System.Net.Primitives.dll' />
137 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Net.Requests.dll' Name='System.Net.Requests.dll' />
138 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Net.Security.dll' Name='System.Net.Security.dll' />
139 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Net.ServicePoint.dll' Name='System.Net.ServicePoint.dll' />
140 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Net.Sockets.dll' Name='System.Net.Sockets.dll' />
141 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Net.WebClient.dll' Name='System.Net.WebClient.dll' />
142 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Net.WebHeaderCollection.dll' Name='System.Net.WebHeaderCollection.dll' />
143 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Net.WebProxy.dll' Name='System.Net.WebProxy.dll' />
144 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Net.WebSockets.Client.dll' Name='System.Net.WebSockets.Client.dll' />
145 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Net.WebSockets.dll' Name='System.Net.WebSockets.dll' />
146 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Numerics.dll' Name='System.Numerics.dll' />
147 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Numerics.Vectors.dll' Name='System.Numerics.Vectors.dll' />
148 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.ObjectModel.dll' Name='System.ObjectModel.dll' />
149 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Private.CoreLib.dll' Name='System.Private.CoreLib.dll' />
150 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Private.DataContractSerialization.dll' Name='System.Private.DataContractSerialization.dll' />
151 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Private.Uri.dll' Name='System.Private.Uri.dll' />
152 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Private.Xml.dll' Name='System.Private.Xml.dll' />
153 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Private.Xml.Linq.dll' Name='System.Private.Xml.Linq.dll' />
154 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Reflection.DispatchProxy.dll' Name='System.Reflection.DispatchProxy.dll' />
155 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Reflection.dll' Name='System.Reflection.dll' />
156 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Reflection.Emit.dll' Name='System.Reflection.Emit.dll' />
157 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Reflection.Emit.ILGeneration.dll' Name='System.Reflection.Emit.ILGeneration.dll' />
158 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Reflection.Emit.Lightweight.dll' Name='System.Reflection.Emit.Lightweight.dll' />
159 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Reflection.Extensions.dll' Name='System.Reflection.Extensions.dll' />
160 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Reflection.Metadata.dll' Name='System.Reflection.Metadata.dll' />
161 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Reflection.Primitives.dll' Name='System.Reflection.Primitives.dll' />
162 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Reflection.TypeExtensions.dll' Name='System.Reflection.TypeExtensions.dll' />
163 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Resources.Reader.dll' Name='System.Resources.Reader.dll' />
164 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Resources.ResourceManager.dll' Name='System.Resources.ResourceManager.dll' />
165 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Resources.Writer.dll' Name='System.Resources.Writer.dll' />
166 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Runtime.CompilerServices.Unsafe.dll' Name='System.Runtime.CompilerServices.Unsafe.dll' />
167 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Runtime.CompilerServices.VisualC.dll' Name='System.Runtime.CompilerServices.VisualC.dll' />
168 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Runtime.dll' Name='System.Runtime.dll' />
169 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Runtime.Extensions.dll' Name='System.Runtime.Extensions.dll' />
170 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Runtime.Handles.dll' Name='System.Runtime.Handles.dll' />
171 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Runtime.InteropServices.dll' Name='System.Runtime.InteropServices.dll' />
172 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Runtime.InteropServices.RuntimeInformation.dll' Name='System.Runtime.InteropServices.RuntimeInformation.dll' />
173 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Runtime.InteropServices.WindowsRuntime.dll' Name='System.Runtime.InteropServices.WindowsRuntime.dll' />
174 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Runtime.Intrinsics.dll' Name='System.Runtime.Intrinsics.dll' />
175 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Runtime.Loader.dll' Name='System.Runtime.Loader.dll' />
176 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Runtime.Numerics.dll' Name='System.Runtime.Numerics.dll' />
177 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Runtime.Serialization.dll' Name='System.Runtime.Serialization.dll' />
178 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Runtime.Serialization.Formatters.dll' Name='System.Runtime.Serialization.Formatters.dll' />
179 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Runtime.Serialization.Json.dll' Name='System.Runtime.Serialization.Json.dll' />
180 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Runtime.Serialization.Primitives.dll' Name='System.Runtime.Serialization.Primitives.dll' />
181 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Runtime.Serialization.Xml.dll' Name='System.Runtime.Serialization.Xml.dll' />
182 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Runtime.WindowsRuntime.dll' Name='System.Runtime.WindowsRuntime.dll' />
183 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Runtime.WindowsRuntime.UI.Xaml.dll' Name='System.Runtime.WindowsRuntime.UI.Xaml.dll' />
184 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Security.AccessControl.dll' Name='System.Security.AccessControl.dll' />
185 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Security.Claims.dll' Name='System.Security.Claims.dll' />
186 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Security.Cryptography.Algorithms.dll' Name='System.Security.Cryptography.Algorithms.dll' />
187 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Security.Cryptography.Cng.dll' Name='System.Security.Cryptography.Cng.dll' />
188 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Security.Cryptography.Csp.dll' Name='System.Security.Cryptography.Csp.dll' />
189 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Security.Cryptography.Encoding.dll' Name='System.Security.Cryptography.Encoding.dll' />
190 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Security.Cryptography.OpenSsl.dll' Name='System.Security.Cryptography.OpenSsl.dll' />
191 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Security.Cryptography.Primitives.dll' Name='System.Security.Cryptography.Primitives.dll' />
192 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Security.Cryptography.X509Certificates.dll' Name='System.Security.Cryptography.X509Certificates.dll' />
193 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Security.dll' Name='System.Security.dll' />
194 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Security.Principal.dll' Name='System.Security.Principal.dll' />
195 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Security.Principal.Windows.dll' Name='System.Security.Principal.Windows.dll' />
196 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Security.SecureString.dll' Name='System.Security.SecureString.dll' />
197 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.ServiceModel.Web.dll' Name='System.ServiceModel.Web.dll' />
198 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.ServiceProcess.dll' Name='System.ServiceProcess.dll' />
199 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Text.Encoding.CodePages.dll' Name='System.Text.Encoding.CodePages.dll' />
200 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Text.Encoding.dll' Name='System.Text.Encoding.dll' />
201 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Text.Encoding.Extensions.dll' Name='System.Text.Encoding.Extensions.dll' />
202 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Text.Encodings.Web.dll' Name='System.Text.Encodings.Web.dll' />
203 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Text.Json.dll' Name='System.Text.Json.dll' />
204 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Text.RegularExpressions.dll' Name='System.Text.RegularExpressions.dll' />
205 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Threading.Channels.dll' Name='System.Threading.Channels.dll' />
206 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Threading.dll' Name='System.Threading.dll' />
207 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Threading.Overlapped.dll' Name='System.Threading.Overlapped.dll' />
208 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Threading.Tasks.Dataflow.dll' Name='System.Threading.Tasks.Dataflow.dll' />
209 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Threading.Tasks.dll' Name='System.Threading.Tasks.dll' />
210 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Threading.Tasks.Extensions.dll' Name='System.Threading.Tasks.Extensions.dll' />
211 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Threading.Tasks.Parallel.dll' Name='System.Threading.Tasks.Parallel.dll' />
212 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Threading.Thread.dll' Name='System.Threading.Thread.dll' />
213 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Threading.ThreadPool.dll' Name='System.Threading.ThreadPool.dll' />
214 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Threading.Timer.dll' Name='System.Threading.Timer.dll' />
215 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Transactions.dll' Name='System.Transactions.dll' />
216 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Transactions.Local.dll' Name='System.Transactions.Local.dll' />
217 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.ValueTuple.dll' Name='System.ValueTuple.dll' />
218 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Web.dll' Name='System.Web.dll' />
219 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Web.HttpUtility.dll' Name='System.Web.HttpUtility.dll' />
220 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Windows.dll' Name='System.Windows.dll' />
221 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Xml.dll' Name='System.Xml.dll' />
222 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Xml.Linq.dll' Name='System.Xml.Linq.dll' />
223 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Xml.ReaderWriter.dll' Name='System.Xml.ReaderWriter.dll' />
224 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Xml.Serialization.dll' Name='System.Xml.Serialization.dll' />
225 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Xml.XDocument.dll' Name='System.Xml.XDocument.dll' />
226 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Xml.XmlDocument.dll' Name='System.Xml.XmlDocument.dll' />
227 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Xml.XmlSerializer.dll' Name='System.Xml.XmlSerializer.dll' />
228 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Xml.XPath.dll' Name='System.Xml.XPath.dll' />
229 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\System.Xml.XPath.XDocument.dll' Name='System.Xml.XPath.XDocument.dll' />
230 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\ucrtbase.dll' Name='ucrtbase.dll' />
231 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\WindowsBase.dll' Name='WindowsBase.dll' />
232 <Payload SourceFile='publish\Example.LatestCoreMBA\scd\WixToolset.Mba.Core.dll' Name='WixToolset.Mba.Core.dll' />
233 </PayloadGroup>
234 </Fragment>
235</Wix> \ No newline at end of file
diff --git a/src/test/WixToolsetTest.ManagedHost/TestData/LatestCoreMBA/HarvestedTrimmedSCD.wxs b/src/test/WixToolsetTest.ManagedHost/TestData/LatestCoreMBA/HarvestedTrimmedSCD.wxs
new file mode 100644
index 00000000..58ba7b39
--- /dev/null
+++ b/src/test/WixToolsetTest.ManagedHost/TestData/LatestCoreMBA/HarvestedTrimmedSCD.wxs
@@ -0,0 +1,113 @@
1<?xml version="1.0" encoding="utf-8"?>
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
3 xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal">
4 <Fragment>
5 <PayloadGroup Id='publish.Example.LatestCoreMBA.trimmedscd'>
6 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-core-console-l1-1-0.dll' Name='api-ms-win-core-console-l1-1-0.dll' />
7 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-core-datetime-l1-1-0.dll' Name='api-ms-win-core-datetime-l1-1-0.dll' />
8 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-core-debug-l1-1-0.dll' Name='api-ms-win-core-debug-l1-1-0.dll' />
9 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-core-errorhandling-l1-1-0.dll' Name='api-ms-win-core-errorhandling-l1-1-0.dll' />
10 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-core-file-l1-1-0.dll' Name='api-ms-win-core-file-l1-1-0.dll' />
11 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-core-file-l1-2-0.dll' Name='api-ms-win-core-file-l1-2-0.dll' />
12 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-core-file-l2-1-0.dll' Name='api-ms-win-core-file-l2-1-0.dll' />
13 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-core-handle-l1-1-0.dll' Name='api-ms-win-core-handle-l1-1-0.dll' />
14 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-core-heap-l1-1-0.dll' Name='api-ms-win-core-heap-l1-1-0.dll' />
15 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-core-interlocked-l1-1-0.dll' Name='api-ms-win-core-interlocked-l1-1-0.dll' />
16 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-core-libraryloader-l1-1-0.dll' Name='api-ms-win-core-libraryloader-l1-1-0.dll' />
17 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-core-localization-l1-2-0.dll' Name='api-ms-win-core-localization-l1-2-0.dll' />
18 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-core-memory-l1-1-0.dll' Name='api-ms-win-core-memory-l1-1-0.dll' />
19 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-core-namedpipe-l1-1-0.dll' Name='api-ms-win-core-namedpipe-l1-1-0.dll' />
20 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-core-processenvironment-l1-1-0.dll' Name='api-ms-win-core-processenvironment-l1-1-0.dll' />
21 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-core-processthreads-l1-1-0.dll' Name='api-ms-win-core-processthreads-l1-1-0.dll' />
22 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-core-processthreads-l1-1-1.dll' Name='api-ms-win-core-processthreads-l1-1-1.dll' />
23 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-core-profile-l1-1-0.dll' Name='api-ms-win-core-profile-l1-1-0.dll' />
24 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-core-rtlsupport-l1-1-0.dll' Name='api-ms-win-core-rtlsupport-l1-1-0.dll' />
25 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-core-string-l1-1-0.dll' Name='api-ms-win-core-string-l1-1-0.dll' />
26 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-core-synch-l1-1-0.dll' Name='api-ms-win-core-synch-l1-1-0.dll' />
27 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-core-synch-l1-2-0.dll' Name='api-ms-win-core-synch-l1-2-0.dll' />
28 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-core-sysinfo-l1-1-0.dll' Name='api-ms-win-core-sysinfo-l1-1-0.dll' />
29 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-core-timezone-l1-1-0.dll' Name='api-ms-win-core-timezone-l1-1-0.dll' />
30 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-core-util-l1-1-0.dll' Name='api-ms-win-core-util-l1-1-0.dll' />
31 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\API-MS-Win-core-xstate-l2-1-0.dll' Name='API-MS-Win-core-xstate-l2-1-0.dll' />
32 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-crt-conio-l1-1-0.dll' Name='api-ms-win-crt-conio-l1-1-0.dll' />
33 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-crt-convert-l1-1-0.dll' Name='api-ms-win-crt-convert-l1-1-0.dll' />
34 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-crt-environment-l1-1-0.dll' Name='api-ms-win-crt-environment-l1-1-0.dll' />
35 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-crt-filesystem-l1-1-0.dll' Name='api-ms-win-crt-filesystem-l1-1-0.dll' />
36 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-crt-heap-l1-1-0.dll' Name='api-ms-win-crt-heap-l1-1-0.dll' />
37 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-crt-locale-l1-1-0.dll' Name='api-ms-win-crt-locale-l1-1-0.dll' />
38 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-crt-math-l1-1-0.dll' Name='api-ms-win-crt-math-l1-1-0.dll' />
39 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-crt-multibyte-l1-1-0.dll' Name='api-ms-win-crt-multibyte-l1-1-0.dll' />
40 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-crt-private-l1-1-0.dll' Name='api-ms-win-crt-private-l1-1-0.dll' />
41 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-crt-process-l1-1-0.dll' Name='api-ms-win-crt-process-l1-1-0.dll' />
42 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-crt-runtime-l1-1-0.dll' Name='api-ms-win-crt-runtime-l1-1-0.dll' />
43 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-crt-stdio-l1-1-0.dll' Name='api-ms-win-crt-stdio-l1-1-0.dll' />
44 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-crt-string-l1-1-0.dll' Name='api-ms-win-crt-string-l1-1-0.dll' />
45 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-crt-time-l1-1-0.dll' Name='api-ms-win-crt-time-l1-1-0.dll' />
46 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\api-ms-win-crt-utility-l1-1-0.dll' Name='api-ms-win-crt-utility-l1-1-0.dll' />
47 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\clrcompression.dll' Name='clrcompression.dll' />
48 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\clretwrc.dll' Name='clretwrc.dll' />
49 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\clrjit.dll' Name='clrjit.dll' />
50 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\coreclr.dll' Name='coreclr.dll' />
51 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\dbgshim.dll' Name='dbgshim.dll' />
52 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\Example.LatestCoreMBA.deps.json' Name='Example.LatestCoreMBA.deps.json' />
53 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\Example.LatestCoreMBA.dll' Name='Example.LatestCoreMBA.dll' bal:BAFactoryAssembly='yes' />
54 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\Example.LatestCoreMBA.pdb' Name='Example.LatestCoreMBA.pdb' />
55 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\Example.LatestCoreMBA.runtimeconfig.json' Name='Example.LatestCoreMBA.runtimeconfig.json' />
56 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\hostfxr.dll' Name='hostfxr.dll' />
57 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\hostpolicy.dll' Name='hostpolicy.dll' />
58 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\mbanative.dll' Name='mbanative.dll' />
59 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\Microsoft.DiaSymReader.Native.x86.dll' Name='Microsoft.DiaSymReader.Native.x86.dll' />
60 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\Microsoft.Win32.Primitives.dll' Name='Microsoft.Win32.Primitives.dll' />
61 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\mscordaccore.dll' Name='mscordaccore.dll' />
62 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\mscordaccore_x86_x86_4.700.19.60701.dll' Name='mscordaccore_x86_x86_4.700.19.60701.dll' />
63 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\mscordbi.dll' Name='mscordbi.dll' />
64 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\mscorrc.debug.dll' Name='mscorrc.debug.dll' />
65 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\mscorrc.dll' Name='mscorrc.dll' />
66 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\SOS_README.md' Name='SOS_README.md' />
67 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Collections.Concurrent.dll' Name='System.Collections.Concurrent.dll' />
68 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Collections.dll' Name='System.Collections.dll' />
69 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Collections.NonGeneric.dll' Name='System.Collections.NonGeneric.dll' />
70 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Collections.Specialized.dll' Name='System.Collections.Specialized.dll' />
71 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Diagnostics.DiagnosticSource.dll' Name='System.Diagnostics.DiagnosticSource.dll' />
72 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Diagnostics.StackTrace.dll' Name='System.Diagnostics.StackTrace.dll' />
73 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Diagnostics.Tools.dll' Name='System.Diagnostics.Tools.dll' />
74 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.IO.Compression.Brotli.dll' Name='System.IO.Compression.Brotli.dll' />
75 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.IO.Compression.dll' Name='System.IO.Compression.dll' />
76 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.IO.FileSystem.dll' Name='System.IO.FileSystem.dll' />
77 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Linq.dll' Name='System.Linq.dll' />
78 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Net.Http.dll' Name='System.Net.Http.dll' />
79 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Net.NameResolution.dll' Name='System.Net.NameResolution.dll' />
80 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Net.NetworkInformation.dll' Name='System.Net.NetworkInformation.dll' />
81 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Net.Primitives.dll' Name='System.Net.Primitives.dll' />
82 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Net.Requests.dll' Name='System.Net.Requests.dll' />
83 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Net.Security.dll' Name='System.Net.Security.dll' />
84 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Net.ServicePoint.dll' Name='System.Net.ServicePoint.dll' />
85 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Net.Sockets.dll' Name='System.Net.Sockets.dll' />
86 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Net.WebHeaderCollection.dll' Name='System.Net.WebHeaderCollection.dll' />
87 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.ObjectModel.dll' Name='System.ObjectModel.dll' />
88 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Private.CoreLib.dll' Name='System.Private.CoreLib.dll' />
89 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Private.Uri.dll' Name='System.Private.Uri.dll' />
90 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Private.Xml.dll' Name='System.Private.Xml.dll' />
91 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Private.Xml.Linq.dll' Name='System.Private.Xml.Linq.dll' />
92 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Reflection.Metadata.dll' Name='System.Reflection.Metadata.dll' />
93 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Runtime.CompilerServices.Unsafe.dll' Name='System.Runtime.CompilerServices.Unsafe.dll' />
94 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Runtime.dll' Name='System.Runtime.dll' />
95 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Runtime.Extensions.dll' Name='System.Runtime.Extensions.dll' />
96 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Runtime.Loader.dll' Name='System.Runtime.Loader.dll' />
97 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Runtime.Numerics.dll' Name='System.Runtime.Numerics.dll' />
98 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Runtime.Serialization.Formatters.dll' Name='System.Runtime.Serialization.Formatters.dll' />
99 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Security.Claims.dll' Name='System.Security.Claims.dll' />
100 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Security.Cryptography.Algorithms.dll' Name='System.Security.Cryptography.Algorithms.dll' />
101 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Security.Cryptography.Cng.dll' Name='System.Security.Cryptography.Cng.dll' />
102 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Security.Cryptography.Csp.dll' Name='System.Security.Cryptography.Csp.dll' />
103 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Security.Cryptography.Encoding.dll' Name='System.Security.Cryptography.Encoding.dll' />
104 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Security.Cryptography.Primitives.dll' Name='System.Security.Cryptography.Primitives.dll' />
105 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Security.Cryptography.X509Certificates.dll' Name='System.Security.Cryptography.X509Certificates.dll' />
106 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Security.Principal.dll' Name='System.Security.Principal.dll' />
107 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Security.Principal.Windows.dll' Name='System.Security.Principal.Windows.dll' />
108 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\System.Text.RegularExpressions.dll' Name='System.Text.RegularExpressions.dll' />
109 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\ucrtbase.dll' Name='ucrtbase.dll' />
110 <Payload SourceFile='publish\Example.LatestCoreMBA\trimmedscd\WixToolset.Mba.Core.dll' Name='WixToolset.Mba.Core.dll' />
111 </PayloadGroup>
112 </Fragment>
113</Wix> \ No newline at end of file
diff --git a/src/test/WixToolsetTest.ManagedHost/TestData/LatestCoreMBA/SelfContainedBundle.wxs b/src/test/WixToolsetTest.ManagedHost/TestData/LatestCoreMBA/SelfContainedBundle.wxs
new file mode 100644
index 00000000..015cc099
--- /dev/null
+++ b/src/test/WixToolsetTest.ManagedHost/TestData/LatestCoreMBA/SelfContainedBundle.wxs
@@ -0,0 +1,12 @@
1<?xml version="1.0" encoding="utf-8"?>
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">
5 <BootstrapperApplicationRef Id="DotNetCoreBootstrapperApplicationHost">
6 <PayloadGroupRef Id="publish.Example.LatestCoreMBA.scd" />
7 </BootstrapperApplicationRef>
8 <Chain>
9 <ExePackage SourceFile="c:\windows\system32\kernel32.dll" PerMachine="yes" />
10 </Chain>
11 </Bundle>
12</Wix>
diff --git a/src/test/WixToolsetTest.ManagedHost/TestData/LatestCoreMBA/TrimmedSelfContainedBundle.wxs b/src/test/WixToolsetTest.ManagedHost/TestData/LatestCoreMBA/TrimmedSelfContainedBundle.wxs
new file mode 100644
index 00000000..39e850a8
--- /dev/null
+++ b/src/test/WixToolsetTest.ManagedHost/TestData/LatestCoreMBA/TrimmedSelfContainedBundle.wxs
@@ -0,0 +1,12 @@
1<?xml version="1.0" encoding="utf-8"?>
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">
5 <BootstrapperApplicationRef Id="DotNetCoreBootstrapperApplicationHost">
6 <PayloadGroupRef Id="publish.Example.LatestCoreMBA.trimmedscd" />
7 </BootstrapperApplicationRef>
8 <Chain>
9 <ExePackage SourceFile="c:\windows\system32\kernel32.dll" PerMachine="yes" />
10 </Chain>
11 </Bundle>
12</Wix>
diff --git a/src/test/WixToolsetTest.ManagedHost/WixToolsetTest.ManagedHost.csproj b/src/test/WixToolsetTest.ManagedHost/WixToolsetTest.ManagedHost.csproj
index 5026af85..1ea4522b 100644
--- a/src/test/WixToolsetTest.ManagedHost/WixToolsetTest.ManagedHost.csproj
+++ b/src/test/WixToolsetTest.ManagedHost/WixToolsetTest.ManagedHost.csproj
@@ -11,9 +11,23 @@
11 <NoWarn>NU1701</NoWarn> 11 <NoWarn>NU1701</NoWarn>
12 </PropertyGroup> 12 </PropertyGroup>
13 13
14 <PropertyGroup>
15 <EarliestCoreMBAProjectPath>..\examples\EarliestCoreMBA\Example.EarliestCoreMBA.csproj</EarliestCoreMBAProjectPath>
16 <LatestCoreMBAProjectPath>..\examples\LatestCoreMBA\Example.LatestCoreMBA.csproj</LatestCoreMBAProjectPath>
17 <MBAPublishPath>$(OutputPath)examples\publish\</MBAPublishPath>
18 </PropertyGroup>
19
14 <ItemGroup> 20 <ItemGroup>
21 <Content Include="TestData\EarliestCoreMBA\HarvestedSCD.wxs" CopyToOutputDirectory="PreserveNewest"/>
22 <Content Include="TestData\EarliestCoreMBA\HarvestedTrimmedSCD.wxs" CopyToOutputDirectory="PreserveNewest"/>
23 <Content Include="TestData\EarliestCoreMBA\SelfContainedBundle.wxs" CopyToOutputDirectory="PreserveNewest"/>
24 <Content Include="TestData\EarliestCoreMBA\TrimmedSelfContainedBundle.wxs" CopyToOutputDirectory="PreserveNewest"/>
15 <Content Include="TestData\FullFramework2MBA\Bundle.wxs" CopyToOutputDirectory="PreserveNewest"/> 25 <Content Include="TestData\FullFramework2MBA\Bundle.wxs" CopyToOutputDirectory="PreserveNewest"/>
16 <Content Include="TestData\FullFramework4MBA\Bundle.wxs" CopyToOutputDirectory="PreserveNewest"/> 26 <Content Include="TestData\FullFramework4MBA\Bundle.wxs" CopyToOutputDirectory="PreserveNewest"/>
27 <Content Include="TestData\LatestCoreMBA\HarvestedSCD.wxs" CopyToOutputDirectory="PreserveNewest"/>
28 <Content Include="TestData\LatestCoreMBA\HarvestedTrimmedSCD.wxs" CopyToOutputDirectory="PreserveNewest"/>
29 <Content Include="TestData\LatestCoreMBA\SelfContainedBundle.wxs" CopyToOutputDirectory="PreserveNewest"/>
30 <Content Include="TestData\LatestCoreMBA\TrimmedSelfContainedBundle.wxs" CopyToOutputDirectory="PreserveNewest"/>
17 </ItemGroup> 31 </ItemGroup>
18 32
19 <Target Name="CopyExtensions" AfterTargets="Build"> 33 <Target Name="CopyExtensions" AfterTargets="Build">
@@ -21,6 +35,17 @@
21 </Target> 35 </Target>
22 36
23 <ItemGroup> 37 <ItemGroup>
38 <CoreMBAProject Include="$(EarliestCoreMBAProjectPath)">
39 <PublishPath>$(MBAPublishPath)Example.EarliestCoreMBA</PublishPath>
40 </CoreMBAProject>
41 <CoreMBAProject Include="$(LatestCoreMBAProjectPath)">
42 <PublishPath>$(MBAPublishPath)Example.LatestCoreMBA</PublishPath>
43 </CoreMBAProject>
44 </ItemGroup>
45
46 <ItemGroup>
47 <ProjectReference Include="$(EarliestCoreMBAProjectPath)" />
48 <ProjectReference Include="$(LatestCoreMBAProjectPath)" />
24 <ProjectReference Include="..\examples\FullFramework2MBA\Example.FullFramework2MBA.csproj" /> 49 <ProjectReference Include="..\examples\FullFramework2MBA\Example.FullFramework2MBA.csproj" />
25 <ProjectReference Include="..\examples\FullFramework4MBA\Example.FullFramework4MBA.csproj" /> 50 <ProjectReference Include="..\examples\FullFramework4MBA\Example.FullFramework4MBA.csproj" />
26 <ProjectReference Include="..\examples\TestEngine\Example.TestEngine.vcxproj" /> 51 <ProjectReference Include="..\examples\TestEngine\Example.TestEngine.vcxproj" />
@@ -40,4 +65,9 @@
40 <PackageReference Include="xunit" Version="2.4.1" /> 65 <PackageReference Include="xunit" Version="2.4.1" />
41 <PackageReference Include="xunit.runner.visualstudio" Version="2.4.1" PrivateAssets="All" /> 66 <PackageReference Include="xunit.runner.visualstudio" Version="2.4.1" PrivateAssets="All" />
42 </ItemGroup> 67 </ItemGroup>
68
69 <Target Name="PublishExamples" AfterTargets="Build">
70 <Exec Command='dotnet publish -o "%(CoreMBAProject.PublishPath)\scd" -r win-x86 -c $(Configuration) --self-contained true "%(CoreMBAProject.Identity)"' />
71 <Exec Command='dotnet publish -o "%(CoreMBAProject.PublishPath)\trimmedscd" -r win-x86 -c $(Configuration) --self-contained true -p:PublishTrimmed=true "%(CoreMBAProject.Identity)"' />
72 </Target>
43</Project> 73</Project>
diff --git a/src/test/examples/EarliestCoreMBA/EarliestCoreBA.cs b/src/test/examples/EarliestCoreMBA/EarliestCoreBA.cs
new file mode 100644
index 00000000..c9291a7f
--- /dev/null
+++ b/src/test/examples/EarliestCoreMBA/EarliestCoreBA.cs
@@ -0,0 +1,34 @@
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
3namespace Example.EarliestCoreMBA
4{
5 using WixToolset.Mba.Core;
6
7 public class EarliestCoreBA : BootstrapperApplication
8 {
9 public EarliestCoreBA(IEngine engine)
10 : base(engine)
11 {
12
13 }
14
15 protected override void Run()
16 {
17 }
18
19 protected override void OnStartup(StartupEventArgs args)
20 {
21 base.OnStartup(args);
22
23 this.engine.Log(LogLevel.Standard, nameof(EarliestCoreBA));
24 }
25
26 protected override void OnShutdown(ShutdownEventArgs args)
27 {
28 base.OnShutdown(args);
29
30 var message = "Shutdown," + args.Action.ToString() + "," + args.HResult.ToString();
31 this.engine.Log(LogLevel.Standard, message);
32 }
33 }
34}
diff --git a/src/test/examples/EarliestCoreMBA/EarliestCoreBAFactory.cs b/src/test/examples/EarliestCoreMBA/EarliestCoreBAFactory.cs
new file mode 100644
index 00000000..672e17ee
--- /dev/null
+++ b/src/test/examples/EarliestCoreMBA/EarliestCoreBAFactory.cs
@@ -0,0 +1,22 @@
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[assembly: WixToolset.Mba.Core.BootstrapperApplicationFactory(typeof(Example.EarliestCoreMBA.EarliestCoreBAFactory))]
4namespace Example.EarliestCoreMBA
5{
6 using WixToolset.Mba.Core;
7
8 public class EarliestCoreBAFactory : BaseBootstrapperApplicationFactory
9 {
10 private static int loadCount = 0;
11
12 protected override IBootstrapperApplication Create(IEngine engine, IBootstrapperCommand bootstrapperCommand)
13 {
14 if (loadCount > 0)
15 {
16 engine.Log(LogLevel.Standard, $"Reloaded {loadCount} time(s)");
17 }
18 ++loadCount;
19 return new EarliestCoreBA(engine);
20 }
21 }
22}
diff --git a/src/test/examples/EarliestCoreMBA/Example.EarliestCoreMBA.csproj b/src/test/examples/EarliestCoreMBA/Example.EarliestCoreMBA.csproj
new file mode 100644
index 00000000..326633ba
--- /dev/null
+++ b/src/test/examples/EarliestCoreMBA/Example.EarliestCoreMBA.csproj
@@ -0,0 +1,18 @@
1<Project Sdk="Microsoft.NET.Sdk">
2
3 <PropertyGroup>
4 <TargetFramework>netcoreapp3.0</TargetFramework>
5 <RuntimeIdentifiers>win-x86;win-x64</RuntimeIdentifiers>
6 <EnableDynamicLoading>true</EnableDynamicLoading>
7 <Description>Earliest .NET Core MBA</Description>
8 </PropertyGroup>
9
10 <ItemGroup>
11 <TrimmerRootAssembly Include="System.Runtime.Loader" />
12 </ItemGroup>
13
14 <ItemGroup>
15 <PackageReference Include="Nerdbank.GitVersioning" Version="2.1.65" PrivateAssets="all" />
16 <PackageReference Include="WixToolset.Mba.Core" Version="4.0.19" />
17 </ItemGroup>
18</Project> \ No newline at end of file
diff --git a/src/test/examples/LatestCoreMBA/Example.LatestCoreMBA.csproj b/src/test/examples/LatestCoreMBA/Example.LatestCoreMBA.csproj
new file mode 100644
index 00000000..1d325b1b
--- /dev/null
+++ b/src/test/examples/LatestCoreMBA/Example.LatestCoreMBA.csproj
@@ -0,0 +1,23 @@
1<Project Sdk="Microsoft.NET.Sdk">
2
3 <PropertyGroup>
4 <TargetFramework>netcoreapp3.1</TargetFramework>
5 <RuntimeIdentifiers>win-x86;win-x64</RuntimeIdentifiers>
6 <EnableDynamicLoading>true</EnableDynamicLoading>
7 <Description>Latest .NET Core MBA</Description>
8 </PropertyGroup>
9
10 <PropertyGroup Condition="'$(PublishTrimmed)'=='true'">
11 <PublishReadyToRunShowWarnings>false</PublishReadyToRunShowWarnings>
12 <PublishReadyToRun>true</PublishReadyToRun>
13 </PropertyGroup>
14
15 <ItemGroup>
16 <TrimmerRootAssembly Include="System.Runtime.Loader" />
17 </ItemGroup>
18
19 <ItemGroup>
20 <PackageReference Include="Nerdbank.GitVersioning" Version="2.1.65" PrivateAssets="all" />
21 <PackageReference Include="WixToolset.Mba.Core" Version="4.0.19" />
22 </ItemGroup>
23</Project> \ No newline at end of file
diff --git a/src/test/examples/LatestCoreMBA/LatestCoreBA.cs b/src/test/examples/LatestCoreMBA/LatestCoreBA.cs
new file mode 100644
index 00000000..50386a87
--- /dev/null
+++ b/src/test/examples/LatestCoreMBA/LatestCoreBA.cs
@@ -0,0 +1,33 @@
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
3namespace Example.LatestCoreMBA
4{
5 using WixToolset.Mba.Core;
6
7 public class LatestCoreBA : BootstrapperApplication
8 {
9 public LatestCoreBA(IEngine engine)
10 : base(engine)
11 {
12 }
13
14 protected override void Run()
15 {
16 }
17
18 protected override void OnStartup(StartupEventArgs args)
19 {
20 base.OnStartup(args);
21
22 this.engine.Log(LogLevel.Standard, nameof(LatestCoreBA));
23 }
24
25 protected override void OnShutdown(ShutdownEventArgs args)
26 {
27 base.OnShutdown(args);
28
29 var message = "Shutdown," + args.Action.ToString() + "," + args.HResult.ToString();
30 this.engine.Log(LogLevel.Standard, message);
31 }
32 }
33}
diff --git a/src/test/examples/LatestCoreMBA/LatestCoreBAFactory.cs b/src/test/examples/LatestCoreMBA/LatestCoreBAFactory.cs
new file mode 100644
index 00000000..fff3b5c5
--- /dev/null
+++ b/src/test/examples/LatestCoreMBA/LatestCoreBAFactory.cs
@@ -0,0 +1,22 @@
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[assembly: WixToolset.Mba.Core.BootstrapperApplicationFactory(typeof(Example.LatestCoreMBA.LatestCoreBAFactory))]
4namespace Example.LatestCoreMBA
5{
6 using WixToolset.Mba.Core;
7
8 public class LatestCoreBAFactory : BaseBootstrapperApplicationFactory
9 {
10 private static int loadCount = 0;
11
12 protected override IBootstrapperApplication Create(IEngine engine, IBootstrapperCommand bootstrapperCommand)
13 {
14 if (loadCount > 0)
15 {
16 engine.Log(LogLevel.Standard, $"Reloaded {loadCount} time(s)");
17 }
18 ++loadCount;
19 return new LatestCoreBA(engine);
20 }
21 }
22}
diff --git a/src/test/examples/TestEngine/TestEngine.cpp b/src/test/examples/TestEngine/TestEngine.cpp
index 203df115..f0811e0a 100644
--- a/src/test/examples/TestEngine/TestEngine.cpp
+++ b/src/test/examples/TestEngine/TestEngine.cpp
@@ -35,6 +35,12 @@ HRESULT TestEngine::LoadBA(
35 35
36 command.cbSize = sizeof(BOOTSTRAPPER_COMMAND); 36 command.cbSize = sizeof(BOOTSTRAPPER_COMMAND);
37 37
38 hr = PathGetDirectory(wzBAFilePath, &command.wzBootstrapperWorkingFolder);
39 ConsoleExitOnFailure(hr, CONSOLE_COLOR_RED, "Failed to allocate wzBootstrapperWorkingFolder");
40
41 hr = PathConcat(command.wzBootstrapperWorkingFolder, L"BootstrapperApplicationData.xml", &command.wzBootstrapperApplicationDataPath);
42 ConsoleExitOnFailure(hr, CONSOLE_COLOR_RED, "Failed to allocate wzBootstrapperApplicationDataPath");
43
38 args.cbSize = sizeof(BOOTSTRAPPER_CREATE_ARGS); 44 args.cbSize = sizeof(BOOTSTRAPPER_CREATE_ARGS);
39 args.pCommand = &command; 45 args.pCommand = &command;
40 args.pfnBootstrapperEngineProc = TestEngine::EngineProc; 46 args.pfnBootstrapperEngineProc = TestEngine::EngineProc;
@@ -53,6 +59,9 @@ HRESULT TestEngine::LoadBA(
53 ConsoleExitOnFailure(hr, CONSOLE_COLOR_RED, "BA returned failure on BootstrapperApplicationCreate."); 59 ConsoleExitOnFailure(hr, CONSOLE_COLOR_RED, "BA returned failure on BootstrapperApplicationCreate.");
54 60
55LExit: 61LExit:
62 ReleaseStr(command.wzBootstrapperApplicationDataPath);
63 ReleaseStr(command.wzBootstrapperWorkingFolder);
64
56 return hr; 65 return hr;
57} 66}
58 67
@@ -92,6 +101,7 @@ HRESULT TestEngine::SendStartupEvent()
92void TestEngine::UnloadBA() 101void TestEngine::UnloadBA()
93{ 102{
94 PFN_BOOTSTRAPPER_APPLICATION_DESTROY pfnDestroy = NULL; 103 PFN_BOOTSTRAPPER_APPLICATION_DESTROY pfnDestroy = NULL;
104 BOOL fDisableUnloading = m_pCreateResults && m_pCreateResults->fDisableUnloading;
95 105
96 ReleaseNullMem(m_pCreateResults); 106 ReleaseNullMem(m_pCreateResults);
97 107
@@ -104,7 +114,11 @@ void TestEngine::UnloadBA()
104 114
105 if (m_hBAModule) 115 if (m_hBAModule)
106 { 116 {
107 ::FreeLibrary(m_hBAModule); 117 if (!fDisableUnloading)
118 {
119 ::FreeLibrary(m_hBAModule);
120 }
121
108 m_hBAModule = NULL; 122 m_hBAModule = NULL;
109 } 123 }
110} 124}
diff --git a/src/test/examples/TestEngine/precomp.h b/src/test/examples/TestEngine/precomp.h
index 0d2afb06..3fbc7e90 100644
--- a/src/test/examples/TestEngine/precomp.h
+++ b/src/test/examples/TestEngine/precomp.h
@@ -9,6 +9,7 @@
9#include "logutil.h" 9#include "logutil.h"
10#include "memutil.h" 10#include "memutil.h"
11#include "pathutil.h" 11#include "pathutil.h"
12#include "strutil.h"
12 13
13#include "BootstrapperEngine.h" 14#include "BootstrapperEngine.h"
14#include "BootstrapperApplication.h" 15#include "BootstrapperApplication.h"