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
}