aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/WixToolset.Core/Link/FlattenAndProcessBundleTablesCommand.cs6
-rw-r--r--src/WixToolset.Core/LinkerWarnings.cs6
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/PayloadFixture.cs7
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/TestData/Payload/DownloadUrlPlaceholdersBundle.wxs2
4 files changed, 19 insertions, 2 deletions
diff --git a/src/WixToolset.Core/Link/FlattenAndProcessBundleTablesCommand.cs b/src/WixToolset.Core/Link/FlattenAndProcessBundleTablesCommand.cs
index 52734141..16593c7d 100644
--- a/src/WixToolset.Core/Link/FlattenAndProcessBundleTablesCommand.cs
+++ b/src/WixToolset.Core/Link/FlattenAndProcessBundleTablesCommand.cs
@@ -169,6 +169,12 @@ namespace WixToolset.Core.Link
169 169
170 if (String.IsNullOrEmpty(payloadSymbol.ContainerRef)) 170 if (String.IsNullOrEmpty(payloadSymbol.ContainerRef))
171 { 171 {
172 if (payloadSymbol.Compressed == false)
173 {
174 this.Messaging.Write(LinkerWarnings.UncompressedPayloadInContainer(payloadSymbol.SourceLineNumbers, groupSymbol.ChildId, containerId));
175 }
176
177 payloadSymbol.Compressed = true;
172 payloadSymbol.ContainerRef = containerId; 178 payloadSymbol.ContainerRef = containerId;
173 } 179 }
174 else 180 else
diff --git a/src/WixToolset.Core/LinkerWarnings.cs b/src/WixToolset.Core/LinkerWarnings.cs
index 0eca090e..968fa4ea 100644
--- a/src/WixToolset.Core/LinkerWarnings.cs
+++ b/src/WixToolset.Core/LinkerWarnings.cs
@@ -16,6 +16,11 @@ namespace WixToolset.Core
16 return Message(sourceLineNumbers, Ids.PayloadInMultipleContainers, "The Payload '{0}' can't be added to Container '{1}' because it was already added to Container '{2}'.", payloadId, containerId1, containerId2); 16 return Message(sourceLineNumbers, Ids.PayloadInMultipleContainers, "The Payload '{0}' can't be added to Container '{1}' because it was already added to Container '{2}'.", payloadId, containerId1, containerId2);
17 } 17 }
18 18
19 public static Message UncompressedPayloadInContainer(SourceLineNumber sourceLineNumbers, string payloadId, string containerId)
20 {
21 return Message(sourceLineNumbers, Ids.UncompressedPayloadInContainer, "The Payload '{0}' is being added to Container '{1}', overriding its Compressed value of 'no'.", payloadId, containerId);
22 }
23
19 private static Message Message(SourceLineNumber sourceLineNumber, Ids id, string format, params object[] args) 24 private static Message Message(SourceLineNumber sourceLineNumber, Ids id, string format, params object[] args)
20 { 25 {
21 return new Message(sourceLineNumber, MessageLevel.Warning, (int)id, format, args); 26 return new Message(sourceLineNumber, MessageLevel.Warning, (int)id, format, args);
@@ -25,6 +30,7 @@ namespace WixToolset.Core
25 { 30 {
26 LayoutPayloadInContainer = 6900, 31 LayoutPayloadInContainer = 6900,
27 PayloadInMultipleContainers = 6901, 32 PayloadInMultipleContainers = 6901,
33 UncompressedPayloadInContainer = 6902,
28 } // last available is 6999. 7000 is LinkerErrors. 34 } // last available is 6999. 7000 is LinkerErrors.
29 } 35 }
30} 36}
diff --git a/src/test/WixToolsetTest.CoreIntegration/PayloadFixture.cs b/src/test/WixToolsetTest.CoreIntegration/PayloadFixture.cs
index da87bf6c..23f6a9ba 100644
--- a/src/test/WixToolsetTest.CoreIntegration/PayloadFixture.cs
+++ b/src/test/WixToolsetTest.CoreIntegration/PayloadFixture.cs
@@ -157,7 +157,7 @@ namespace WixToolsetTest.CoreIntegration
157 var baFolderPath = Path.Combine(baseFolder, "ba"); 157 var baFolderPath = Path.Combine(baseFolder, "ba");
158 var extractFolderPath = Path.Combine(baseFolder, "extract"); 158 var extractFolderPath = Path.Combine(baseFolder, "extract");
159 159
160 var result = WixRunner.Execute(new[] 160 var result = WixRunner.Execute(false, new[]
161 { 161 {
162 "build", 162 "build",
163 Path.Combine(folder, "Payload", "DownloadUrlPlaceholdersBundle.wxs"), 163 Path.Combine(folder, "Payload", "DownloadUrlPlaceholdersBundle.wxs"),
@@ -170,6 +170,11 @@ namespace WixToolsetTest.CoreIntegration
170 170
171 result.AssertSuccess(); 171 result.AssertSuccess();
172 172
173 WixAssert.CompareLineByLine(new string[]
174 {
175 "The Payload 'burn.exe' is being added to Container 'PackagesContainer', overriding its Compressed value of 'no'.",
176 }, result.Messages.Select(m => m.ToString()).ToArray());
177
173 Assert.True(File.Exists(bundlePath)); 178 Assert.True(File.Exists(bundlePath));
174 179
175 var extractResult = BundleExtractor.ExtractBAContainer(null, bundlePath, baFolderPath, extractFolderPath); 180 var extractResult = BundleExtractor.ExtractBAContainer(null, bundlePath, baFolderPath, extractFolderPath);
diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/Payload/DownloadUrlPlaceholdersBundle.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/Payload/DownloadUrlPlaceholdersBundle.wxs
index 87bb79f9..f8f38ea6 100644
--- a/src/test/WixToolsetTest.CoreIntegration/TestData/Payload/DownloadUrlPlaceholdersBundle.wxs
+++ b/src/test/WixToolsetTest.CoreIntegration/TestData/Payload/DownloadUrlPlaceholdersBundle.wxs
@@ -14,7 +14,7 @@
14 </Bundle> 14 </Bundle>
15 <Fragment> 15 <Fragment>
16 <PackageGroup Id="ContainerPackages"> 16 <PackageGroup Id="ContainerPackages">
17 <ExePackage SourceFile="burn.exe" DetectCondition="none" /> 17 <ExePackage SourceFile="burn.exe" DetectCondition="none" Compressed="no" />
18 </PackageGroup> 18 </PackageGroup>
19 </Fragment> 19 </Fragment>
20 <Fragment> 20 <Fragment>