@joebigelow / wix-1 / commits / c832d739

Update to darice.cub v10.0.22621.0.

https://github.com/wixtoolset/issues/issues/6567

Bob Arnson committed Aug 4, 2022 at 21:53 UTC c832d739c92205b95c95c5deba5cbd5765bb6eca
4 files changed +114 -3
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/test/WixToolsetTest.CoreIntegration/TestData/SimpleMerge/Package.wxs
+1 -1
@@ -1,5 +1,5 @@
1 <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 - <Package Name="MsiPackage" Codepage="1252" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a" Compressed="yes" InstallerVersion="200" Scope="perMachine">
2 + <Package Name="MsiPackage" Codepage="1252" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a" Compressed="yes" Scope="perMachine">
3 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
4
5 <Feature Id="ProductFeature" Title="!(loc.FeatureTitle)">
src/wix/test/WixToolsetTest.CoreIntegration/TestData/SimpleModule/Module.wxs
+1 -1
@@ -1,5 +1,5 @@
1 <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 - <Module Id="MergeModule1" Language="1033" Version="1.0.0.0" Guid="243FB739-4D05-472F-9CFB-EF6B1017B6DE" InstallerVersion="200">
2 + <Module Id="MergeModule1" Language="1033" Version="1.0.0.0" Guid="243FB739-4D05-472F-9CFB-EF6B1017B6DE">
3 <SummaryInformation Manufacturer="!(loc.Manufacturer)" />
4
5 <Directory Id="MergeRedirectFolder">
src/wix/test/WixToolsetTest.CoreIntegration/ValidationFixture.cs
+112 -1
@@ -93,7 +93,7 @@ namespace WixToolsetTest.CoreIntegration
93 "_SummaryInformation:Comments\tThis merge module contains the logic and data required to install MergeModule1.",
94 "_SummaryInformation:Template\tIntel;1033",
95 "_SummaryInformation:CodePage\t1252",
96 - "_SummaryInformation:PageCount\t200",
96 + "_SummaryInformation:PageCount\t500",
97 "_SummaryInformation:WordCount\t0",
98 "_SummaryInformation:CharacterCount\t0",
99 "_SummaryInformation:Security\t2",
@@ -311,6 +311,117 @@ namespace WixToolsetTest.CoreIntegration
311 }, messages);
312 }
313 }
314 +
315 + [Fact]
316 + public void CanValidateArm64Msi()
317 + {
318 + var folder = TestData.Get(@"TestData");
319 +
320 + using (var fs = new DisposableFileSystem())
321 + {
322 + var baseFolder = fs.GetFolder();
323 + var intermediateFolder = Path.Combine(baseFolder, "obj");
324 + var msiPath = Path.Combine(baseFolder, @"bin", "test.msi");
325 +
326 + var result = WixRunner.Execute(new[]
327 + {
328 + "build",
329 + "-arch", "arm64",
330 + Path.Combine(folder, "Validation", "PackageWithIceIssues.wxs"),
331 + "-bindpath", Path.Combine(folder, "SingleFile", "data"),
332 + "-intermediateFolder", intermediateFolder,
333 + "-o", msiPath,
334 + });
335 +
336 + result.AssertSuccess();
337 +
338 + var validationResult = WixRunner.Execute(warningsAsErrors: true, new[]
339 + {
340 + "msi", "validate",
341 + "-intermediateFolder", intermediateFolder,
342 + msiPath
343 + });
344 +
345 + Assert.Equal(1, validationResult.ExitCode);
346 +
347 + var messages = validationResult.Messages.Select(m => m.ToString()).ToArray();
348 + WixAssert.CompareLineByLine(new[]
349 + {
350 + "ICE12: CustomAction: CausesICE12Error is of type: 35. Therefore it must come after CostFinalize @ 1000 in Seq Table: InstallExecuteSequence. CA Seq#: 49",
351 + "ICE46: Property 'Myproperty' referenced in column 'LaunchCondition'.'Condition' of row 'Myproperty' differs from a defined property by case only.",
352 + }, messages);
353 + }
354 + }
355 +
356 + [Fact]
357 + public void CanMergeArm64ModuleAndValidate()
358 + {
359 + var msmFolder = TestData.Get(@"TestData\SimpleModule");
360 + var folder = TestData.Get(@"TestData\SimpleMerge");
361 +
362 + using (var fs = new DisposableFileSystem())
363 + {
364 + var intermediateFolder = fs.GetFolder();
365 + var msiPath = Path.Combine(intermediateFolder, @"bin\test.msi");
366 + var cabPath = Path.Combine(intermediateFolder, @"bin\cab1.cab");
367 +
368 + var msmResult = WixRunner.Execute(new[]
369 + {
370 + "build",
371 + "-arch", "arm64",
372 + Path.Combine(msmFolder, "Module.wxs"),
373 + "-loc", Path.Combine(msmFolder, "Module.en-us.wxl"),
374 + "-bindpath", Path.Combine(msmFolder, "data"),
375 + "-intermediateFolder", intermediateFolder,
376 + "-o", Path.Combine(intermediateFolder, "bin", "test", "test.msm")
377 + });
378 +
379 + msmResult.AssertSuccess();
380 +
381 + var result = WixRunner.Execute(new[]
382 + {
383 + "build",
384 + "-arch", "arm64",
385 + Path.Combine(folder, "Package.wxs"),
386 + "-loc", Path.Combine(folder, "Package.en-us.wxl"),
387 + "-bindpath", Path.Combine(intermediateFolder, "bin", "test"),
388 + "-intermediateFolder", intermediateFolder,
389 + "-o", msiPath
390 + });
391 +
392 + result.AssertSuccess();
393 +
394 + var validationResult = WixRunner.Execute(new[]
395 + {
396 + "msi", "validate",
397 + "-sice", "ICE80", // Prevent whinging about 32-bit directories.
398 + "-intermediateFolder", intermediateFolder,
399 + msiPath
400 + });
401 + validationResult.AssertSuccess();
402 +
403 + var intermediate = Intermediate.Load(Path.Combine(intermediateFolder, @"bin\test.wixpdb"));
404 + var section = intermediate.Sections.Single();
405 + Assert.Empty(section.Symbols.OfType<FileSymbol>());
406 +
407 + var data = WindowsInstallerData.Load(Path.Combine(intermediateFolder, @"bin\test.wixpdb"));
408 + Assert.Empty(data.Tables["File"].Rows);
409 +
410 + var results = Query.QueryDatabase(msiPath, new[] { "File" });
411 + WixAssert.CompareLineByLine(new[]
412 + {
413 + "File:File1.243FB739_4D05_472F_9CFB_EF6B1017B6DE\tModuleComponent1.243FB739_4D05_472F_9CFB_EF6B1017B6DE\tfile1.txt\t17\t\t\t512\t1",
414 + "File:File2.243FB739_4D05_472F_9CFB_EF6B1017B6DE\tModuleComponent2.243FB739_4D05_472F_9CFB_EF6B1017B6DE\tfile2.txt\t17\t\t\t512\t2",
415 + }, results);
416 +
417 + var files = Query.GetCabinetFiles(cabPath);
418 + WixAssert.CompareLineByLine(new[]
419 + {
420 + "File1.243FB739_4D05_472F_9CFB_EF6B1017B6DE",
421 + "File2.243FB739_4D05_472F_9CFB_EF6B1017B6DE"
422 + }, files.Select(f => f.Name).ToArray());
423 + }
424 + }
425 }
426 #endif
427 }