aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2022-06-15 13:44:05 -0700
committerRob Mensching <rob@firegiant.com>2022-06-29 23:01:15 -0700
commitdb17200a99cfcc2ec5af4a5893be44f11087dc7a (patch)
treeb8b6ead8b8e2852cc39ae6767f0b9e181475c459 /src
parent5ea1c1b91ec31461fa26d4104b7113fc326cdbcb (diff)
downloadwix-db17200a99cfcc2ec5af4a5893be44f11087dc7a.tar.gz
wix-db17200a99cfcc2ec5af4a5893be44f11087dc7a.tar.bz2
wix-db17200a99cfcc2ec5af4a5893be44f11087dc7a.zip
Remove MsuPackage/@KB and Permanent attributes
Windows no longer allows for the silent removal of MSUs which renders the KB and Permanent attributes irrelevant. This removes both. Fixes 6749 Fixes 6801
Diffstat (limited to 'src')
-rw-r--r--src/api/wix/WixToolset.Data/Symbols/WixBundleMsuPackageSymbol.cs10
-rw-r--r--src/wix/WixToolset.Converters/WixConverter.cs26
-rw-r--r--src/wix/WixToolset.Core.Burn/Bundles/CreateBurnManifestCommand.cs1
-rw-r--r--src/wix/WixToolset.Core/Compiler_Bundle.cs24
-rw-r--r--src/wix/test/WixToolsetTest.Converters/MsuPackageFixture.cs60
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/MsuPackageFixture.cs24
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/RemotePayloadFixture.cs2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/MsuPackage/Bundle.wxs2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/MsuPackage/BundleUsingCertificateVerification.wxs2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/MsuPackage/BundleUsingCertificateVerificationWithoutCacheId.wxs2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/MsuPackage/PermanentMsuPackage.wxs10
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/PackagePayload/MissingSourceFileAndHash.wxs2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/PackagePayload/SpecifiedHashAndMissingDownloadUrl.wxs2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/RemotePayload/DiversePayloadsBundle.wxs2
14 files changed, 130 insertions, 39 deletions
diff --git a/src/api/wix/WixToolset.Data/Symbols/WixBundleMsuPackageSymbol.cs b/src/api/wix/WixToolset.Data/Symbols/WixBundleMsuPackageSymbol.cs
index e52a9b2d..04ebe748 100644
--- a/src/api/wix/WixToolset.Data/Symbols/WixBundleMsuPackageSymbol.cs
+++ b/src/api/wix/WixToolset.Data/Symbols/WixBundleMsuPackageSymbol.cs
@@ -10,8 +10,7 @@ namespace WixToolset.Data
10 SymbolDefinitionType.WixBundleMsuPackage, 10 SymbolDefinitionType.WixBundleMsuPackage,
11 new[] 11 new[]
12 { 12 {
13 new IntermediateFieldDefinition(nameof(WixBundleMsuPackageSymbolFields.DetectCondition), IntermediateFieldType.String), 13 new IntermediateFieldDefinition(nameof(WixBundleMsuPackageSymbolFields.DetectCondition), IntermediateFieldType.String)
14 new IntermediateFieldDefinition(nameof(WixBundleMsuPackageSymbolFields.MsuKB), IntermediateFieldType.String),
15 }, 14 },
16 typeof(WixBundleMsuPackageSymbol)); 15 typeof(WixBundleMsuPackageSymbol));
17 } 16 }
@@ -22,7 +21,6 @@ namespace WixToolset.Data.Symbols
22 public enum WixBundleMsuPackageSymbolFields 21 public enum WixBundleMsuPackageSymbolFields
23 { 22 {
24 DetectCondition, 23 DetectCondition,
25 MsuKB,
26 } 24 }
27 25
28 public class WixBundleMsuPackageSymbol : IntermediateSymbol 26 public class WixBundleMsuPackageSymbol : IntermediateSymbol
@@ -42,11 +40,5 @@ namespace WixToolset.Data.Symbols
42 get => (string)this.Fields[(int)WixBundleMsuPackageSymbolFields.DetectCondition]; 40 get => (string)this.Fields[(int)WixBundleMsuPackageSymbolFields.DetectCondition];
43 set => this.Set((int)WixBundleMsuPackageSymbolFields.DetectCondition, value); 41 set => this.Set((int)WixBundleMsuPackageSymbolFields.DetectCondition, value);
44 } 42 }
45
46 public string MsuKB
47 {
48 get => (string)this.Fields[(int)WixBundleMsuPackageSymbolFields.MsuKB];
49 set => this.Set((int)WixBundleMsuPackageSymbolFields.MsuKB, value);
50 }
51 } 43 }
52} \ No newline at end of file 44} \ No newline at end of file
diff --git a/src/wix/WixToolset.Converters/WixConverter.cs b/src/wix/WixToolset.Converters/WixConverter.cs
index e286d702..57069902 100644
--- a/src/wix/WixToolset.Converters/WixConverter.cs
+++ b/src/wix/WixToolset.Converters/WixConverter.cs
@@ -1216,6 +1216,22 @@ namespace WixToolset.Converters
1216 this.ConvertSuppressSignatureValidation(element); 1216 this.ConvertSuppressSignatureValidation(element);
1217 1217
1218 this.UpdatePackageCacheAttribute(element); 1218 this.UpdatePackageCacheAttribute(element);
1219
1220 var kbAttribute = element.Attribute("KB");
1221
1222 if (null != kbAttribute
1223 && this.OnInformation(ConverterTestType.MsuPackageKBObsolete, element, "The MsuPackage element contains obsolete '{0}' attribute. Windows no longer supports silently removing MSUs so the attribute is unnecessary. The attribute will be removed.", kbAttribute.Name))
1224 {
1225 kbAttribute.Remove();
1226 }
1227
1228 var permanentAttribute = element.Attribute("Permanent");
1229
1230 if (null != permanentAttribute
1231 && this.OnInformation(ConverterTestType.MsuPackagePermanentObsolete, element, "The MsuPackage element contains obsolete '{0}' attribute. MSU packages are now always permanent because Windows no longer supports silently removing MSUs. The attribute will be removed.", permanentAttribute.Name))
1232 {
1233 permanentAttribute.Remove();
1234 }
1219 } 1235 }
1220 1236
1221 private void ConvertProductElement(XElement element) 1237 private void ConvertProductElement(XElement element)
@@ -2664,6 +2680,16 @@ namespace WixToolset.Converters
2664 /// Cache attribute value updated. 2680 /// Cache attribute value updated.
2665 /// </summary> 2681 /// </summary>
2666 BundlePackageCacheAttributeValueObsolete, 2682 BundlePackageCacheAttributeValueObsolete,
2683
2684 /// <summary>
2685 /// The MsuPackage element contains obsolete '{0}' attribute. Windows no longer supports silently removing MSUs so the attribute is unnecessary. The attribute will be removed.
2686 /// </summary>
2687 MsuPackageKBObsolete,
2688
2689 /// <summary>
2690 /// The MsuPackage element contains obsolete '{0}' attribute. MSU packages are now always permanent because Windows no longer supports silently removing MSUs. The attribute will be removed.
2691 /// </summary>
2692 MsuPackagePermanentObsolete,
2667 } 2693 }
2668 } 2694 }
2669} 2695}
diff --git a/src/wix/WixToolset.Core.Burn/Bundles/CreateBurnManifestCommand.cs b/src/wix/WixToolset.Core.Burn/Bundles/CreateBurnManifestCommand.cs
index 25a155d6..dda79aa1 100644
--- a/src/wix/WixToolset.Core.Burn/Bundles/CreateBurnManifestCommand.cs
+++ b/src/wix/WixToolset.Core.Burn/Bundles/CreateBurnManifestCommand.cs
@@ -499,7 +499,6 @@ namespace WixToolset.Core.Burn.Bundles
499 else if (package.SpecificPackageSymbol is WixBundleMsuPackageSymbol msuPackage) // MSU 499 else if (package.SpecificPackageSymbol is WixBundleMsuPackageSymbol msuPackage) // MSU
500 { 500 {
501 writer.WriteAttributeString("DetectCondition", msuPackage.DetectCondition); 501 writer.WriteAttributeString("DetectCondition", msuPackage.DetectCondition);
502 writer.WriteAttributeString("KB", msuPackage.MsuKB);
503 } 502 }
504 503
505 var packageMsiProperties = msiPropertiesByPackage[package.PackageId]; 504 var packageMsiProperties = msiPropertiesByPackage[package.PackageId];
diff --git a/src/wix/WixToolset.Core/Compiler_Bundle.cs b/src/wix/WixToolset.Core/Compiler_Bundle.cs
index be976a22..f3fc0271 100644
--- a/src/wix/WixToolset.Core/Compiler_Bundle.cs
+++ b/src/wix/WixToolset.Core/Compiler_Bundle.cs
@@ -2019,7 +2019,6 @@ namespace WixToolset.Core
2019 string detectCondition = null; 2019 string detectCondition = null;
2020 string protocol = null; 2020 string protocol = null;
2021 long? installSize = null; 2021 long? installSize = null;
2022 string msuKB = null;
2023 var enableFeatureSelection = YesNoType.NotSet; 2022 var enableFeatureSelection = YesNoType.NotSet;
2024 var forcePerMachine = YesNoType.NotSet; 2023 var forcePerMachine = YesNoType.NotSet;
2025 CompilerPackagePayload childCompilerPackagePayload = null; 2024 CompilerPackagePayload childCompilerPackagePayload = null;
@@ -2114,6 +2113,7 @@ namespace WixToolset.Core
2114 break; 2113 break;
2115 case "Permanent": 2114 case "Permanent":
2116 permanent = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib); 2115 permanent = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib);
2116 allowed = (packageType != WixBundlePackageType.Msu);
2117 break; 2117 break;
2118 case "Visible": 2118 case "Visible":
2119 visible = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib); 2119 visible = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib);
@@ -2153,10 +2153,6 @@ namespace WixToolset.Core
2153 case "InstallSize": 2153 case "InstallSize":
2154 installSize = this.Core.GetAttributeLongValue(sourceLineNumbers, attrib, 0, Int64.MaxValue); 2154 installSize = this.Core.GetAttributeLongValue(sourceLineNumbers, attrib, 0, Int64.MaxValue);
2155 break; 2155 break;
2156 case "KB":
2157 msuKB = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
2158 allowed = (packageType == WixBundlePackageType.Msu);
2159 break;
2160 case "Compressed": 2156 case "Compressed":
2161 compilerPayload.ParseCompressed(attrib); 2157 compilerPayload.ParseCompressed(attrib);
2162 hasPayloadInfo = true; 2158 hasPayloadInfo = true;
@@ -2464,21 +2460,6 @@ namespace WixToolset.Core
2464 } 2460 }
2465 else if (packageType == WixBundlePackageType.Msu) 2461 else if (packageType == WixBundlePackageType.Msu)
2466 { 2462 {
2467 if (permanent == YesNoType.No)
2468 {
2469 if (String.IsNullOrEmpty(msuKB))
2470 {
2471 this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "KB", "Permanent", "no"));
2472 }
2473 }
2474 else if (permanent == YesNoType.NotSet)
2475 {
2476 if (String.IsNullOrEmpty(msuKB))
2477 {
2478 this.Core.Write(ErrorMessages.ExpectedAttributeWithoutOtherAttribute(sourceLineNumbers, node.Name.LocalName, "KB", "Permanent"));
2479 }
2480 }
2481
2482 // Detect condition is recommended for Msu packages. 2463 // Detect condition is recommended for Msu packages.
2483 if (String.IsNullOrEmpty(detectCondition)) 2464 if (String.IsNullOrEmpty(detectCondition))
2484 { 2465 {
@@ -2583,8 +2564,7 @@ namespace WixToolset.Core
2583 case WixBundlePackageType.Msu: 2564 case WixBundlePackageType.Msu:
2584 this.Core.AddSymbol(new WixBundleMsuPackageSymbol(sourceLineNumbers, id) 2565 this.Core.AddSymbol(new WixBundleMsuPackageSymbol(sourceLineNumbers, id)
2585 { 2566 {
2586 DetectCondition = detectCondition, 2567 DetectCondition = detectCondition
2587 MsuKB = msuKB
2588 }); 2568 });
2589 break; 2569 break;
2590 } 2570 }
diff --git a/src/wix/test/WixToolsetTest.Converters/MsuPackageFixture.cs b/src/wix/test/WixToolsetTest.Converters/MsuPackageFixture.cs
new file mode 100644
index 00000000..5ec109b2
--- /dev/null
+++ b/src/wix/test/WixToolsetTest.Converters/MsuPackageFixture.cs
@@ -0,0 +1,60 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3namespace WixToolsetTest.Converters
4{
5 using System;
6 using System.Linq;
7 using System.Xml.Linq;
8 using WixBuildTools.TestSupport;
9 using WixToolset.Converters;
10 using WixToolsetTest.Converters.Mocks;
11 using Xunit;
12
13 public class MsuPackageFixture : BaseConverterFixture
14 {
15 [Fact]
16 public void CanRemoveMsuPackageDeprecatedAttributes()
17 {
18 var parse = String.Join(Environment.NewLine,
19 "<Wix xmlns='http://wixtoolset.org/schemas/v4/wxs'>",
20 " <Fragment>",
21 " <PackageGroup Id='msu'>",
22 " <MsuPackage Id='PermanentMsuPackage' KB='1234' Permanent='yes' DetectCondition='none'>",
23 " <MsuPackagePayload DownloadUrl='example.com' SourceFile='ignored.msu' />",
24 " </MsuPackage>",
25 " </PackageGroup>",
26 " </Fragment>",
27 "</Wix>");
28
29 var expected = new[]
30 {
31 "<Wix xmlns=\"http://wixtoolset.org/schemas/v4/wxs\">",
32 " <Fragment>",
33 " <PackageGroup Id=\"msu\">",
34 " <MsuPackage Id=\"PermanentMsuPackage\" DetectCondition=\"none\">",
35 " <MsuPackagePayload DownloadUrl=\"example.com\" SourceFile=\"ignored.msu\" />",
36 " </MsuPackage>",
37 " </PackageGroup>",
38 " </Fragment>",
39 "</Wix>"
40 };
41
42 var document = XDocument.Parse(parse, LoadOptions.PreserveWhitespace | LoadOptions.SetLineInfo);
43
44 var messaging = new MockMessaging();
45 var converter = new WixConverter(messaging, 2, null, null);
46
47 var errors = converter.ConvertDocument(document);
48
49 var actualLines = UnformattedDocumentLines(document);
50 WixAssert.CompareLineByLine(new[]
51 {
52 "[Converted] The MsuPackage element contains obsolete 'KB' attribute. Windows no longer supports silently removing MSUs so the attribute is unnecessary. The attribute will be removed. (MsuPackageKBObsolete)",
53 "[Converted] The MsuPackage element contains obsolete 'Permanent' attribute. MSU packages are now always permanent because Windows no longer supports silently removing MSUs. The attribute will be removed. (MsuPackagePermanentObsolete)",
54 }, messaging.Messages.Select(m => m.ToString()).ToArray());
55 WixAssert.CompareLineByLine(expected, actualLines);
56
57 Assert.Equal(2, errors);
58 }
59 }
60}
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/MsuPackageFixture.cs b/src/wix/test/WixToolsetTest.CoreIntegration/MsuPackageFixture.cs
index 37499ea9..0ebaf868 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/MsuPackageFixture.cs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/MsuPackageFixture.cs
@@ -88,5 +88,29 @@ namespace WixToolsetTest.CoreIntegration
88 Assert.Equal("The MsuPackage/@CacheId attribute was not found; it is required when attribute CertificatePublicKey is specified.", message.ToString()); 88 Assert.Equal("The MsuPackage/@CacheId attribute was not found; it is required when attribute CertificatePublicKey is specified.", message.ToString());
89 } 89 }
90 } 90 }
91
92 [Fact]
93 public void ErrorWhenSpecifyingPermanent()
94 {
95 var folder = TestData.Get(@"TestData", "MsuPackage");
96
97 using (var fs = new DisposableFileSystem())
98 {
99 var baseFolder = fs.GetFolder();
100
101 var result = WixRunner.Execute(false, new[]
102 {
103 "build",
104 Path.Combine(folder, "PermanentMsuPackage.wxs"),
105 "-o", Path.Combine(baseFolder, "test.wixlib")
106 });
107
108 WixAssert.CompareLineByLine(new[]
109 {
110 "The MsuPackage element contains an unexpected attribute 'Permanent'.",
111 }, result.Messages.Select(m => m.ToString()).ToArray());
112 Assert.Equal(4, result.ExitCode);
113 }
114 }
91 } 115 }
92} 116}
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/RemotePayloadFixture.cs b/src/wix/test/WixToolsetTest.CoreIntegration/RemotePayloadFixture.cs
index fc105880..c4f5c5c7 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/RemotePayloadFixture.cs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/RemotePayloadFixture.cs
@@ -289,7 +289,7 @@ namespace WixToolsetTest.CoreIntegration
289 }, elements); 289 }, elements);
290 290
291 // Append required attributes to build. 291 // Append required attributes to build.
292 elements[0] = elements[0].Replace(">", " KB='KB2937592' DetectCondition='test'>"); 292 elements[0] = elements[0].Replace(">", " DetectCondition='test'>");
293 293
294 var remotePayloadSourceText = "<Wix xmlns='http://wixtoolset.org/schemas/v4/wxs'>" + 294 var remotePayloadSourceText = "<Wix xmlns='http://wixtoolset.org/schemas/v4/wxs'>" +
295 " <Fragment>" + 295 " <Fragment>" +
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/MsuPackage/Bundle.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/MsuPackage/Bundle.wxs
index 48222546..dbca3393 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/MsuPackage/Bundle.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/MsuPackage/Bundle.wxs
@@ -5,7 +5,7 @@
5 </BootstrapperApplication> 5 </BootstrapperApplication>
6 6
7 <Chain> 7 <Chain>
8 <MsuPackage DetectCondition="DetectedTheMsu" KB="xyz" SourceFile="test.msu" /> 8 <MsuPackage DetectCondition="DetectedTheMsu" SourceFile="test.msu" />
9 </Chain> 9 </Chain>
10 </Bundle> 10 </Bundle>
11</Wix> 11</Wix>
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/MsuPackage/BundleUsingCertificateVerification.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/MsuPackage/BundleUsingCertificateVerification.wxs
index dcae2cf8..e10ac40d 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/MsuPackage/BundleUsingCertificateVerification.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/MsuPackage/BundleUsingCertificateVerification.wxs
@@ -5,7 +5,7 @@
5 </BootstrapperApplication> 5 </BootstrapperApplication>
6 6
7 <Chain> 7 <Chain>
8 <MsuPackage DetectCondition="DetectedTheMsu" KB="xyz" CacheId="8cf75b99-13c0-4184-82ce-dbde45dcd55a"> 8 <MsuPackage DetectCondition="DetectedTheMsu" CacheId="8cf75b99-13c0-4184-82ce-dbde45dcd55a">
9 <MsuPackagePayload Name='Windows8.1-KB2937592-x86.msu' DownloadUrl='http://wixtoolset.org' CertificatePublicKey="abc" CertificateThumbprint="123" Size='309544' /> 9 <MsuPackagePayload Name='Windows8.1-KB2937592-x86.msu' DownloadUrl='http://wixtoolset.org' CertificatePublicKey="abc" CertificateThumbprint="123" Size='309544' />
10 </MsuPackage> 10 </MsuPackage>
11 </Chain> 11 </Chain>
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/MsuPackage/BundleUsingCertificateVerificationWithoutCacheId.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/MsuPackage/BundleUsingCertificateVerificationWithoutCacheId.wxs
index f9282e37..759bcf9b 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/MsuPackage/BundleUsingCertificateVerificationWithoutCacheId.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/MsuPackage/BundleUsingCertificateVerificationWithoutCacheId.wxs
@@ -5,7 +5,7 @@
5 </BootstrapperApplication> 5 </BootstrapperApplication>
6 6
7 <Chain> 7 <Chain>
8 <MsuPackage DetectCondition="DetectedTheMsu" KB="xyz" > 8 <MsuPackage DetectCondition="DetectedTheMsu">
9 <MsuPackagePayload Name='Windows8.1-KB2937592-x86.msu' DownloadUrl='http://wixtoolset.org' CertificatePublicKey="abc" CertificateThumbprint="123" Size='309544' /> 9 <MsuPackagePayload Name='Windows8.1-KB2937592-x86.msu' DownloadUrl='http://wixtoolset.org' CertificatePublicKey="abc" CertificateThumbprint="123" Size='309544' />
10 </MsuPackage> 10 </MsuPackage>
11 </Chain> 11 </Chain>
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/MsuPackage/PermanentMsuPackage.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/MsuPackage/PermanentMsuPackage.wxs
new file mode 100644
index 00000000..d1104e89
--- /dev/null
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/MsuPackage/PermanentMsuPackage.wxs
@@ -0,0 +1,10 @@
1<?xml version="1.0" encoding="utf-8"?>
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3 <Fragment>
4 <PackageGroup Id="BundlePackages">
5 <MsuPackage Id="PermanentMsuPackage" Permanent="yes" DetectCondition="none">
6 <MsuPackagePayload DownloadUrl="example.com" SourceFile="ignored.msu" />
7 </MsuPackage>
8 </PackageGroup>
9 </Fragment>
10</Wix>
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/PackagePayload/MissingSourceFileAndHash.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/PackagePayload/MissingSourceFileAndHash.wxs
index 5e1b99ff..89aa3454 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/PackagePayload/MissingSourceFileAndHash.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/PackagePayload/MissingSourceFileAndHash.wxs
@@ -2,7 +2,7 @@
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3 <Fragment> 3 <Fragment>
4 <PackageGroup Id="BundlePackages"> 4 <PackageGroup Id="BundlePackages">
5 <MsuPackage Id="MissingSourceFileAndHash" Permanent="yes" DetectCondition="none"> 5 <MsuPackage Id="MissingSourceFileAndHash" DetectCondition="none">
6 <MsuPackagePayload DownloadUrl="example.com" /> 6 <MsuPackagePayload DownloadUrl="example.com" />
7 </MsuPackage> 7 </MsuPackage>
8 </PackageGroup> 8 </PackageGroup>
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/PackagePayload/SpecifiedHashAndMissingDownloadUrl.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/PackagePayload/SpecifiedHashAndMissingDownloadUrl.wxs
index 8e62f660..49384c16 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/PackagePayload/SpecifiedHashAndMissingDownloadUrl.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/PackagePayload/SpecifiedHashAndMissingDownloadUrl.wxs
@@ -2,7 +2,7 @@
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3 <Fragment> 3 <Fragment>
4 <PackageGroup Id="BundlePackages"> 4 <PackageGroup Id="BundlePackages">
5 <MsuPackage Id="SpecifiedHashAndMissingDownloadUrl" Permanent="yes" DetectCondition="none"> 5 <MsuPackage Id="SpecifiedHashAndMissingDownloadUrl" DetectCondition="none">
6 <MsuPackagePayload Name="example.msu" Hash="abcd" Size="1" Version="1.0.0.0" ProductName="KB1234567" Description="fake msu" /> 6 <MsuPackagePayload Name="example.msu" Hash="abcd" Size="1" Version="1.0.0.0" ProductName="KB1234567" Description="fake msu" />
7 </MsuPackage> 7 </MsuPackage>
8 </PackageGroup> 8 </PackageGroup>
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/RemotePayload/DiversePayloadsBundle.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/RemotePayload/DiversePayloadsBundle.wxs
index f65b5db6..38457862 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/RemotePayload/DiversePayloadsBundle.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/RemotePayload/DiversePayloadsBundle.wxs
@@ -6,7 +6,7 @@
6 <Chain> 6 <Chain>
7 <PackageGroupRef Id="ExternalContainerPackages" /> 7 <PackageGroupRef Id="ExternalContainerPackages" />
8 <ExePackage SourceFile="signed_bundle_engine.exe" DetectCondition="none" Permanent="yes" /> 8 <ExePackage SourceFile="signed_bundle_engine.exe" DetectCondition="none" Permanent="yes" />
9 <MsuPackage SourceFile="Windows8.1-KB2937592-x86.msu" DetectCondition="none" Permanent="yes" Compressed="no" DownloadUrl="http://example.com/test.msu" /> 9 <MsuPackage SourceFile="Windows8.1-KB2937592-x86.msu" DetectCondition="none" Compressed="no" DownloadUrl="http://example.com/test.msu" />
10 <MsiPackage SourceFile="test.msi" Compressed="no" /> 10 <MsiPackage SourceFile="test.msi" Compressed="no" />
11 </Chain> 11 </Chain>
12 <Container Name="External.cab"> 12 <Container Name="External.cab">