aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBob Arnson <bob@firegiant.com>2026-08-09 23:43:47 -0400
committerBob Arnson <bob@firegiant.com>2026-08-09 23:43:47 -0400
commite8a8cc6fc7503e5fb032dfe68bffb49f901415a5 (patch)
treea0783d2553c6bee9fcc74c1f4e9428da87d4b160 /src
parentdc856e4a5bfad0c0b4ec91c43f150c33395a6d97 (diff)
downloadwix-bob/LongPathFixtureOnReFS.tar.gz
wix-bob/LongPathFixtureOnReFS.tar.bz2
wix-bob/LongPathFixtureOnReFS.zip
Don't fail long-path test on ReFS/DevDrive volumesbob/LongPathFixtureOnReFS
Diffstat (limited to 'src')
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/LongPathFixture.cs16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/LongPathFixture.cs b/src/wix/test/WixToolsetTest.CoreIntegration/LongPathFixture.cs
index 2cada64d..3bf7f006 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/LongPathFixture.cs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/LongPathFixture.cs
@@ -36,6 +36,7 @@ namespace WixToolsetTest.CoreIntegration
36 } 36 }
37 37
38 var intermediateFolder = Path.Combine(baseFolder, "obj"); 38 var intermediateFolder = Path.Combine(baseFolder, "obj");
39 var outputPath = Path.Combine(baseFolder, "bin", "test.msi");
39 40
40 var result = WixRunner.Execute( 41 var result = WixRunner.Execute(
41 [ 42 [
@@ -45,9 +46,22 @@ namespace WixToolsetTest.CoreIntegration
45 "-loc", Path.Combine(folder, "Package.en-us.wxl"), 46 "-loc", Path.Combine(folder, "Package.en-us.wxl"),
46 "-bindpath", Path.Combine(folder, "data"), 47 "-bindpath", Path.Combine(folder, "data"),
47 "-intermediateFolder", intermediateFolder, 48 "-intermediateFolder", intermediateFolder,
48 "-o", Path.Combine(baseFolder, "bin", "test.msi") 49 "-o", outputPath,
49 ]); 50 ]);
50 51
52 if (result.ExitCode == 223/*WindowsInstallerBackendErrors.OpenDatabaseFailed*/
53 && result.Messages.Length > 0)
54 {
55 // In a bit of a twist, WiX's long-path support relies on 8.3 short file names. As
56 // [Raymond Chen suggests](https://devblogs.microsoft.com/oldnewthing/20181004-00/?p=99895),
57 // not all file systems support 8.3 names. That includes ReFS, the file system used
58 // by Dev Drives. So pass the test if the failure is due to missing 8.3 names.
59 Assert.Equal(outputPath, result.Messages[0].MessageArgs[0]);
60 Assert.Equal("The Windows Installer service failed to start. Contact your support personnel.", result.Messages[0].MessageArgs[1]);
61
62 return;
63 }
64
51 result.AssertSuccess(); 65 result.AssertSuccess();
52 66
53 Assert.True(File.Exists(Path.Combine(baseFolder, "bin", "test.msi"))); 67 Assert.True(File.Exists(Path.Combine(baseFolder, "bin", "test.msi")));