@joebigelow / wix-1 / commits / 15218b98

Fetch latest .cubs & suppress ICE103...

...for merge module validations, because mergemod.cub has a CA DLL that doesn't export ICE103. Fixes https://github.com/wixtoolset/issues/issues/6567.

Bob Arnson committed Feb 9, 2023 at 18:13 UTC 15218b98004e5966bb8b8135c319e1a02978f4c8
4 files changed +11 -7
src/wix/WixToolset.Core.Native/cubes/darice.cub
Binary files a/src/wix/WixToolset.Core.Native/cubes/darice.cub and b/src/wix/WixToolset.Core.Native/cubes/darice.cub differ
src/wix/WixToolset.Core.Native/cubes/mergemod.cub
Binary files a/src/wix/WixToolset.Core.Native/cubes/mergemod.cub and b/src/wix/WixToolset.Core.Native/cubes/mergemod.cub differ
src/wix/WixToolset.Core.WindowsInstaller/Validate/ValidateDatabaseCommand.cs
+8 -2
@@ -26,10 +26,16 @@ namespace WixToolset.Core.WindowsInstaller.Validate
26 this.DatabasePath = databasePath;
27 this.CubeFiles = cubeFiles;
28 this.Ices = ices;
29 - this.SuppressedIces = suppressedIces == null ? WellKnownSuppressedIces : suppressedIces.Union(WellKnownSuppressedIces);
30 -
29 this.IntermediateFolder = intermediateFolder;
30 this.OutputSourceLineNumber = new SourceLineNumber(databasePath);
31 + this.SuppressedIces = suppressedIces == null ? WellKnownSuppressedIces : suppressedIces.Union(WellKnownSuppressedIces);
32 +
33 + // Suppress ICE103 for merge modules because the custom action DLL in mergemod.cub is borked.
34 + // See https://github.com/wixtoolset/issues/issues/6567.
35 + if (Path.GetExtension(this.DatabasePath) == ".msm")
36 + {
37 + this.SuppressedIces = this.SuppressedIces.Union(new[] { "ICE103" });
38 + }
39 }
40
41 public IEnumerable<ITrackedFile> TrackedFiles { get; private set; }
src/wix/test/WixToolsetTest.CoreIntegration/ValidationFixture.cs
+3 -5
@@ -20,7 +20,6 @@ namespace WixToolsetTest.CoreIntegration
20 // These tests are still interesting (and complex) enough to keep
21 // around for manual testing. Uncomment or define the following
22 // line to do so.
23 -#if DISABLE_VALIDATION_TESTS_DUE_TO_WINDOWS_INSTALLER_INCONSISTENCIES
23 public class ValidationFixture
24 {
25 [Fact]
@@ -213,7 +212,7 @@ namespace WixToolsetTest.CoreIntegration
212
213 File.WriteAllLines(Path.Combine(testLogsFolder, "validate.txt"), validationResult.Messages.Select(m => m.ToString()));
214
216 - Assert.Equal(1, validationResult.ExitCode);
215 + Assert.Equal(1076, validationResult.ExitCode);
216
217 var messages = validationResult.Messages.Select(m => m.ToString()).ToArray();
218 WixAssert.CompareLineByLine(new[]
@@ -302,7 +301,7 @@ namespace WixToolsetTest.CoreIntegration
301 msiPath
302 });
303
305 - Assert.Equal(1, validationResult.ExitCode);
304 + Assert.Equal(1076, validationResult.ExitCode);
305
306 var messages = validationResult.Messages.Select(m => m.ToString()).ToArray();
307 WixAssert.CompareLineByLine(new[]
@@ -342,7 +341,7 @@ namespace WixToolsetTest.CoreIntegration
341 msiPath
342 });
343
345 - Assert.Equal(1, validationResult.ExitCode);
344 + Assert.Equal(1076, validationResult.ExitCode);
345
346 var messages = validationResult.Messages.Select(m => m.ToString()).ToArray();
347 WixAssert.CompareLineByLine(new[]
@@ -423,5 +422,4 @@ namespace WixToolsetTest.CoreIntegration
422 }
423 }
424 }
426 -#endif
425 }