Skip to content

Commit 2b709cb

Browse files
committed
Add a test for cabinets with no files in them
1 parent 20792b9 commit 2b709cb

File tree

2 files changed

+44
-0
lines changed

2 files changed

+44
-0
lines changed

src/wix/test/WixToolsetTest.CoreIntegration/MsiCabinetFixture.cs

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -252,5 +252,40 @@ public void CanBuildMultipleFilesSpanningCabinets()
252252
WixAssert.CompareLineByLine(expectedMedia, mediaSymbols.Select(s => String.Join(" ", s.DiskId, s.Cabinet, s.LastSequence)).ToArray());
253253
}
254254
}
255+
256+
[Fact]
257+
public void CanBuildNoFilesCompressed()
258+
{
259+
var folder = TestData.Get(@"TestData", "NoFileCompressed");
260+
261+
using (var fs = new DisposableFileSystem())
262+
{
263+
var intermediateFolder = fs.GetFolder();
264+
265+
var result = WixRunner.Execute(
266+
[
267+
"build",
268+
Path.Combine(folder, "Package.wxs"),
269+
"-bindpath", Path.Combine(folder, "data"),
270+
"-intermediateFolder", intermediateFolder,
271+
"-o", Path.Combine(intermediateFolder, @"bin\test.msi")
272+
], out var messages, warningsAsErrors: false);
273+
274+
Assert.Equal(0, result);
275+
WixAssert.CompareLineByLine(
276+
[
277+
"1079 Warning - The cabinet 'example.cab' does not contain any files. If this installation contains no files, this warning can likely be safely ignored. Otherwise, please add files to the cabinet or remove it."
278+
], [.. messages.Select(m => $"{m.Id} {m.Level} - {m}")]);
279+
280+
Assert.True(File.Exists(Path.Combine(intermediateFolder, "bin", "test.msi")));
281+
Assert.True(File.Exists(Path.Combine(intermediateFolder, "bin", "example.cab")));
282+
Assert.True(File.Exists(Path.Combine(intermediateFolder, "bin", "test.wixpdb")));
283+
284+
var intermediate = Intermediate.Load(Path.Combine(intermediateFolder, @"bin\test.wixpdb"));
285+
var section = intermediate.Sections.Single();
286+
287+
Assert.Empty(section.Symbols.OfType<FileSymbol>());
288+
}
289+
}
255290
}
256291
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2+
<Package Id="WixTest.NoFiles" Name="MsiPackage" Language="1033" Version="0.0.1" Manufacturer="Example Corporation" Compressed="yes">
3+
<Media Id="1" Cabinet="example.cab" />
4+
5+
<Component>
6+
<RegistryValue Root="HKMU" Key="SOFTWARE\Wix Test" Name="Foo" Value="Bar" />
7+
</Component>
8+
</Package>
9+
</Wix>

0 commit comments

Comments
 (0)