@joebigelow / wix / commits / 461350c0

If no Media or MediaTemplate is present, default to a MediaTemplate.

Bob Arnson committed Jun 22, 2020 at 19:35 UTC 461350c09839f1e59fb3dafe1a67e74bf152f803
27 files changed +55 -37
src/WixToolset.Core.WindowsInstaller/Bind/AssignMediaCommand.cs
+12
@@ -59,6 +59,18 @@ namespace WixToolset.Core.WindowsInstaller.Bind
59 throw new WixException(ErrorMessages.MediaTableCollision(null));
60 }
61
62 + // If neither tuple is authored, default to a media template.
63 + if (SectionType.Product == this.Section.Type && mediaTemplateTuples.Count == 0 && mediaTuples.Count == 0)
64 + {
65 + var mediaTemplate = new WixMediaTemplateTuple()
66 + {
67 + CabinetTemplate = "cab{0}.cab",
68 + };
69 +
70 + this.Section.AddTuple(mediaTemplate);
71 + mediaTemplateTuples.Add(mediaTemplate);
72 + }
73 +
74 // When building merge module, all the files go to "#MergeModule.CABinet".
75 if (SectionType.Module == this.Section.Type)
76 {
src/WixToolset.Core/Compiler.cs
-9
@@ -5870,7 +5870,6 @@ namespace WixToolset.Core
5870 }
5871 }
5872
5873 -
5873 if (!this.Core.EncounteredError)
5874 {
5875 var patchAttributes = PatchAttributeType.None;
@@ -5957,8 +5956,6 @@ namespace WixToolset.Core
5956 }
5957 }
5958
5960 - this.Core.CreateSimpleReference(sourceLineNumbers, TupleDefinitions.Media, diskId.ToString(CultureInfo.InvariantCulture.NumberFormat));
5961 -
5959 // If this component does not have a companion file this file is a possible keypath.
5960 possibleKeyPath = null;
5961 if (null == companionFile)
@@ -7677,12 +7674,6 @@ namespace WixToolset.Core
7674 this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "SourceFile"));
7675 }
7676
7680 - if (CompilerConstants.IntegerNotSet == diskId)
7681 - {
7682 - this.Core.Write(ErrorMessages.ExpectedAttributeInElementOrParent(sourceLineNumbers, node.Name.LocalName, "DiskId", "Directory"));
7683 - diskId = CompilerConstants.IllegalInteger;
7684 - }
7685 -
7677 foreach (var child in node.Elements())
7678 {
7679 if (CompilerCore.WixNamespace == child.Name.Namespace)
src/WixToolset.Core/Linker.cs
-1
@@ -140,7 +140,6 @@ namespace WixToolset.Core
140 #endif
141
142 // First find the entry section and while processing all sections load all the symbols from all of the sections.
143 - // sections.FindEntrySectionAndLoadSymbols(false, this, expectedOutputType, out entrySection, out allSymbols);
143 var find = new FindEntrySectionAndLoadSymbolsCommand(this.Messaging, sections, this.Context.ExpectedOutputType);
144 find.Execute();
145
src/test/WixToolsetTest.CoreIntegration/CabFixture.cs
+36
@@ -49,6 +49,42 @@ namespace WixToolsetTest.CoreIntegration
49 }
50 }
51
52 + [Fact(Skip = "Sequence number of file from merge module is 0 but should be 1.")]
53 + public void CabinetFilesSequencedCorrectlyUsingMergeModule()
54 + {
55 + var folder = TestData.Get(@"TestData\SimpleMerge");
56 +
57 + using (var fs = new DisposableFileSystem())
58 + {
59 + var baseFolder = fs.GetFolder();
60 + var intermediateFolder = Path.Combine(baseFolder, "obj");
61 + var msiPath = Path.Combine(baseFolder, @"bin\test.msi");
62 + var cabPath = Path.Combine(baseFolder, @"bin\cab1.cab");
63 +
64 + var result = WixRunner.Execute(new[]
65 + {
66 + "build",
67 + Path.Combine(folder, "Package.wxs"),
68 + "-loc", Path.Combine(folder, "Package.en-us.wxl"),
69 + "-bindpath", Path.Combine(folder, ".data"),
70 + "-intermediateFolder", intermediateFolder,
71 + "-o", msiPath
72 + });
73 +
74 + result.AssertSuccess();
75 + Assert.True(File.Exists(cabPath));
76 +
77 + var fileTable = Query.QueryDatabase(msiPath, new[] { "File" });
78 + var fileRows = fileTable.Select(r => new FileRow(r)).OrderBy(f => f.Sequence).ToList();
79 +
80 + Assert.Equal(new[] { 1 }, fileRows.Select(f => f.Sequence).ToArray());
81 + Assert.Equal(new[] { "test.txt" }, fileRows.Select(f => f.Name).ToArray());
82 +
83 + var files = Query.GetCabinetFiles(cabPath);
84 + Assert.Equal(fileRows.Select(f => f.Id).ToArray(), files.Select(f => f.Name).ToArray());
85 + }
86 + }
87 +
88 private class FileRow
89 {
90 public FileRow(string row)
src/test/WixToolsetTest.CoreIntegration/MsiFixture.cs
+2 -2
@@ -164,7 +164,6 @@ namespace WixToolsetTest.CoreIntegration
164 "build",
165 Path.Combine(folder, "Package.wxs"),
166 Path.Combine(folder, "PackageComponents.wxs"),
167 - "-d", "MediaTemplateCompressionLevel",
167 "-loc", Path.Combine(folder, "Package.en-us.wxl"),
168 "-bindpath", Path.Combine(folder, "data"),
169 "-intermediateFolder", intermediateFolder,
@@ -174,7 +173,8 @@ namespace WixToolsetTest.CoreIntegration
173 result.AssertSuccess();
174
175 Assert.True(File.Exists(Path.Combine(intermediateFolder, @"bin\test.msi")));
177 - Assert.True(File.Exists(Path.Combine(intermediateFolder, @"bin\cab1.cab")));
176 + Assert.True(File.Exists(Path.Combine(intermediateFolder, @"bin\example1.cab")));
177 + Assert.True(File.Exists(Path.Combine(intermediateFolder, @"bin\example2.cab")));
178 Assert.True(File.Exists(Path.Combine(intermediateFolder, @"bin\test.wixpdb")));
179 }
180 }
src/test/WixToolsetTest.CoreIntegration/TestData/Assembly/Package.wxs
-1
@@ -4,7 +4,6 @@
4 <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
5
6 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
7 - <MediaTemplate />
7
8 <Feature Id="ProductFeature" Title="!(loc.FeatureTitle)">
9 <ComponentGroupRef Id="ProductComponents" />
src/test/WixToolsetTest.CoreIntegration/TestData/BadIf/Package.wxs
-1
@@ -4,7 +4,6 @@
4 <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
5
6 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
7 - <MediaTemplate />
7
8 <Feature Id="ProductFeature" Title="!(loc.FeatureTitle)">
9 <ComponentGroupRef Id="ProductComponents.x86" />
src/test/WixToolsetTest.CoreIntegration/TestData/ComplexExampleExtension/Package.wxs
-1
@@ -4,7 +4,6 @@
4 <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
5
6 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
7 - <MediaTemplate />
7
8 <Property Id="ExampleProperty" Value="$(ex.Test)" />
9
src/test/WixToolsetTest.CoreIntegration/TestData/Components/Package.wxs
-1
@@ -4,7 +4,6 @@
4 <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
5
6 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
7 - <MediaTemplate />
7
8 <Feature Id="ProductFeature" Title="!(loc.FeatureTitle)">
9 <ComponentGroupRef Id="ProductComponents" />
src/test/WixToolsetTest.CoreIntegration/TestData/ErrorsInUI/Package.wxs
-1
@@ -4,7 +4,6 @@
4 <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
5
6 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
7 - <MediaTemplate />
7
8 <CustomAction Id="CanWeReferenceAnError_YesWeCan" Error="1234" />
9 <CustomAction Id="TextErrorsWorkOKToo" Error="If you see this, something went wrong." />
src/test/WixToolsetTest.CoreIntegration/TestData/ExampleExtension/Package.wxs
-1
@@ -4,7 +4,6 @@
4 <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
5
6 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
7 - <MediaTemplate />
7
8 <Property Id="ExampleProperty" Value="$(ex.Test)" />
9
src/test/WixToolsetTest.CoreIntegration/TestData/ForEach/Package.wxs
-1
@@ -4,7 +4,6 @@
4 <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
5
6 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
7 - <MediaTemplate />
7
8 <Feature Id="ProductFeature" Title="!(loc.FeatureTitle)">
9 <ComponentGroupRef Id="ProductComponents.x86" />
src/test/WixToolsetTest.CoreIntegration/TestData/IncludePath/Package.wxs
-1
@@ -5,7 +5,6 @@
5 <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
6
7 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
8 - <MediaTemplate />
8
9 <Feature Id="ProductFeature" Title="!(loc.FeatureTitle)">
10 <ComponentGroupRef Id="ProductComponents" />
src/test/WixToolsetTest.CoreIntegration/TestData/InstanceTransform/Package.wxs
-1
@@ -4,7 +4,6 @@
4 <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
5
6 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
7 - <MediaTemplate />
7
8 <Property Id="INSTANCEPROPERTY" Secure="yes" />
9
src/test/WixToolsetTest.CoreIntegration/TestData/ManualUpgrade/Package.wxs
-2
@@ -12,8 +12,6 @@
12 <RemoveExistingProducts After="InstallValidate" />
13 </InstallExecuteSequence>
14
15 - <MediaTemplate />
16 -
15 <Feature Id="ProductFeature" Title="!(loc.FeatureTitle)">
16 <ComponentGroupRef Id="ProductComponents" />
17 </Feature>
src/test/WixToolsetTest.CoreIntegration/TestData/MultiFileCompressed/Package.wxs
+2 -1
@@ -6,7 +6,8 @@
6 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
7
8 <?ifndef MediaTemplateCompressionLevel?>
9 - <Media Id="1" Cabinet="example.cab" />
9 + <Media Id="1" Cabinet="example1.cab" />
10 + <Media Id="2" Cabinet="example2.cab" />
11 <?elseif $(MediaTemplateCompressionLevel) = ""?>
12 <MediaTemplate />
13 <?else?>
src/test/WixToolsetTest.CoreIntegration/TestData/MultiFileCompressed/PackageComponents.wxs
+2 -2
@@ -3,10 +3,10 @@
3 <Fragment>
4 <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
5 <Component>
6 - <File Source="$(env.WINDIR)\Notepad.exe" />
6 + <File DiskId="1" Source="$(env.WINDIR)\Notepad.exe" />
7 </Component>
8 <Component>
9 - <File Source="test.txt" />
9 + <File DiskId="2" Source="test.txt" />
10 </Component>
11 </ComponentGroup>
12 </Fragment>
src/test/WixToolsetTest.CoreIntegration/TestData/OverridableActions/Package.wxs
-1
@@ -5,7 +5,6 @@
5 <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
6
7 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
8 - <MediaTemplate />
8
9 <InstallExecuteSequence>
10 <ValidateProductID Suppress="yes" />
src/test/WixToolsetTest.CoreIntegration/TestData/PatchFamilyFilter/Package.wxs
-1
@@ -5,7 +5,6 @@
5 <Package InstallScope='perMachine' />
6
7 <MajorUpgrade DowngradeErrorMessage='Newer version already installed.' />
8 - <MediaTemplate />
8
9 <Directory Id='TARGETDIR' Name='SourceDir'>
10 <Directory Id='ProgramFilesFolder'>
src/test/WixToolsetTest.CoreIntegration/TestData/ProductWithComponentGroupRef/Product.wxs
-1
@@ -4,7 +4,6 @@
4 <Package InstallerVersion="500" Compressed="no" InstallScope="perMachine" />
5
6 <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
7 - <MediaTemplate />
7
8 <Feature Id="ProductFeature" Title="MsiPackageTitle">
9 <ComponentGroupRef Id="ProductComponents" />
src/test/WixToolsetTest.CoreIntegration/TestData/ProgId/Package.wxs
-1
@@ -4,7 +4,6 @@
4 <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
5
6 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
7 - <MediaTemplate />
7
8 <Feature Id="ProductFeature" Title="!(loc.FeatureTitle)">
9 <ComponentGroupRef Id="ProductComponents" />
src/test/WixToolsetTest.CoreIntegration/TestData/SetProperty/Package.wxs
-1
@@ -4,7 +4,6 @@
4 <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
5
6 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
7 - <MediaTemplate />
7
8 <Feature Id="ProductFeature" Title="!(loc.FeatureTitle)">
9 <ComponentGroupRef Id="ProductComponents" />
src/test/WixToolsetTest.CoreIntegration/TestData/SimpleMerge/Package.wxs
+1 -2
@@ -4,7 +4,6 @@
4 <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
5
6 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
7 - <MediaTemplate />
7
8 <Feature Id="ProductFeature" Title="!(loc.FeatureTitle)">
9 <MergeRef Id="TestMsm" />
@@ -16,7 +15,7 @@
15 <Directory Id="ProgramFilesFolder">
16 <Directory Id="INSTALLFOLDER" Name="MsiPackage">
17 <!-- -->
19 - <Merge Id="TestMsm" Language="1033" SourceFile="test.msm" DiskId="1" />
18 + <Merge Id="TestMsm" Language="1033" SourceFile="test.msm" />
19 </Directory>
20 </Directory>
21 </Directory>
src/test/WixToolsetTest.CoreIntegration/TestData/SingleFile/Package.wxs
-1
@@ -4,7 +4,6 @@
4 <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
5
6 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
7 - <MediaTemplate />
7
8 <Feature Id="ProductFeature" Title="!(loc.FeatureTitle)">
9 <ComponentGroupRef Id="ProductComponents" />
src/test/WixToolsetTest.CoreIntegration/TestData/Variables/Package.wxs
-1
@@ -17,7 +17,6 @@
17 <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
18
19 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
20 - <MediaTemplate />
20
21 <Feature Id="ProductFeature" Title="!(loc.FeatureTitle)">
22 <ComponentGroupRef Id="ProductComponents" />
src/test/WixToolsetTest.CoreIntegration/TestData/Wixipl/Package.wxs
-1
@@ -4,7 +4,6 @@
4 <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
5
6 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
7 - <MediaTemplate />
7
8 <CustomAction Id="CAFromExtension" BinaryKey="BinFromWir" DllEntry="DoesntExist" />
9
src/test/WixToolsetTest.CoreIntegration/TestData/WixlibWithBinaries/Package.wxs
-1
@@ -4,7 +4,6 @@
4 <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
5
6 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
7 - <MediaTemplate />
7
8 <Feature Id="ProductFeature" Title="!(loc.FeatureTitle)">
9 <ComponentGroupRef Id="ProductComponents" />