aboutsummaryrefslogtreecommitdiff
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
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
-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">