aboutsummaryrefslogtreecommitdiff
path: root/src/tools/test
diff options
context:
space:
mode:
authorBob Arnson <bob@firegiant.com>2025-04-24 21:32:49 -0400
committerBob Arnson <bob@firegiant.com>2025-06-12 08:54:41 -0400
commit3abf00a71151d1caef6e853a2f330d7691f4abf8 (patch)
tree0e6145c8038905aec81ecccaea4c6968cf73d392 /src/tools/test
parent796fed6b2623ec29b126238d97becfef71badfbc (diff)
downloadwix-bob/HeatCremation.tar.gz
wix-bob/HeatCremation.tar.bz2
wix-bob/HeatCremation.zip
Remove deprecated Heat.bob/HeatCremation
Fixes https://github.com/wixtoolset/issues/issues/9039
Diffstat (limited to 'src/tools/test')
-rw-r--r--src/tools/test/Directory.Build.props10
-rw-r--r--src/tools/test/WixToolsetTest.Heat/DirectoryToPayloadGroupFixture.cs115
-rw-r--r--src/tools/test/WixToolsetTest.Heat/HeatFixture.cs224
-rw-r--r--src/tools/test/WixToolsetTest.Heat/HeatRunner.cs82
-rw-r--r--src/tools/test/WixToolsetTest.Heat/TestData/NestedFiles/Nested/c.txt1
-rw-r--r--src/tools/test/WixToolsetTest.Heat/TestData/NestedFiles/b.txt1
-rw-r--r--src/tools/test/WixToolsetTest.Heat/TestData/RegFile/Expected.wxs51
-rw-r--r--src/tools/test/WixToolsetTest.Heat/TestData/RegFile/ExpectedWithComponentGroup.wxs54
-rw-r--r--src/tools/test/WixToolsetTest.Heat/TestData/RegFile/input.reg41
-rw-r--r--src/tools/test/WixToolsetTest.Heat/TestData/RegFile/input.xslt23
-rw-r--r--src/tools/test/WixToolsetTest.Heat/TestData/SingleFile/a.txt1
-rw-r--r--src/tools/test/WixToolsetTest.Heat/WixToolsetTest.Heat.csproj22
-rw-r--r--src/tools/test/WixToolsetTest.HeatTasks/MsbuildHeatFixture.cs411
-rw-r--r--src/tools/test/WixToolsetTest.HeatTasks/TestData/EnsureWixSdkCached/EnsureWixSdkCached.wixproj4
-rw-r--r--src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFileMultipleFilesSameFileName/HeatFileMultipleFilesSameFileName.wixproj26
-rw-r--r--src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFileMultipleFilesSameFileName/MyProgram.json1
-rw-r--r--src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFileMultipleFilesSameFileName/MyProgram.txt1
-rw-r--r--src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFileMultipleFilesSameFileName/Package.wxs18
-rw-r--r--src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFilePackage/HeatFilePackage.wixproj21
-rw-r--r--src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFilePackage/Package.wxs17
-rw-r--r--src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/HeatProjectPreSdkStyle/HeatProjectPreSdkStyle.wixproj18
-rw-r--r--src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/HeatProjectPreSdkStyle/Package.wxs17
-rw-r--r--src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/HeatProjectSdkStyle/HeatProjectSdkStyle.wixproj18
-rw-r--r--src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/HeatProjectSdkStyle/Package.wxs17
-rw-r--r--src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/SdkStyleCs/SdkStyleCs.cs8
-rw-r--r--src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/SdkStyleCs/SdkStyleCs.csproj8
-rw-r--r--src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/Tools Version 4Cs/Properties/AssemblyInfo.cs11
-rw-r--r--src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/Tools Version 4Cs/Tools Version 4Cs.csproj36
-rw-r--r--src/tools/test/WixToolsetTest.HeatTasks/WixToolsetTest.HeatTasks.csproj20
-rw-r--r--src/tools/test/WixToolsetTest.HeatTasks/WixToolsetTest.HeatTasks.v3.ncrunchproject5
30 files changed, 0 insertions, 1282 deletions
diff --git a/src/tools/test/Directory.Build.props b/src/tools/test/Directory.Build.props
deleted file mode 100644
index a0c9a659..00000000
--- a/src/tools/test/Directory.Build.props
+++ /dev/null
@@ -1,10 +0,0 @@
1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3
4<Project>
5 <Import Project="..\Directory.Build.props" />
6
7 <PropertyGroup>
8 <OutputPath>$(OutputPath)test\$(ProjectName)</OutputPath>
9 </PropertyGroup>
10</Project>
diff --git a/src/tools/test/WixToolsetTest.Heat/DirectoryToPayloadGroupFixture.cs b/src/tools/test/WixToolsetTest.Heat/DirectoryToPayloadGroupFixture.cs
deleted file mode 100644
index db71c4cd..00000000
--- a/src/tools/test/WixToolsetTest.Heat/DirectoryToPayloadGroupFixture.cs
+++ /dev/null
@@ -1,115 +0,0 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3namespace WixToolsetTest.Heat
4{
5 using System;
6 using System.IO;
7 using System.Linq;
8 using Microsoft.VisualStudio.TestTools.UnitTesting;
9 using WixInternal.MSTestSupport;
10
11 [TestClass]
12 public class DirectoryToPayloadGroupFixture
13 {
14 [TestMethod]
15 public void CanHarvestSimpleDirectory()
16 {
17 var folder = TestData.Get("TestData", "SingleFile");
18
19 using (var fs = new DisposableFileSystem())
20 {
21 var outputPath = Path.Combine(fs.GetFolder(), "out.wxs");
22
23 var args = new[]
24 {
25 "dir", folder,
26 "-generate", "payloadgroup",
27 "-o", outputPath
28 };
29
30 var result = HeatRunner.Execute(args);
31 result.AssertSuccess();
32
33 var wxs = File.ReadAllLines(outputPath).Select(s => s.Replace("\"", "'")).ToArray();
34 WixAssert.CompareLineByLine(new[]
35 {
36 "<Wix xmlns='http://wixtoolset.org/schemas/v4/wxs'>",
37 " <Fragment>",
38 " <PayloadGroup Id='TARGETDIR'>",
39 " <Payload SourceFile='SourceDir\\a.txt' />",
40 " </PayloadGroup>",
41 " </Fragment>",
42 "</Wix>",
43 }, wxs);
44 }
45 }
46
47 [TestMethod]
48 public void CanHarvestSimpleDirectoryWithSourceDirSubstitution()
49 {
50 var folder = TestData.Get("TestData", "SingleFile");
51
52 using (var fs = new DisposableFileSystem())
53 {
54 var outputPath = Path.Combine(fs.GetFolder(), "out.wxs");
55
56 var args = new[]
57 {
58 "dir", folder,
59 "-generate", "payloadgroup",
60 "-var", "var.RootDir",
61 "-o", outputPath
62 };
63
64 var result = HeatRunner.Execute(args);
65 result.AssertSuccess();
66
67 var wxs = File.ReadAllLines(outputPath).Select(s => s.Replace("\"", "'")).ToArray();
68 WixAssert.CompareLineByLine(new[]
69 {
70 "<Wix xmlns='http://wixtoolset.org/schemas/v4/wxs'>",
71 " <Fragment>",
72 " <PayloadGroup Id='TARGETDIR'>",
73 " <Payload SourceFile='$(var.RootDir)\\a.txt' />",
74 " </PayloadGroup>",
75 " </Fragment>",
76 "</Wix>",
77 }, wxs);
78 }
79 }
80
81 [TestMethod]
82 public void CanHarvestNestedFiles()
83 {
84 var folder = TestData.Get("TestData", "NestedFiles");
85
86 using (var fs = new DisposableFileSystem())
87 {
88 var outputPath = Path.Combine(fs.GetFolder(), "out.wxs");
89
90 var args = new[]
91 {
92 "dir", folder,
93 "-generate", "payloadgroup",
94 "-o", outputPath
95 };
96
97 var result = HeatRunner.Execute(args);
98 result.AssertSuccess();
99
100 var wxs = File.ReadAllLines(outputPath).Select(s => s.Replace("\"", "'")).ToArray();
101 WixAssert.CompareLineByLine(new[]
102 {
103 "<Wix xmlns='http://wixtoolset.org/schemas/v4/wxs'>",
104 " <Fragment>",
105 " <PayloadGroup Id='TARGETDIR'>",
106 " <Payload SourceFile='SourceDir\\Nested\\c.txt' Name='Nested\\c.txt' />",
107 " <Payload SourceFile='SourceDir\\b.txt' />",
108 " </PayloadGroup>",
109 " </Fragment>",
110 "</Wix>",
111 }, wxs);
112 }
113 }
114 }
115}
diff --git a/src/tools/test/WixToolsetTest.Heat/HeatFixture.cs b/src/tools/test/WixToolsetTest.Heat/HeatFixture.cs
deleted file mode 100644
index c5f3df74..00000000
--- a/src/tools/test/WixToolsetTest.Heat/HeatFixture.cs
+++ /dev/null
@@ -1,224 +0,0 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3namespace WixToolsetTest.Heat
4{
5 using System.IO;
6 using System.Linq;
7 using Microsoft.VisualStudio.TestTools.UnitTesting;
8 using WixInternal.MSTestSupport;
9
10 [TestClass]
11 public class HeatFixture
12 {
13 [TestMethod]
14 public void CanHarvestSimpleDirectory()
15 {
16 var folder = TestData.Get("TestData", "SingleFile");
17
18 using (var fs = new DisposableFileSystem())
19 {
20 var outputPath = Path.Combine(fs.GetFolder(), "out.wxs");
21
22 var args = new[]
23 {
24 "dir", folder,
25 "-o", outputPath
26 };
27
28 var result = HeatRunner.Execute(args);
29 result.AssertSuccess();
30
31 var wxs = File.ReadAllLines(outputPath).Select(s => s.Replace("\"", "'")).ToArray();
32 WixAssert.CompareLineByLine(new[]
33 {
34 "<Wix xmlns='http://wixtoolset.org/schemas/v4/wxs'>",
35 " <Fragment>",
36 " <StandardDirectory Id='TARGETDIR'>",
37 " <Directory Id='dirwsJn0Cqs9KdlDSFdQsu9ygYvMF8' Name='SingleFile' />",
38 " </StandardDirectory>",
39 " </Fragment>",
40 " <Fragment>",
41 " <DirectoryRef Id='dirwsJn0Cqs9KdlDSFdQsu9ygYvMF8'>",
42 " <Component Id='cmp0i3dThrp4nheCteEmXvHxBDa_VE' Guid='PUT-GUID-HERE'>",
43 " <File Id='filziMcXYgrmcbVF8PuTUfIB9Vgqo0' KeyPath='yes' Source='SourceDir\\a.txt' />",
44 " </Component>",
45 " </DirectoryRef>",
46 " </Fragment>",
47 "</Wix>",
48 }, wxs);
49 }
50 }
51
52 [TestMethod]
53 public void CanHarvestSimpleDirectoryToComponentGroup()
54 {
55 var folder = TestData.Get("TestData", "SingleFile");
56
57 using (var fs = new DisposableFileSystem())
58 {
59 var outputPath = Path.Combine(fs.GetFolder(), "out.wxs");
60
61 var args = new[]
62 {
63 "dir", folder,
64 "-cg", "CG1",
65 "-o", outputPath
66 };
67
68 var result = HeatRunner.Execute(args);
69 result.AssertSuccess();
70
71 var wxs = File.ReadAllLines(outputPath).Select(s => s.Replace("\"", "'")).ToArray();
72 WixAssert.CompareLineByLine(new[]
73 {
74 "<Wix xmlns='http://wixtoolset.org/schemas/v4/wxs'>",
75 " <Fragment>",
76 " <StandardDirectory Id='TARGETDIR'>",
77 " <Directory Id='dirwsJn0Cqs9KdlDSFdQsu9ygYvMF8' Name='SingleFile' />",
78 " </StandardDirectory>",
79 " </Fragment>",
80 " <Fragment>",
81 " <ComponentGroup Id='CG1'>",
82 " <Component Id='cmp0i3dThrp4nheCteEmXvHxBDa_VE' Directory='dirwsJn0Cqs9KdlDSFdQsu9ygYvMF8' Guid='PUT-GUID-HERE'>",
83 " <File Id='filziMcXYgrmcbVF8PuTUfIB9Vgqo0' KeyPath='yes' Source='SourceDir\\a.txt' />",
84 " </Component>",
85 " </ComponentGroup>",
86 " </Fragment>",
87 "</Wix>",
88 }, wxs);
89 }
90 }
91
92 [TestMethod]
93 public void CanHarvestSimpleDirectoryToInstallFolder()
94 {
95 var folder = TestData.Get("TestData", "SingleFile");
96
97 using (var fs = new DisposableFileSystem())
98 {
99 var outputPath = Path.Combine(fs.GetFolder(), "out.wxs");
100
101 var args = new[]
102 {
103 "dir", folder,
104 "-dr", "INSTALLFOLDER",
105 "-indent", "2",
106 "-o", outputPath
107 };
108
109 var result = HeatRunner.Execute(args);
110 result.AssertSuccess();
111
112 var wxs = File.ReadAllLines(outputPath).Select(s => s.Replace("\"", "'")).ToArray();
113 WixAssert.CompareLineByLine(new[]
114 {
115 "<Wix xmlns='http://wixtoolset.org/schemas/v4/wxs'>",
116 " <Fragment>",
117 " <DirectoryRef Id='INSTALLFOLDER'>",
118 " <Directory Id='dirlooNEIrtEBL2w_RhFEIgiKcUlxE' Name='SingleFile' />",
119 " </DirectoryRef>",
120 " </Fragment>",
121 " <Fragment>",
122 " <DirectoryRef Id='dirlooNEIrtEBL2w_RhFEIgiKcUlxE'>",
123 " <Component Id='cmpxHVF6oXohc0EWgRphmYZvw5.GGU' Guid='PUT-GUID-HERE'>",
124 " <File Id='filk_7KUAfL4VfzxSRsGFf_XOBHln0' KeyPath='yes' Source='SourceDir\\a.txt' />",
125 " </Component>",
126 " </DirectoryRef>",
127 " </Fragment>",
128 "</Wix>",
129 }, wxs);
130 }
131 }
132
133 [TestMethod]
134 public void CanHarvestFile()
135 {
136 var folder = TestData.Get("TestData", "SingleFile");
137
138 using (var fs = new DisposableFileSystem())
139 {
140 var outputPath = Path.Combine(fs.GetFolder(), "out.wxs");
141
142 var args = new[]
143 {
144 "file", Path.Combine(folder, "a.txt"),
145 "-cg", "GroupA",
146 "-dr", "ProgramFiles6432Folder",
147 "-o", outputPath
148
149 };
150
151 var result = HeatRunner.Execute(args);
152 result.AssertSuccess();
153
154 var wxs = File.ReadAllLines(outputPath).Select(s => s.Replace("\"", "'")).ToArray();
155 WixAssert.CompareLineByLine(new[]
156 {
157 "<Wix xmlns='http://wixtoolset.org/schemas/v4/wxs'>",
158 " <Fragment>",
159 " <StandardDirectory Id='ProgramFiles6432Folder'>",
160 " <Directory Id='dirl6r_Yc0gvMUEUVe5rioOOIIasoU' Name='SingleFile' />",
161 " </StandardDirectory>",
162 " </Fragment>",
163 " <Fragment>",
164 " <ComponentGroup Id='GroupA'>",
165 " <Component Id='cmpfBcW61_XzosRWK3EzUTBtJrcJD8' Directory='dirl6r_Yc0gvMUEUVe5rioOOIIasoU' Guid='PUT-GUID-HERE'>",
166 " <File Id='filKrZgaIOSKpNZXFnezZc9X.LKGpw' KeyPath='yes' Source='SourceDir\\SingleFile\\a.txt' />",
167 " </Component>",
168 " </ComponentGroup>",
169 " </Fragment>",
170 "</Wix>",
171 }, wxs);
172 }
173 }
174
175 [TestMethod]
176 public void CanHarvestRegistry()
177 {
178 var folder = TestData.Get("TestData", "RegFile");
179
180 using (var fs = new DisposableFileSystem())
181 {
182 var outputPath = Path.Combine(fs.GetFolder(), "out.wxs");
183
184 var args = new[]
185 {
186 "reg", Path.Combine(folder, "input.reg"),
187 "-o", outputPath
188 };
189
190 var result = HeatRunner.Execute(args);
191 result.AssertSuccess();
192
193 var actual = File.ReadAllLines(outputPath).Select(s => s.Replace("\"", "'")).ToArray();
194 var expected = File.ReadAllLines(Path.Combine(folder, "Expected.wxs")).Select(s => s.Replace("\"", "'")).ToArray();
195 WixAssert.CompareLineByLine(expected, actual);
196 }
197 }
198
199 [TestMethod]
200 public void CanHarvestRegistryIntoComponentGroup()
201 {
202 var folder = TestData.Get("TestData", "RegFile");
203
204 using (var fs = new DisposableFileSystem())
205 {
206 var outputPath = Path.Combine(fs.GetFolder(), "out.wxs");
207
208 var args = new[]
209 {
210 "reg", Path.Combine(folder, "input.reg"),
211 "-cg", "CG1",
212 "-o", outputPath
213 };
214
215 var result = HeatRunner.Execute(args);
216 result.AssertSuccess();
217
218 var actual = File.ReadAllLines(outputPath).Select(s => s.Replace("\"", "'")).ToArray();
219 var expected = File.ReadAllLines(Path.Combine(folder, "ExpectedWithComponentGroup.wxs")).Select(s => s.Replace("\"", "'")).ToArray();
220 WixAssert.CompareLineByLine(expected, actual);
221 }
222 }
223 }
224}
diff --git a/src/tools/test/WixToolsetTest.Heat/HeatRunner.cs b/src/tools/test/WixToolsetTest.Heat/HeatRunner.cs
deleted file mode 100644
index d8dec06f..00000000
--- a/src/tools/test/WixToolsetTest.Heat/HeatRunner.cs
+++ /dev/null
@@ -1,82 +0,0 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3namespace WixToolsetTest.Heat
4{
5 using System.Collections.Generic;
6 using System.Threading.Tasks;
7 using WixToolset.Core;
8 using WixInternal.Core.MSTestPackage;
9 using WixToolset.Data;
10 using WixToolset.Extensibility.Services;
11 using WixToolset.Tools.Heat;
12
13 /// <summary>
14 /// Utility class to emulate heat.exe.
15 /// </summary>
16 public static class HeatRunner
17 {
18 /// <summary>
19 /// Emulates calling heat.exe.
20 /// </summary>
21 /// <param name="args"></param>
22 /// <param name="messages"></param>
23 /// <param name="warningsAsErrors"></param>
24 /// <returns></returns>
25 public static int Execute(string[] args, out List<Message> messages, bool warningsAsErrors = true)
26 {
27 var serviceProvider = WixToolsetServiceProviderFactory.CreateServiceProvider();
28 var task = Execute(args, serviceProvider, out messages, warningsAsErrors: warningsAsErrors);
29 return task.Result;
30 }
31
32 /// <summary>
33 /// Emulates calling wix.exe with standard backends.
34 /// This overload always treats warnings as errors.
35 /// </summary>
36 /// <param name="args"></param>
37 /// <returns></returns>
38 public static WixRunnerResult Execute(params string[] args)
39 {
40 return Execute(warningsAsErrors: false, args);
41 }
42
43 /// <summary>
44 /// Emulates calling wix.exe with standard backends.
45 /// </summary>
46 /// <param name="warningsAsErrors"></param>
47 /// <param name="args"></param>
48 /// <returns></returns>
49 public static WixRunnerResult Execute(bool warningsAsErrors, params string[] args)
50 {
51 var serviceProvider = WixToolsetServiceProviderFactory.CreateServiceProvider();
52 var exitCode = Execute(args, serviceProvider, out var messages, warningsAsErrors: warningsAsErrors);
53 return new WixRunnerResult { ExitCode = exitCode.Result, Messages = messages.ToArray() };
54 }
55
56 /// <summary>
57 /// Emulates calling wix.exe with standard backends.
58 /// </summary>
59 /// <param name="args"></param>
60 /// <param name="coreProvider"></param>
61 /// <param name="messages"></param>
62 /// <param name="warningsAsErrors"></param>
63 /// <returns></returns>
64 public static Task<int> Execute(string[] args, IWixToolsetCoreServiceProvider coreProvider, out List<Message> messages, bool warningsAsErrors = true)
65 {
66 var listener = new TestMessageListener();
67
68 messages = listener.Messages;
69
70 var messaging = coreProvider.GetService<IMessaging>();
71 messaging.SetListener(listener);
72
73 if (warningsAsErrors)
74 {
75 messaging.WarningsAsError = true;
76 }
77
78 var program = new Program();
79 return program.Run(coreProvider, listener, args);
80 }
81 }
82}
diff --git a/src/tools/test/WixToolsetTest.Heat/TestData/NestedFiles/Nested/c.txt b/src/tools/test/WixToolsetTest.Heat/TestData/NestedFiles/Nested/c.txt
deleted file mode 100644
index 17c43215..00000000
--- a/src/tools/test/WixToolsetTest.Heat/TestData/NestedFiles/Nested/c.txt
+++ /dev/null
@@ -1 +0,0 @@
1This be c.txt. \ No newline at end of file
diff --git a/src/tools/test/WixToolsetTest.Heat/TestData/NestedFiles/b.txt b/src/tools/test/WixToolsetTest.Heat/TestData/NestedFiles/b.txt
deleted file mode 100644
index 704b3d88..00000000
--- a/src/tools/test/WixToolsetTest.Heat/TestData/NestedFiles/b.txt
+++ /dev/null
@@ -1 +0,0 @@
1This is b.txt
diff --git a/src/tools/test/WixToolsetTest.Heat/TestData/RegFile/Expected.wxs b/src/tools/test/WixToolsetTest.Heat/TestData/RegFile/Expected.wxs
deleted file mode 100644
index 2bc48bca..00000000
--- a/src/tools/test/WixToolsetTest.Heat/TestData/RegFile/Expected.wxs
+++ /dev/null
@@ -1,51 +0,0 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Fragment>
3 <StandardDirectory Id="TARGETDIR">
4 <Component Id="cmpojwP28s4WmDsBqWw98dt3GqX0Qc" Guid="PUT-GUID-HERE" KeyPath="yes">
5 <RegistryKey ForceCreateOnInstall="yes" Key="SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\service.jvm.web" Root="HKLM" />
6 </Component>
7 <Component Id="cmplcKhDXbrKnnKie3DODK0NdtNNOg" Guid="PUT-GUID-HERE" KeyPath="yes">
8 <RegistryKey ForceCreateOnInstall="yes" Key="SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\service.jvm.web\Parameters" Root="HKLM" />
9 </Component>
10 <Component Id="cmpQwsceagjGFkCYf0mDbar_x8di7o" Guid="PUT-GUID-HERE" KeyPath="yes">
11 <RegistryKey Key="SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\service.jvm.web\Parameters\Java" Root="HKLM">
12 <RegistryValue Name="Options" Type="multiString">
13 <MultiStringValue Value="-Ddaemon.clojure.ns=panther.was.web.daemon" />
14 </RegistryValue>
15 <RegistryValue Name="Options9" Type="multiString">
16 <MultiStringValue Value="--add-modules=java.corba" />
17 </RegistryValue>
18 <RegistryValue Name="Classpath" Value="%WAS_DEPS_CLASSPATH%\*;%ServiceBasePath%\Sensors\service.jvm.web-standalone.jar" Type="string" />
19 <RegistryValue Name="JvmMx" Value="4096" Type="integer" />
20 </RegistryKey>
21 </Component>
22 <Component Id="cmpmdi0PQPGI0rXbHgRjCLk1kVRjDY" Guid="PUT-GUID-HERE" KeyPath="yes">
23 <RegistryKey Key="SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\service.jvm.web\Parameters\Log" Root="HKLM">
24 <RegistryValue Name="Prefix" Value="service.jvm.web" Type="string" />
25 </RegistryKey>
26 </Component>
27 <Component Id="cmpZMMSl80BpzgFJnOoQHZhE6TKx5c" Guid="PUT-GUID-HERE" KeyPath="yes">
28 <RegistryKey Key="SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\service.jvm.web\Parameters\Start" Root="HKLM">
29 <RegistryValue Name="Class" Value="service.was.webDaemon" Type="string" />
30 <RegistryValue Name="Params" Type="multiString">
31 <MultiStringValue Value="--store-path" />
32 <MultiStringValue Value="&quot;%ProgramData%\softek\panther\panther.was.web\store.jks&quot;" />
33 </RegistryValue>
34 <RegistryValue Name="Method" Value="startWindows" Type="string" />
35 <RegistryValue Name="Mode" Value="jvm" Type="string" />
36 </RegistryKey>
37 </Component>
38 <Component Id="cmphc0PosUreNHPfVVRiTRupYb3SzQ" Guid="PUT-GUID-HERE" KeyPath="yes">
39 <RegistryKey Key="SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\service.jvm.web\Parameters\Stop" Root="HKLM">
40 <RegistryValue Name="Class" Value="service.was.webDaemon" Type="string" />
41 <RegistryValue Name="Method" Value="stopWindows" Type="string" />
42 <RegistryValue Name="Mode" Value="jvm" Type="string" />
43 <RegistryValue Name="Timeout" Value="2500" Type="integer" />
44 </RegistryKey>
45 </Component>
46 <Component Id="cmpvXIwMqQZoA011CevdgYD.oX.O1Y" Guid="PUT-GUID-HERE" KeyPath="yes">
47 <RegistryKey ForceCreateOnInstall="yes" Key="SYSTEM\CurrentControlSet\Services\service.jvm.web\Parameters" Root="HKLM" />
48 </Component>
49 </StandardDirectory>
50 </Fragment>
51</Wix>
diff --git a/src/tools/test/WixToolsetTest.Heat/TestData/RegFile/ExpectedWithComponentGroup.wxs b/src/tools/test/WixToolsetTest.Heat/TestData/RegFile/ExpectedWithComponentGroup.wxs
deleted file mode 100644
index bb94a265..00000000
--- a/src/tools/test/WixToolsetTest.Heat/TestData/RegFile/ExpectedWithComponentGroup.wxs
+++ /dev/null
@@ -1,54 +0,0 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Fragment>
3 <StandardDirectory Id='TARGETDIR' />
4 </Fragment>
5 <Fragment>
6 <ComponentGroup Id="CG1">
7 <Component Id="cmpojwP28s4WmDsBqWw98dt3GqX0Qc" Directory="TARGETDIR" Guid="PUT-GUID-HERE" KeyPath="yes">
8 <RegistryKey ForceCreateOnInstall="yes" Key="SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\service.jvm.web" Root="HKLM" />
9 </Component>
10 <Component Id="cmplcKhDXbrKnnKie3DODK0NdtNNOg" Directory="TARGETDIR" Guid="PUT-GUID-HERE" KeyPath="yes">
11 <RegistryKey ForceCreateOnInstall="yes" Key="SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\service.jvm.web\Parameters" Root="HKLM" />
12 </Component>
13 <Component Id="cmpQwsceagjGFkCYf0mDbar_x8di7o" Directory="TARGETDIR" Guid="PUT-GUID-HERE" KeyPath="yes">
14 <RegistryKey Key="SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\service.jvm.web\Parameters\Java" Root="HKLM">
15 <RegistryValue Name="Options" Type="multiString">
16 <MultiStringValue Value="-Ddaemon.clojure.ns=panther.was.web.daemon" />
17 </RegistryValue>
18 <RegistryValue Name="Options9" Type="multiString">
19 <MultiStringValue Value="--add-modules=java.corba" />
20 </RegistryValue>
21 <RegistryValue Name="Classpath" Value="%WAS_DEPS_CLASSPATH%\*;%ServiceBasePath%\Sensors\service.jvm.web-standalone.jar" Type="string" />
22 <RegistryValue Name="JvmMx" Value="4096" Type="integer" />
23 </RegistryKey>
24 </Component>
25 <Component Id="cmpmdi0PQPGI0rXbHgRjCLk1kVRjDY" Directory="TARGETDIR" Guid="PUT-GUID-HERE" KeyPath="yes">
26 <RegistryKey Key="SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\service.jvm.web\Parameters\Log" Root="HKLM">
27 <RegistryValue Name="Prefix" Value="service.jvm.web" Type="string" />
28 </RegistryKey>
29 </Component>
30 <Component Id="cmpZMMSl80BpzgFJnOoQHZhE6TKx5c" Directory="TARGETDIR" Guid="PUT-GUID-HERE" KeyPath="yes">
31 <RegistryKey Key="SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\service.jvm.web\Parameters\Start" Root="HKLM">
32 <RegistryValue Name="Class" Value="service.was.webDaemon" Type="string" />
33 <RegistryValue Name="Params" Type="multiString">
34 <MultiStringValue Value="--store-path" />
35 <MultiStringValue Value="&quot;%ProgramData%\softek\panther\panther.was.web\store.jks&quot;" />
36 </RegistryValue>
37 <RegistryValue Name="Method" Value="startWindows" Type="string" />
38 <RegistryValue Name="Mode" Value="jvm" Type="string" />
39 </RegistryKey>
40 </Component>
41 <Component Id="cmphc0PosUreNHPfVVRiTRupYb3SzQ" Directory="TARGETDIR" Guid="PUT-GUID-HERE" KeyPath="yes">
42 <RegistryKey Key="SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\service.jvm.web\Parameters\Stop" Root="HKLM">
43 <RegistryValue Name="Class" Value="service.was.webDaemon" Type="string" />
44 <RegistryValue Name="Method" Value="stopWindows" Type="string" />
45 <RegistryValue Name="Mode" Value="jvm" Type="string" />
46 <RegistryValue Name="Timeout" Value="2500" Type="integer" />
47 </RegistryKey>
48 </Component>
49 <Component Id="cmpvXIwMqQZoA011CevdgYD.oX.O1Y" Directory="TARGETDIR" Guid="PUT-GUID-HERE" KeyPath="yes">
50 <RegistryKey ForceCreateOnInstall="yes" Key="SYSTEM\CurrentControlSet\Services\service.jvm.web\Parameters" Root="HKLM" />
51 </Component>
52 </ComponentGroup>
53 </Fragment>
54</Wix>
diff --git a/src/tools/test/WixToolsetTest.Heat/TestData/RegFile/input.reg b/src/tools/test/WixToolsetTest.Heat/TestData/RegFile/input.reg
deleted file mode 100644
index 85ebe01e..00000000
--- a/src/tools/test/WixToolsetTest.Heat/TestData/RegFile/input.reg
+++ /dev/null
@@ -1,41 +0,0 @@
1Windows Registry Editor Version 5.00
2
3[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\service.jvm.web]
4
5[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\service.jvm.web\Parameters]
6
7[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\service.jvm.web\Parameters\Java]
8"Options"=hex(7):2d,00,44,00,64,00,61,00,65,00,6d,00,6f,00,6e,00,2e,00,63,00,\
9 6c,00,6f,00,6a,00,75,00,72,00,65,00,2e,00,6e,00,73,00,3d,00,70,00,61,00,6e,\
10 00,74,00,68,00,65,00,72,00,2e,00,77,00,61,00,73,00,2e,00,77,00,65,00,62,00,\
11 2e,00,64,00,61,00,65,00,6d,00,6f,00,6e,00,00,00,00,00
12"Options9"=hex(7):2d,00,2d,00,61,00,64,00,64,00,2d,00,6d,00,6f,00,64,00,75,00,\
13 6c,00,65,00,73,00,3d,00,6a,00,61,00,76,00,61,00,2e,00,63,00,6f,00,72,00,62,\
14 00,61,00,00,00,00,00
15"Classpath"="%WAS_DEPS_CLASSPATH%\*;%ServiceBasePath%\Sensors\service.jvm.web-standalone.jar"
16"JvmMx"=dword:00001000
17
18[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\service.jvm.web\Parameters\Log]
19"Prefix"="service.jvm.web"
20
21[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\service.jvm.web\Parameters\Start]
22"Class"="service.was.webDaemon"
23"Params"=hex(7):2d,00,2d,00,73,00,74,00,6f,00,72,00,65,00,2d,00,70,00,61,00,74,\
24 00,68,00,00,00,22,00,25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,44,00,\
25 61,00,74,00,61,00,25,00,5c,00,73,00,6f,00,66,00,74,00,65,00,6b,00,5c,00,70,\
26 00,61,00,6e,00,74,00,68,00,65,00,72,00,5c,00,70,00,61,00,6e,00,74,00,68,00,\
27 65,00,72,00,2e,00,77,00,61,00,73,00,2e,00,77,00,65,00,62,00,5c,00,73,00,74,\
28 00,6f,00,72,00,65,00,2e,00,6a,00,6b,00,73,00,22,00,00,00,00,00
29"Method"="startWindows"
30"Mode"="jvm"
31
32[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\service.jvm.web\Parameters\Stop]
33"Class"="service.was.webDaemon"
34"Method"="stopWindows"
35"Mode"="jvm"
36"Timeout"=dword:000009c4
37
38
39
40[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\service.jvm.web\Parameters]
41
diff --git a/src/tools/test/WixToolsetTest.Heat/TestData/RegFile/input.xslt b/src/tools/test/WixToolsetTest.Heat/TestData/RegFile/input.xslt
deleted file mode 100644
index 7a46243a..00000000
--- a/src/tools/test/WixToolsetTest.Heat/TestData/RegFile/input.xslt
+++ /dev/null
@@ -1,23 +0,0 @@
1<?xml version="1.0" encoding="utf-8"?>
2<xsl:stylesheet
3 version="1.0"
4 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
5 xmlns="http://www.w3.org/1999/xhtml"
6 xmlns:wix="http://wixtoolset.org/schemas/v4/wxs">
7
8 <xsl:output method="xml" indent="yes"/>
9
10 <xsl:template match="@*|node()">
11 <xsl:copy>
12 <xsl:apply-templates select="@*|node()"/>
13 </xsl:copy>
14 </xsl:template>
15
16 <xsl:template match="wix:Wix/wix:Fragment/wix:StandardDirectory/wix:Component/wix:RegistryKey/wix:RegistryValue[@Name='Classpath']">
17 <xsl:copy>
18 <xsl:apply-templates select="@*|node()"/>
19 <xsl:attribute name="Value"><xsl:text>%WAS_DEPS_CLASSPATH%\*;[DIR_JVM]service.jvm.web-standalone.jar</xsl:text></xsl:attribute>
20 </xsl:copy>
21 </xsl:template>
22
23</xsl:stylesheet>
diff --git a/src/tools/test/WixToolsetTest.Heat/TestData/SingleFile/a.txt b/src/tools/test/WixToolsetTest.Heat/TestData/SingleFile/a.txt
deleted file mode 100644
index 4410bb5e..00000000
--- a/src/tools/test/WixToolsetTest.Heat/TestData/SingleFile/a.txt
+++ /dev/null
@@ -1 +0,0 @@
1This is a.txt
diff --git a/src/tools/test/WixToolsetTest.Heat/WixToolsetTest.Heat.csproj b/src/tools/test/WixToolsetTest.Heat/WixToolsetTest.Heat.csproj
deleted file mode 100644
index 660dca3b..00000000
--- a/src/tools/test/WixToolsetTest.Heat/WixToolsetTest.Heat.csproj
+++ /dev/null
@@ -1,22 +0,0 @@
1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3
4<Project Sdk="MSTest.Sdk">
5 <PropertyGroup>
6 <TargetFramework>net472</TargetFramework>
7 <DefaultItemExcludes>TestData\**;$(DefaultItemExcludes)</DefaultItemExcludes>
8 <IsWixMSTestProject>true</IsWixMSTestProject>
9 </PropertyGroup>
10
11 <ItemGroup>
12 <Content Include="TestData\**" CopyToOutputDirectory="PreserveNewest" />
13 </ItemGroup>
14
15 <ItemGroup>
16 <ProjectReference Include="..\..\heat\heat.csproj" />
17 </ItemGroup>
18
19 <ItemGroup>
20 <PackageReference Include="WixInternal.Core.MSTestPackage" />
21 </ItemGroup>
22</Project>
diff --git a/src/tools/test/WixToolsetTest.HeatTasks/MsbuildHeatFixture.cs b/src/tools/test/WixToolsetTest.HeatTasks/MsbuildHeatFixture.cs
deleted file mode 100644
index 61efad47..00000000
--- a/src/tools/test/WixToolsetTest.HeatTasks/MsbuildHeatFixture.cs
+++ /dev/null
@@ -1,411 +0,0 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3namespace WixToolsetTest.Sdk
4{
5 using System;
6 using System.IO;
7 using System.Linq;
8 using Microsoft.VisualStudio.TestTools.UnitTesting;
9 using WixInternal.MSTestSupport;
10 using WixInternal.Core.MSTestPackage;
11 using WixToolset.Data;
12 using WixToolset.Data.Symbols;
13
14 [TestClass]
15 public class MsbuildHeatFixture
16 {
17 public static readonly string HeatTargetsPath = Path.Combine(Path.GetDirectoryName(new Uri(typeof(MsbuildHeatFixture).Assembly.CodeBase).LocalPath), "..", "..", "..", "publish", "WixToolset.Heat", "build", "WixToolset.Heat.targets");
18
19 public MsbuildHeatFixture()
20 {
21 EnsureWixSdkCached();
22 }
23
24 [TestMethod]
25 [DataRow(BuildSystem.DotNetCoreSdk)]
26 [DataRow(BuildSystem.MSBuild)]
27 [DataRow(BuildSystem.MSBuild64)]
28 public void CanBuildHeatFilePackage(BuildSystem buildSystem)
29 {
30 var sourceFolder = TestData.Get("TestData", "HeatFilePackage");
31
32 using (var fs = new DisposableFileSystem())
33 {
34 var baseFolder = fs.GetFolder();
35 var binFolder = Path.Combine(baseFolder, @"bin");
36 var intermediateFolder = Path.Combine(baseFolder, @"obj\");
37 var projectPath = Path.Combine(sourceFolder, "HeatFilePackage.wixproj");
38
39 var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] {
40 "-Restore",
41 MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "HeatTargetsPath", MsbuildHeatFixture.HeatTargetsPath),
42 MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "BaseIntermediateOutputPath", intermediateFolder),
43 MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "OutputPath", binFolder),
44 });
45 result.AssertSuccess();
46
47 var heatCommandLines = MsbuildUtilities.GetToolCommandLines(result, "heat", "file", buildSystem);
48 WixAssert.Single(heatCommandLines);
49
50 var warnings = result.Output.Where(line => line.Contains(": warning")).ToArray();
51 WixAssert.All(warnings, warning => warning.Contains("warning HEAT5149"));
52
53 var generatedFilePath = Path.Combine(intermediateFolder, "Release", "_ProductComponents_INSTALLFOLDER_HeatFilePackage.wixproj_file.wxs");
54 var generatedContents = File.ReadAllText(generatedFilePath);
55 var testXml = generatedContents.GetTestXml();
56 WixAssert.StringEqual(@"<Wix>" +
57 "<Fragment>" +
58 "<DirectoryRef Id='INSTALLFOLDER'>" +
59 "<Component Id='HeatFilePackage.wixproj' Guid='*'>" +
60 "<File Id='HeatFilePackage.wixproj' KeyPath='yes' Source='SourceDir\\HeatFilePackage.wixproj' />" +
61 "</Component>" +
62 "</DirectoryRef>" +
63 "</Fragment>" +
64 "<Fragment>" +
65 "<ComponentGroup Id='ProductComponents'>" +
66 "<ComponentRef Id='HeatFilePackage.wixproj' />" +
67 "</ComponentGroup>" +
68 "</Fragment>" +
69 "</Wix>", testXml);
70
71 var pdbPath = Path.Combine(binFolder, "HeatFilePackage.wixpdb");
72 var intermediate = Intermediate.Load(pdbPath);
73 var section = intermediate.Sections.Single();
74
75 var fileSymbol = section.Symbols.OfType<FileSymbol>().Single();
76 WixAssert.StringEqual(@"SourceDir\HeatFilePackage.wixproj", fileSymbol[FileSymbolFields.Source].PreviousValue.AsPath()?.Path);
77 }
78 }
79
80 [TestMethod]
81 [DataRow(BuildSystem.DotNetCoreSdk)]
82 [DataRow(BuildSystem.MSBuild)]
83 [DataRow(BuildSystem.MSBuild64)]
84 public void CanBuildHeatFileWithMultipleFilesPackage(BuildSystem buildSystem)
85 {
86 var sourceFolder = TestData.Get(@"TestData", "HeatFileMultipleFilesSameFileName");
87
88 using (var fs = new DisposableFileSystem())
89 {
90 var baseFolder = fs.GetFolder();
91 var binFolder = Path.Combine(baseFolder, @"bin\");
92 var intermediateFolder = Path.Combine(baseFolder, @"obj\");
93 var projectPath = Path.Combine(sourceFolder, "HeatFileMultipleFilesSameFileName.wixproj");
94
95 var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] {
96 "-Restore",
97 MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "HeatTargetsPath", MsbuildHeatFixture.HeatTargetsPath),
98 MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "BaseIntermediateOutputPath", intermediateFolder),
99 MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "OutputPath", binFolder),
100 });
101 result.AssertSuccess();
102
103 var heatCommandLines = MsbuildUtilities.GetToolCommandLines(result, "heat", "file", buildSystem);
104 Assert.AreEqual(2, heatCommandLines.Count());
105
106 var warnings = result.Output.Where(line => line.Contains(": warning")).ToArray();
107 WixAssert.All(warnings, warning => warning.Contains("warning HEAT5149"));
108
109 var generatedFilePath = Path.Combine(intermediateFolder, "Release", "_TxtProductComponents_INSTALLFOLDER_MyProgram.txt_file.wxs");
110 Assert.IsTrue(File.Exists(generatedFilePath));
111
112 var generatedContents = File.ReadAllText(generatedFilePath);
113 var testXml = generatedContents.GetTestXml();
114 WixAssert.StringEqual("<Wix>" +
115 "<Fragment>" +
116 "<DirectoryRef Id='INSTALLFOLDER'>" +
117 "<Component Id='MyProgram.txt' Guid='*'>" +
118 @"<File Id='MyProgram.txt' KeyPath='yes' Source='SourceDir\MyProgram.txt' />" +
119 "</Component>" +
120 "</DirectoryRef>" +
121 "</Fragment>" +
122 "<Fragment>" +
123 "<ComponentGroup Id='TxtProductComponents'>" +
124 "<ComponentRef Id='MyProgram.txt' />" +
125 "</ComponentGroup>" +
126 "</Fragment>" +
127 "</Wix>", testXml);
128
129 generatedFilePath = Path.Combine(intermediateFolder, "Release", "_JsonProductComponents_INSTALLFOLDER_MyProgram.json_file.wxs");
130 Assert.IsTrue(File.Exists(generatedFilePath));
131
132 generatedContents = File.ReadAllText(generatedFilePath);
133 testXml = generatedContents.GetTestXml();
134 WixAssert.StringEqual("<Wix>" +
135 "<Fragment>" +
136 "<DirectoryRef Id='INSTALLFOLDER'>" +
137 "<Component Id='MyProgram.json' Guid='*'>" +
138 @"<File Id='MyProgram.json' KeyPath='yes' Source='SourceDir\MyProgram.json' />" +
139 "</Component>" +
140 "</DirectoryRef>" +
141 "</Fragment>" +
142 "<Fragment>" +
143 "<ComponentGroup Id='JsonProductComponents'>" +
144 "<ComponentRef Id='MyProgram.json' />" +
145 "</ComponentGroup>" +
146 "</Fragment>" +
147 "</Wix>", testXml);
148
149 var pdbPath = Path.Combine(binFolder, "HeatFileMultipleFilesSameFileName.wixpdb");
150 Assert.IsTrue(File.Exists(pdbPath));
151
152 var intermediate = Intermediate.Load(pdbPath);
153 var section = intermediate.Sections.Single();
154
155 var fileSymbols = section.Symbols.OfType<FileSymbol>().ToArray();
156 WixAssert.StringEqual(@"SourceDir\MyProgram.txt", fileSymbols[0][FileSymbolFields.Source].PreviousValue.AsPath()?.Path);
157 WixAssert.StringEqual(@"SourceDir\MyProgram.json", fileSymbols[1][FileSymbolFields.Source].PreviousValue.AsPath()?.Path);
158 }
159 }
160
161 [TestMethod]
162 [DataRow(BuildSystem.DotNetCoreSdk, true)]
163 [DataRow(BuildSystem.DotNetCoreSdk, false)]
164 [DataRow(BuildSystem.MSBuild, true)]
165 [DataRow(BuildSystem.MSBuild, false)]
166 [DataRow(BuildSystem.MSBuild64, true)]
167 [DataRow(BuildSystem.MSBuild64, false)]
168 public void CanBuildHeatProjectPreSdkStyle(BuildSystem buildSystem, bool useToolsVersion)
169 {
170 var sourceFolder = TestData.Get(@"TestData", "HeatProject");
171
172 using (var fs = new TestDataFolderFileSystem())
173 {
174 fs.Initialize(sourceFolder);
175 File.Copy("global.json", Path.Combine(fs.BaseFolder, "global.json"));
176
177 var baseFolder = Path.Combine(fs.BaseFolder, "HeatProjectPreSdkStyle");
178 var binFolder = Path.Combine(baseFolder, @"bin\");
179 var intermediateFolder = Path.Combine(baseFolder, @"obj\");
180 var projectPath = Path.Combine(baseFolder, "HeatProjectPreSdkStyle.wixproj");
181
182 var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[]
183 {
184 MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "HeatTargetsPath", MsbuildHeatFixture.HeatTargetsPath),
185 useToolsVersion ? $"-p:HarvestProjectsUseToolsVersion=true" : String.Empty,
186 });
187 result.AssertSuccess();
188
189 var heatCommandLines = MsbuildUtilities.GetToolCommandLines(result, "heat", "project", buildSystem);
190 var heatCommandLine = WixAssert.Single(heatCommandLines);
191
192 if (useToolsVersion && buildSystem != BuildSystem.DotNetCoreSdk)
193 {
194 Assert.IsTrue(heatCommandLine.Contains("-usetoolsversion"));
195 }
196 else
197 {
198 Assert.IsFalse(heatCommandLine.Contains("-usetoolsversion"));
199 }
200
201 var warnings = result.Output.Where(line => line.Contains(": warning")).ToArray();
202 WixAssert.All(warnings, warning => warning.Contains("warning HEAT5149"));
203
204 var generatedFilePath = Path.Combine(intermediateFolder, "Release", "_Tools Version 4Cs.wxs");
205 Assert.IsTrue(File.Exists(generatedFilePath));
206
207 var generatedContents = File.ReadAllText(generatedFilePath);
208 var testXml = generatedContents.GetTestXml();
209 WixAssert.StringEqual(@"<Wix>" +
210 "<Fragment>" +
211 "<DirectoryRef Id='Tools_Version_4Cs.Binaries'>" +
212 "<Component Id='Tools_Version_4Cs.Binaries.Tools_Version_4Cs.dll' Guid='*'>" +
213 "<File Id='Tools_Version_4Cs.Binaries.Tools_Version_4Cs.dll' Source='$(var.Tools_Version_4Cs.TargetDir)\\Tools Version 4Cs.dll' />" +
214 "</Component>" +
215 "</DirectoryRef>" +
216 "</Fragment>" +
217 "<Fragment>" +
218 "<ComponentGroup Id='Tools_Version_4Cs.Binaries'>" +
219 "<ComponentRef Id='Tools_Version_4Cs.Binaries.Tools_Version_4Cs.dll' />" +
220 "</ComponentGroup>" +
221 "</Fragment>" +
222 "<Fragment>" +
223 "<DirectoryRef Id='Tools_Version_4Cs.Symbols'>" +
224 "<Component Id='Tools_Version_4Cs.Symbols.Tools_Version_4Cs.pdb' Guid='*'>" +
225 "<File Id='Tools_Version_4Cs.Symbols.Tools_Version_4Cs.pdb' Source='$(var.Tools_Version_4Cs.TargetDir)\\Tools Version 4Cs.pdb' />" +
226 "</Component>" +
227 "</DirectoryRef>" +
228 "</Fragment>" +
229 "<Fragment>" +
230 "<ComponentGroup Id='Tools_Version_4Cs.Symbols'>" +
231 "<ComponentRef Id='Tools_Version_4Cs.Symbols.Tools_Version_4Cs.pdb' />" +
232 "</ComponentGroup>" +
233 "</Fragment>" +
234 "<Fragment>" +
235 "<DirectoryRef Id='Tools_Version_4Cs.Sources'>" +
236 "<Component Id='Tools_Version_4Cs.Sources.Tools_Version_4Cs.csproj' Guid='*'>" +
237 "<File Id='Tools_Version_4Cs.Sources.Tools_Version_4Cs.csproj' Source='$(var.Tools_Version_4Cs.ProjectDir)\\Tools Version 4Cs.csproj' />" +
238 "</Component>" +
239 "<Directory Id='Tools_Version_4Cs.Sources.Properties' Name='Properties'>" +
240 "<Component Id='Tools_Version_4Cs.Sources.AssemblyInfo.cs' Guid='*'>" +
241 "<File Id='Tools_Version_4Cs.Sources.AssemblyInfo.cs' Source='$(var.Tools_Version_4Cs.ProjectDir)\\Properties\\AssemblyInfo.cs' />" +
242 "</Component>" +
243 "</Directory>" +
244 "</DirectoryRef>" +
245 "</Fragment>" +
246 "<Fragment>" +
247 "<ComponentGroup Id='Tools_Version_4Cs.Sources'>" +
248 "<ComponentRef Id='Tools_Version_4Cs.Sources.Tools_Version_4Cs.csproj' />" +
249 "<ComponentRef Id='Tools_Version_4Cs.Sources.AssemblyInfo.cs' />" +
250 "</ComponentGroup>" +
251 "</Fragment>" +
252 "<Fragment>" +
253 "<ComponentGroup Id='Tools_Version_4Cs.Content' />" +
254 "</Fragment>" +
255 "<Fragment>" +
256 "<ComponentGroup Id='Tools_Version_4Cs.Satellites' />" +
257 "</Fragment>" +
258 "<Fragment>" +
259 "<ComponentGroup Id='Tools_Version_4Cs.Documents' />" +
260 "</Fragment>" +
261 "</Wix>", testXml);
262
263 var pdbPath = Path.Combine(binFolder, "Release", "HeatProjectPreSdkStyle.wixpdb");
264 Assert.IsTrue(File.Exists(pdbPath));
265
266 var intermediate = Intermediate.Load(pdbPath);
267 var section = intermediate.Sections.Single();
268
269 var fileSymbol = section.Symbols.OfType<FileSymbol>().Single();
270 WixAssert.StringEqual(Path.Combine(fs.BaseFolder, "Tools Version 4Cs", "bin", "Release\\\\Tools Version 4Cs.dll"), fileSymbol[FileSymbolFields.Source].AsPath()?.Path);
271 }
272 }
273
274 [TestMethod]
275 [DataRow(BuildSystem.DotNetCoreSdk, true)]
276 [DataRow(BuildSystem.DotNetCoreSdk, false)]
277 [DataRow(BuildSystem.MSBuild, true)]
278 [DataRow(BuildSystem.MSBuild, false)]
279 [DataRow(BuildSystem.MSBuild64, true)]
280 [DataRow(BuildSystem.MSBuild64, false)]
281 public void CanBuildHeatProjectSdkStyle(BuildSystem buildSystem, bool useToolsVersion)
282 {
283 var sourceFolder = TestData.Get(@"TestData\HeatProject");
284
285 using (var fs = new TestDataFolderFileSystem())
286 {
287 fs.Initialize(sourceFolder);
288 File.Copy("global.json", Path.Combine(fs.BaseFolder, "global.json"));
289
290 var baseFolder = Path.Combine(fs.BaseFolder, "HeatProjectSdkStyle");
291 var binFolder = Path.Combine(baseFolder, @"bin\");
292 var intermediateFolder = Path.Combine(baseFolder, @"obj\");
293 var projectPath = Path.Combine(fs.BaseFolder, "HeatProjectSdkStyle", "HeatProjectSdkStyle.wixproj");
294 var referencedProjectPath = Path.Combine(fs.BaseFolder, "SdkStyleCs", "SdkStyleCs.csproj");
295
296 var result = MsbuildUtilities.BuildProject(buildSystem, referencedProjectPath, new[]
297 {
298 "-t:restore",
299 MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "HeatTargetsPath", MsbuildHeatFixture.HeatTargetsPath),
300 });
301 result.AssertSuccess();
302
303 result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[]
304 {
305 MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "HeatTargetsPath", MsbuildHeatFixture.HeatTargetsPath),
306 useToolsVersion ? $"-p:HarvestProjectsUseToolsVersion=true" : String.Empty,
307 });
308 result.AssertSuccess();
309
310 var heatCommandLines = MsbuildUtilities.GetToolCommandLines(result, "heat", "project", buildSystem);
311 var heatCommandLine = WixAssert.Single(heatCommandLines);
312
313 if (useToolsVersion && buildSystem != BuildSystem.DotNetCoreSdk)
314 {
315 Assert.IsTrue(heatCommandLine.Contains("-usetoolsversion"));
316 }
317 else
318 {
319 Assert.IsFalse(heatCommandLine.Contains("-usetoolsversion"));
320 }
321
322 var warnings = result.Output.Where(line => line.Contains(": warning")).ToArray();
323 WixAssert.All(warnings, warning => warning.Contains("warning HEAT5149"));
324
325 var generatedFilePath = Path.Combine(intermediateFolder, "Release", "_SdkStyleCs.wxs");
326 Assert.IsTrue(File.Exists(generatedFilePath));
327
328 var generatedContents = File.ReadAllText(generatedFilePath);
329 var testXml = generatedContents.GetTestXml();
330 WixAssert.StringEqual(@"<Wix>" +
331 "<Fragment>" +
332 "<DirectoryRef Id='SdkStyleCs.Binaries'>" +
333 "<Component Id='SdkStyleCs.Binaries.SdkStyleCs.dll' Guid='*'>" +
334 "<File Id='SdkStyleCs.Binaries.SdkStyleCs.dll' Source='$(var.SdkStyleCs.TargetDir)\\SdkStyleCs.dll' />" +
335 "</Component>" +
336 "</DirectoryRef>" +
337 "</Fragment>" +
338 "<Fragment>" +
339 "<ComponentGroup Id='SdkStyleCs.Binaries'>" +
340 "<ComponentRef Id='SdkStyleCs.Binaries.SdkStyleCs.dll' />" +
341 "</ComponentGroup>" +
342 "</Fragment>" +
343 "<Fragment>" +
344 "<DirectoryRef Id='SdkStyleCs.Symbols'>" +
345 "<Component Id='SdkStyleCs.Symbols.SdkStyleCs.pdb' Guid='*'>" +
346 "<File Id='SdkStyleCs.Symbols.SdkStyleCs.pdb' Source='$(var.SdkStyleCs.TargetDir)\\SdkStyleCs.pdb' />" +
347 "</Component>" +
348 "</DirectoryRef>" +
349 "</Fragment>" +
350 "<Fragment>" +
351 "<ComponentGroup Id='SdkStyleCs.Symbols'>" +
352 "<ComponentRef Id='SdkStyleCs.Symbols.SdkStyleCs.pdb' />" +
353 "</ComponentGroup>" +
354 "</Fragment>" +
355 "<Fragment>" +
356 "<DirectoryRef Id='SdkStyleCs.Sources'>" +
357 "<Component Id='SdkStyleCs.Sources.SdkStyleCs.cs' Guid='*'>" +
358 "<File Id='SdkStyleCs.Sources.SdkStyleCs.cs' Source='$(var.SdkStyleCs.ProjectDir)\\SdkStyleCs.cs' />" +
359 "</Component>" +
360 "<Component Id='SdkStyleCs.Sources.SdkStyleCs.csproj' Guid='*'>" +
361 "<File Id='SdkStyleCs.Sources.SdkStyleCs.csproj' Source='$(var.SdkStyleCs.ProjectDir)\\SdkStyleCs.csproj' />" +
362 "</Component>" +
363 "</DirectoryRef>" +
364 "</Fragment>" +
365 "<Fragment>" +
366 "<ComponentGroup Id='SdkStyleCs.Sources'>" +
367 "<ComponentRef Id='SdkStyleCs.Sources.SdkStyleCs.cs' />" +
368 "<ComponentRef Id='SdkStyleCs.Sources.SdkStyleCs.csproj' />" +
369 "</ComponentGroup>" +
370 "</Fragment>" +
371 "<Fragment>" +
372 "<ComponentGroup Id='SdkStyleCs.Content' />" +
373 "</Fragment>" +
374 "<Fragment>" +
375 "<ComponentGroup Id='SdkStyleCs.Satellites' />" +
376 "</Fragment>" +
377 "<Fragment>" +
378 "<ComponentGroup Id='SdkStyleCs.Documents' />" +
379 "</Fragment>" +
380 "</Wix>", testXml);
381
382 var pdbPath = Path.Combine(binFolder, "Release", "HeatProjectSdkStyle.wixpdb");
383 Assert.IsTrue(File.Exists(pdbPath));
384
385 var intermediate = Intermediate.Load(pdbPath);
386 var section = intermediate.Sections.Single();
387
388 var fileSymbol = section.Symbols.OfType<FileSymbol>().Single();
389 WixAssert.StringEqual(Path.Combine(fs.BaseFolder, "SdkStyleCs", "bin", "Release", "netstandard2.0\\\\SdkStyleCs.dll"), fileSymbol[FileSymbolFields.Source].AsPath()?.Path);
390 }
391 }
392
393 /// <summary>
394 /// This method exists to get the WixToolset.Sdk.nupkg into the NuGet package cache using the global.json
395 /// and nuget.config in the root of the repository. By pre-caching the WiX SDK, the rest of the tests will
396 /// pull the binaries out of the cache instead of needing to find the original .nupkg in the build artifacts
397 /// folder (which requires use of nuget.config found in the root of the repo)
398 /// </summary>
399 private static void EnsureWixSdkCached()
400 {
401 // This EnsureWixSdkCached project exists only to pre-cache the WixToolset.Sdk for use by later projects.
402 var sourceFolder = TestData.Get("TestData", "EnsureWixSdkCached");
403
404 var result = MsbuildUtilities.BuildProject(BuildSystem.DotNetCoreSdk, Path.Combine(sourceFolder, "EnsureWixSdkCached.wixproj"), new[]
405 {
406 "-t:restore",
407 });
408 result.AssertSuccess();
409 }
410 }
411}
diff --git a/src/tools/test/WixToolsetTest.HeatTasks/TestData/EnsureWixSdkCached/EnsureWixSdkCached.wixproj b/src/tools/test/WixToolsetTest.HeatTasks/TestData/EnsureWixSdkCached/EnsureWixSdkCached.wixproj
deleted file mode 100644
index 7730425f..00000000
--- a/src/tools/test/WixToolsetTest.HeatTasks/TestData/EnsureWixSdkCached/EnsureWixSdkCached.wixproj
+++ /dev/null
@@ -1,4 +0,0 @@
1<?xml version="1.0" encoding="utf-8"?>
2<Project Sdk="WixToolset.Sdk">
3 <!-- This project exists only to pre-cache the WixToolset.Sdk for use by the other test data projects. -->
4</Project>
diff --git a/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFileMultipleFilesSameFileName/HeatFileMultipleFilesSameFileName.wixproj b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFileMultipleFilesSameFileName/HeatFileMultipleFilesSameFileName.wixproj
deleted file mode 100644
index 2aaf5c01..00000000
--- a/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFileMultipleFilesSameFileName/HeatFileMultipleFilesSameFileName.wixproj
+++ /dev/null
@@ -1,26 +0,0 @@
1<?xml version="1.0" encoding="utf-8"?>
2<Project Sdk="WixToolset.Sdk">
3
4 <ItemGroup>
5 <BindInputPaths Include="." />
6 </ItemGroup>
7
8 <PropertyGroup>
9 <HarvestFileSuppressUniqueIds>true</HarvestFileSuppressUniqueIds>
10 </PropertyGroup>
11
12 <ItemGroup>
13 <HarvestFile Include="MyProgram.txt">
14 <ComponentGroupName>TxtProductComponents</ComponentGroupName>
15 <DirectoryRefId>INSTALLFOLDER</DirectoryRefId>
16 <SuppressRootDirectory>true</SuppressRootDirectory>
17 </HarvestFile>
18 <HarvestFile Include="MyProgram.json">
19 <ComponentGroupName>JsonProductComponents</ComponentGroupName>
20 <DirectoryRefId>INSTALLFOLDER</DirectoryRefId>
21 <SuppressRootDirectory>true</SuppressRootDirectory>
22 </HarvestFile>
23 </ItemGroup>
24
25 <Import Project="$(HeatTargetsPath)" />
26</Project>
diff --git a/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFileMultipleFilesSameFileName/MyProgram.json b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFileMultipleFilesSameFileName/MyProgram.json
deleted file mode 100644
index 5f282702..00000000
--- a/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFileMultipleFilesSameFileName/MyProgram.json
+++ /dev/null
@@ -1 +0,0 @@
1 \ No newline at end of file
diff --git a/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFileMultipleFilesSameFileName/MyProgram.txt b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFileMultipleFilesSameFileName/MyProgram.txt
deleted file mode 100644
index 5f282702..00000000
--- a/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFileMultipleFilesSameFileName/MyProgram.txt
+++ /dev/null
@@ -1 +0,0 @@
1 \ No newline at end of file
diff --git a/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFileMultipleFilesSameFileName/Package.wxs b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFileMultipleFilesSameFileName/Package.wxs
deleted file mode 100644
index 5abcee9f..00000000
--- a/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFileMultipleFilesSameFileName/Package.wxs
+++ /dev/null
@@ -1,18 +0,0 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Package Name="HeatFilePackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a" Compressed="yes" InstallerVersion="200">
3
4
5 <MediaTemplate />
6
7 <Feature Id="ProductFeature" Title="HeatFileFeature">
8 <ComponentGroupRef Id="TxtProductComponents" />
9 <ComponentGroupRef Id="JsonProductComponents" />
10 </Feature>
11 </Package>
12
13 <Fragment>
14 <StandardDirectory Id="ProgramFilesFolder">
15 <Directory Id="INSTALLFOLDER" Name="MsiPackage" />
16 </StandardDirectory>
17 </Fragment>
18</Wix>
diff --git a/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFilePackage/HeatFilePackage.wixproj b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFilePackage/HeatFilePackage.wixproj
deleted file mode 100644
index 345832cf..00000000
--- a/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFilePackage/HeatFilePackage.wixproj
+++ /dev/null
@@ -1,21 +0,0 @@
1<?xml version="1.0" encoding="utf-8"?>
2<Project Sdk="WixToolset.Sdk">
3
4 <ItemGroup>
5 <BindInputPaths Include="." />
6 </ItemGroup>
7
8 <PropertyGroup>
9 <HarvestFileSuppressUniqueIds>true</HarvestFileSuppressUniqueIds>
10 </PropertyGroup>
11
12 <ItemGroup>
13 <HarvestFile Include="HeatFilePackage.wixproj">
14 <ComponentGroupName>ProductComponents</ComponentGroupName>
15 <DirectoryRefId>INSTALLFOLDER</DirectoryRefId>
16 <SuppressRootDirectory>true</SuppressRootDirectory>
17 </HarvestFile>
18 </ItemGroup>
19
20 <Import Project="$(HeatTargetsPath)" />
21</Project>
diff --git a/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFilePackage/Package.wxs b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFilePackage/Package.wxs
deleted file mode 100644
index f5fa8cf6..00000000
--- a/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatFilePackage/Package.wxs
+++ /dev/null
@@ -1,17 +0,0 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Package Name="HeatFilePackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a" Compressed="yes" InstallerVersion="200">
3
4
5 <MediaTemplate />
6
7 <Feature Id="ProductFeature" Title="HeatFileFeature">
8 <ComponentGroupRef Id="ProductComponents" />
9 </Feature>
10 </Package>
11
12 <Fragment>
13 <StandardDirectory Id="ProgramFilesFolder">
14 <Directory Id="INSTALLFOLDER" Name="MsiPackage" />
15 </StandardDirectory>
16</Fragment>
17</Wix>
diff --git a/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/HeatProjectPreSdkStyle/HeatProjectPreSdkStyle.wixproj b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/HeatProjectPreSdkStyle/HeatProjectPreSdkStyle.wixproj
deleted file mode 100644
index 14def612..00000000
--- a/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/HeatProjectPreSdkStyle/HeatProjectPreSdkStyle.wixproj
+++ /dev/null
@@ -1,18 +0,0 @@
1<?xml version="1.0" encoding="utf-8"?>
2<Project Sdk="WixToolset.Sdk">
3
4 <ItemGroup>
5 <BindPath Include="." />
6 </ItemGroup>
7
8 <PropertyGroup>
9 <EnableProjectHarvesting>true</EnableProjectHarvesting>
10 <HarvestProjectsSuppressUniqueIds>true</HarvestProjectsSuppressUniqueIds>
11 </PropertyGroup>
12
13 <ItemGroup>
14 <ProjectReference Include="..\Tools Version 4Cs\Tools Version 4Cs.csproj" />
15 </ItemGroup>
16
17 <Import Project="$(HeatTargetsPath)" />
18</Project>
diff --git a/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/HeatProjectPreSdkStyle/Package.wxs b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/HeatProjectPreSdkStyle/Package.wxs
deleted file mode 100644
index 568f9cdd..00000000
--- a/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/HeatProjectPreSdkStyle/Package.wxs
+++ /dev/null
@@ -1,17 +0,0 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Package Name="HeatProjectPreSdkStyle" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="5622BB42-89F6-4810-A2A3-98AFF28282FE" Compressed="yes" InstallerVersion="200">
3
4
5 <MediaTemplate />
6
7 <Feature Id="ProductFeature" Title="HeatProjectFeature">
8 <ComponentGroupRef Id="Tools_Version_4Cs.Binaries" />
9 </Feature>
10 </Package>
11
12 <Fragment>
13 <StandardDirectory Id="ProgramFilesFolder">
14 <Directory Id="Tools_Version_4Cs.Binaries" Name="MsiPackage" />
15 </StandardDirectory>
16 </Fragment>
17</Wix>
diff --git a/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/HeatProjectSdkStyle/HeatProjectSdkStyle.wixproj b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/HeatProjectSdkStyle/HeatProjectSdkStyle.wixproj
deleted file mode 100644
index c0048434..00000000
--- a/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/HeatProjectSdkStyle/HeatProjectSdkStyle.wixproj
+++ /dev/null
@@ -1,18 +0,0 @@
1<?xml version="1.0" encoding="utf-8"?>
2<Project Sdk="WixToolset.Sdk">
3
4 <ItemGroup>
5 <BindPath Include="." />
6 </ItemGroup>
7
8 <PropertyGroup>
9 <EnableProjectHarvesting>true</EnableProjectHarvesting>
10 <HarvestProjectsSuppressUniqueIds>true</HarvestProjectsSuppressUniqueIds>
11 </PropertyGroup>
12
13 <ItemGroup>
14 <ProjectReference Include="..\SdkStyleCs\SdkStyleCs.csproj" />
15 </ItemGroup>
16
17 <Import Project="$(HeatTargetsPath)" />
18</Project>
diff --git a/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/HeatProjectSdkStyle/Package.wxs b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/HeatProjectSdkStyle/Package.wxs
deleted file mode 100644
index d30218f3..00000000
--- a/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/HeatProjectSdkStyle/Package.wxs
+++ /dev/null
@@ -1,17 +0,0 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Package Name="HeatProjectSdkStyle" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="D2AF3276-A68E-40DE-85A1-4BCD5B35D432" Compressed="yes" InstallerVersion="200">
3
4
5 <MediaTemplate />
6
7 <Feature Id="ProductFeature" Title="HeatProjectFeature">
8 <ComponentGroupRef Id="SdkStyleCs.Binaries" />
9 </Feature>
10 </Package>
11
12 <Fragment>
13 <StandardDirectory Id="ProgramFilesFolder">
14 <Directory Id="SdkStyleCs.Binaries" Name="MsiPackage" />
15 </StandardDirectory>
16 </Fragment>
17</Wix>
diff --git a/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/SdkStyleCs/SdkStyleCs.cs b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/SdkStyleCs/SdkStyleCs.cs
deleted file mode 100644
index 2b2c5be2..00000000
--- a/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/SdkStyleCs/SdkStyleCs.cs
+++ /dev/null
@@ -1,8 +0,0 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3namespace SdkStyleCs
4{
5 public class SdkStyleCs
6 {
7 }
8}
diff --git a/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/SdkStyleCs/SdkStyleCs.csproj b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/SdkStyleCs/SdkStyleCs.csproj
deleted file mode 100644
index 755976bc..00000000
--- a/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/SdkStyleCs/SdkStyleCs.csproj
+++ /dev/null
@@ -1,8 +0,0 @@
1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3
4<Project Sdk="Microsoft.NET.Sdk">
5 <PropertyGroup>
6 <TargetFramework>netstandard2.0</TargetFramework>
7 </PropertyGroup>
8</Project>
diff --git a/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/Tools Version 4Cs/Properties/AssemblyInfo.cs b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/Tools Version 4Cs/Properties/AssemblyInfo.cs
deleted file mode 100644
index fed7cd9e..00000000
--- a/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/Tools Version 4Cs/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,11 +0,0 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3using System;
4using System.Reflection;
5using System.Runtime.InteropServices;
6
7[assembly: AssemblyTitle("Tools Version 4Cs")]
8[assembly: AssemblyDescription("Tools Version 4Cs")]
9[assembly: AssemblyProduct("WiX Toolset")]
10[assembly: AssemblyCompany("WiX Toolset Team")]
11[assembly: AssemblyCopyright("Copyright (c) .NET Foundation and contributors. All rights reserved.")]
diff --git a/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/Tools Version 4Cs/Tools Version 4Cs.csproj b/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/Tools Version 4Cs/Tools Version 4Cs.csproj
deleted file mode 100644
index def5ccb2..00000000
--- a/src/tools/test/WixToolsetTest.HeatTasks/TestData/HeatProject/Tools Version 4Cs/Tools Version 4Cs.csproj
+++ /dev/null
@@ -1,36 +0,0 @@
1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3
4
5<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6 <PropertyGroup>
7 <ProjectGuid>{8B19578A-816A-48A1-A6C4-58067334EB79}</ProjectGuid>
8 <AssemblyName>Tools Version 4Cs</AssemblyName>
9 <OutputType>Library</OutputType>
10 <RootNamespace>ToolsVersion4Cs</RootNamespace>
11 <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
12 </PropertyGroup>
13 <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
14 <DebugSymbols>true</DebugSymbols>
15 <Optimize>false</Optimize>
16 <DefineConstants>$(DefineConstants);DEBUG;TRACE</DefineConstants>
17 <OutputPath>bin\Debug\</OutputPath>
18 </PropertyGroup>
19 <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
20 <DebugSymbols>true</DebugSymbols>
21 <Optimize>true</Optimize>
22 <DefineConstants>$(DefineConstants);TRACE</DefineConstants>
23 <OutputPath>bin\Release\</OutputPath>
24 </PropertyGroup>
25 <ItemGroup>
26 <Compile Include="Properties\AssemblyInfo.cs" />
27 </ItemGroup>
28 <ItemGroup>
29 <Reference Include="System" />
30 <Reference Include="System.Configuration" />
31 <Reference Include="System.Data" />
32 <Reference Include="System.Xml" />
33 </ItemGroup>
34
35 <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
36</Project>
diff --git a/src/tools/test/WixToolsetTest.HeatTasks/WixToolsetTest.HeatTasks.csproj b/src/tools/test/WixToolsetTest.HeatTasks/WixToolsetTest.HeatTasks.csproj
deleted file mode 100644
index 13ec5ac3..00000000
--- a/src/tools/test/WixToolsetTest.HeatTasks/WixToolsetTest.HeatTasks.csproj
+++ /dev/null
@@ -1,20 +0,0 @@
1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3
4<Project Sdk="MSTest.Sdk">
5 <PropertyGroup>
6 <TargetFramework>net472</TargetFramework>
7 <DefaultItemExcludes>TestData\**;$(DefaultItemExcludes)</DefaultItemExcludes>
8 <IsWixMSTestProject>true</IsWixMSTestProject>
9 </PropertyGroup>
10
11 <ItemGroup>
12 <Content Include="TestData\**" CopyToOutputDirectory="PreserveNewest" />
13 <Content Include="..\..\..\..\global.json" CopyToOutputDirectory="PreserveNewest" />
14 </ItemGroup>
15
16 <ItemGroup>
17 <PackageReference Include="WixInternal.MSTestSupport" />
18 <PackageReference Include="WixInternal.Core.MSTestPackage" />
19 </ItemGroup>
20</Project>
diff --git a/src/tools/test/WixToolsetTest.HeatTasks/WixToolsetTest.HeatTasks.v3.ncrunchproject b/src/tools/test/WixToolsetTest.HeatTasks/WixToolsetTest.HeatTasks.v3.ncrunchproject
deleted file mode 100644
index 319cd523..00000000
--- a/src/tools/test/WixToolsetTest.HeatTasks/WixToolsetTest.HeatTasks.v3.ncrunchproject
+++ /dev/null
@@ -1,5 +0,0 @@
1<ProjectConfiguration>
2 <Settings>
3 <IgnoreThisComponentCompletely>True</IgnoreThisComponentCompletely>
4 </Settings>
5</ProjectConfiguration> \ No newline at end of file