diff --git a/src/wix/WixToolset.Sdk/tools/wix.props b/src/wix/WixToolset.Sdk/tools/wix.props
index af26f6944..a72392254 100644
--- a/src/wix/WixToolset.Sdk/tools/wix.props
+++ b/src/wix/WixToolset.Sdk/tools/wix.props
@@ -25,6 +25,18 @@
Debug
+
+
+
+
+
+
+
+
+
+
+
+
false
true
diff --git a/src/wix/WixToolset.Sdk/tools/wix.targets b/src/wix/WixToolset.Sdk/tools/wix.targets
index a9c54269f..4de5835fe 100644
--- a/src/wix/WixToolset.Sdk/tools/wix.targets
+++ b/src/wix/WixToolset.Sdk/tools/wix.targets
@@ -31,11 +31,6 @@
$(WixBinDir)WixToolset.BuildTasks.dll
-
-
-
-
-
diff --git a/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs b/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs
index 25fd61d9c..507a58436 100644
--- a/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs
+++ b/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs
@@ -582,6 +582,68 @@ public void CanBuildSimpleWixlib(BuildSystem buildSystem)
}
}
+ [TestMethod]
+ [DataRow(BuildSystem.DotNetCoreSdk)]
+ [DataRow(BuildSystem.MSBuild)]
+ [DataRow(BuildSystem.MSBuild64)]
+ public void CanBuildWixlibOnlyGoodFiles(BuildSystem buildSystem)
+ {
+ var sourceFolder = TestData.Get(@"TestData", "Wixlib", "WithBadFiles");
+
+ using (var fs = new TestDataFolderFileSystem())
+ {
+ fs.Initialize(sourceFolder);
+ var baseFolder = fs.BaseFolder;
+ var binFolder = Path.Combine(baseFolder, @"bin\");
+ var projectPath = Path.Combine(baseFolder, "OnlyGoodFiles.wixproj");
+
+ var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[]
+ {
+ MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixMSBuildProps", MsbuildFixture.WixPropsPath),
+ });
+ result.AssertSuccess();
+
+ var wixBuildCommands = MsbuildUtilities.GetToolCommandLines(result, "wix", "build", buildSystem);
+ WixAssert.Single(wixBuildCommands);
+
+ var path = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories)
+ .Select(s => s.Substring(baseFolder.Length + 1))
+ .Single();
+ WixAssert.StringEqual(@"bin\Release\OnlyGoodFiles.wixlib", path);
+ }
+ }
+
+ [TestMethod]
+ [DataRow(BuildSystem.DotNetCoreSdk)]
+ [DataRow(BuildSystem.MSBuild)]
+ [DataRow(BuildSystem.MSBuild64)]
+ public void CanBuildWixlibSkippingBadFiles(BuildSystem buildSystem)
+ {
+ var sourceFolder = TestData.Get(@"TestData", "Wixlib", "WithBadFiles");
+
+ using (var fs = new TestDataFolderFileSystem())
+ {
+ fs.Initialize(sourceFolder);
+ var baseFolder = fs.BaseFolder;
+ var binFolder = Path.Combine(baseFolder, @"bin\");
+ var projectPath = Path.Combine(baseFolder, "SkipBadFiles.wixproj");
+
+ var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[]
+ {
+ MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixMSBuildProps", MsbuildFixture.WixPropsPath),
+ });
+ result.AssertSuccess();
+
+ var wixBuildCommands = MsbuildUtilities.GetToolCommandLines(result, "wix", "build", buildSystem);
+ WixAssert.Single(wixBuildCommands);
+
+ var path = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories)
+ .Select(s => s.Substring(baseFolder.Length + 1))
+ .Single();
+ WixAssert.StringEqual(@"bin\Release\SkipBadFiles.wixlib", path);
+ }
+ }
+
[TestMethod]
[DataRow(BuildSystem.DotNetCoreSdk)]
[DataRow(BuildSystem.MSBuild)]
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/WithBadFiles/Bad.wxl b/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/WithBadFiles/Bad.wxl
new file mode 100644
index 000000000..0e616bd18
--- /dev/null
+++ b/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/WithBadFiles/Bad.wxl
@@ -0,0 +1 @@
+Not a proper XML file, will break the build.
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/WithBadFiles/Bad.wxs b/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/WithBadFiles/Bad.wxs
new file mode 100644
index 000000000..0e616bd18
--- /dev/null
+++ b/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/WithBadFiles/Bad.wxs
@@ -0,0 +1 @@
+Not a proper XML file, will break the build.
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/WithBadFiles/Library.wxs b/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/WithBadFiles/Library.wxs
new file mode 100644
index 000000000..bcf79a1f0
--- /dev/null
+++ b/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/WithBadFiles/Library.wxs
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/WithBadFiles/OnlyGoodFiles.wixproj b/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/WithBadFiles/OnlyGoodFiles.wixproj
new file mode 100644
index 000000000..620c53146
--- /dev/null
+++ b/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/WithBadFiles/OnlyGoodFiles.wixproj
@@ -0,0 +1,15 @@
+
+
+
+
+
+ Library
+ false
+
+
+
+
+
+
+
+
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/WithBadFiles/SkipBadFiles.wixproj b/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/WithBadFiles/SkipBadFiles.wixproj
new file mode 100644
index 000000000..c406ccd94
--- /dev/null
+++ b/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/WithBadFiles/SkipBadFiles.wixproj
@@ -0,0 +1,15 @@
+
+
+
+
+
+ Library
+
+
+
+
+
+
+
+
+