diff options
| author | Bob Arnson <bob@firegiant.com> | 2020-10-23 17:48:34 -0400 |
|---|---|---|
| committer | Bob Arnson <bob@firegiant.com> | 2020-10-24 20:19:12 -0400 |
| commit | 507d9da4116ef2211c466b9edffc4d1c23c79b9b (patch) | |
| tree | 0e241e268055d98c20d06a19a9ea80b360679a21 /src | |
| parent | 61cd9e6baeffa365ea535b09d3cf69731b989a9a (diff) | |
| download | wix-507d9da4116ef2211c466b9edffc4d1c23c79b9b.tar.gz wix-507d9da4116ef2211c466b9edffc4d1c23c79b9b.tar.bz2 wix-507d9da4116ef2211c466b9edffc4d1c23c79b9b.zip | |
Reorganize Product/Package to Package/SummaryInformation.
Diffstat (limited to 'src')
12 files changed, 384 insertions, 25 deletions
diff --git a/src/WixToolset.Converters/WixConverter.cs b/src/WixToolset.Converters/WixConverter.cs index 1fcaacb4..bfdaa31b 100644 --- a/src/WixToolset.Converters/WixConverter.cs +++ b/src/WixToolset.Converters/WixConverter.cs | |||
| @@ -57,9 +57,11 @@ namespace WixToolset.Converters | |||
| 57 | private static readonly XName LaunchElementName = WixNamespace + "Launch"; | 57 | private static readonly XName LaunchElementName = WixNamespace + "Launch"; |
| 58 | private static readonly XName LevelElementName = WixNamespace + "Level"; | 58 | private static readonly XName LevelElementName = WixNamespace + "Level"; |
| 59 | private static readonly XName ExePackageElementName = WixNamespace + "ExePackage"; | 59 | private static readonly XName ExePackageElementName = WixNamespace + "ExePackage"; |
| 60 | private static readonly XName ModuleElementName = WixNamespace + "Module"; | ||
| 60 | private static readonly XName MsiPackageElementName = WixNamespace + "MsiPackage"; | 61 | private static readonly XName MsiPackageElementName = WixNamespace + "MsiPackage"; |
| 61 | private static readonly XName MspPackageElementName = WixNamespace + "MspPackage"; | 62 | private static readonly XName MspPackageElementName = WixNamespace + "MspPackage"; |
| 62 | private static readonly XName MsuPackageElementName = WixNamespace + "MsuPackage"; | 63 | private static readonly XName MsuPackageElementName = WixNamespace + "MsuPackage"; |
| 64 | private static readonly XName PackageElementName = WixNamespace + "Package"; | ||
| 63 | private static readonly XName PayloadElementName = WixNamespace + "Payload"; | 65 | private static readonly XName PayloadElementName = WixNamespace + "Payload"; |
| 64 | private static readonly XName PermissionExElementName = WixNamespace + "PermissionEx"; | 66 | private static readonly XName PermissionExElementName = WixNamespace + "PermissionEx"; |
| 65 | private static readonly XName ProductElementName = WixNamespace + "Product"; | 67 | private static readonly XName ProductElementName = WixNamespace + "Product"; |
| @@ -67,7 +69,6 @@ namespace WixToolset.Converters | |||
| 67 | private static readonly XName PublishElementName = WixNamespace + "Publish"; | 69 | private static readonly XName PublishElementName = WixNamespace + "Publish"; |
| 68 | private static readonly XName MultiStringValueElementName = WixNamespace + "MultiStringValue"; | 70 | private static readonly XName MultiStringValueElementName = WixNamespace + "MultiStringValue"; |
| 69 | private static readonly XName RequiredPrivilegeElementName = WixNamespace + "RequiredPrivilege"; | 71 | private static readonly XName RequiredPrivilegeElementName = WixNamespace + "RequiredPrivilege"; |
| 70 | private static readonly XName RowElementName = WixNamespace + "Row"; | ||
| 71 | private static readonly XName ServiceArgumentElementName = WixNamespace + "ServiceArgument"; | 72 | private static readonly XName ServiceArgumentElementName = WixNamespace + "ServiceArgument"; |
| 72 | private static readonly XName SetDirectoryElementName = WixNamespace + "SetDirectory"; | 73 | private static readonly XName SetDirectoryElementName = WixNamespace + "SetDirectory"; |
| 73 | private static readonly XName SetPropertyElementName = WixNamespace + "SetProperty"; | 74 | private static readonly XName SetPropertyElementName = WixNamespace + "SetProperty"; |
| @@ -86,6 +87,7 @@ namespace WixToolset.Converters | |||
| 86 | private static readonly XName Include4ElementName = WixNamespace + "Include"; | 87 | private static readonly XName Include4ElementName = WixNamespace + "Include"; |
| 87 | private static readonly XName Include3ElementName = Wix3Namespace + "Include"; | 88 | private static readonly XName Include3ElementName = Wix3Namespace + "Include"; |
| 88 | private static readonly XName IncludeElementWithoutNamespaceName = XNamespace.None + "Include"; | 89 | private static readonly XName IncludeElementWithoutNamespaceName = XNamespace.None + "Include"; |
| 90 | private static readonly XName SummaryInformationElementName = WixNamespace + "SummaryInformation"; | ||
| 89 | 91 | ||
| 90 | private static readonly Dictionary<string, XNamespace> OldToNewNamespaceMapping = new Dictionary<string, XNamespace>() | 92 | private static readonly Dictionary<string, XNamespace> OldToNewNamespaceMapping = new Dictionary<string, XNamespace>() |
| 91 | { | 93 | { |
| @@ -147,6 +149,7 @@ namespace WixToolset.Converters | |||
| 147 | { WixConverter.EmbeddedChainerElementName, this.ConvertEmbeddedChainerElement }, | 149 | { WixConverter.EmbeddedChainerElementName, this.ConvertEmbeddedChainerElement }, |
| 148 | { WixConverter.ErrorElementName, this.ConvertErrorElement }, | 150 | { WixConverter.ErrorElementName, this.ConvertErrorElement }, |
| 149 | { WixConverter.ExePackageElementName, this.ConvertSuppressSignatureValidation }, | 151 | { WixConverter.ExePackageElementName, this.ConvertSuppressSignatureValidation }, |
| 152 | { WixConverter.ModuleElementName, this.ConvertModuleElement }, | ||
| 150 | { WixConverter.MsiPackageElementName, this.ConvertSuppressSignatureValidation }, | 153 | { WixConverter.MsiPackageElementName, this.ConvertSuppressSignatureValidation }, |
| 151 | { WixConverter.MspPackageElementName, this.ConvertSuppressSignatureValidation }, | 154 | { WixConverter.MspPackageElementName, this.ConvertSuppressSignatureValidation }, |
| 152 | { WixConverter.MsuPackageElementName, this.ConvertSuppressSignatureValidation }, | 155 | { WixConverter.MsuPackageElementName, this.ConvertSuppressSignatureValidation }, |
| @@ -669,6 +672,36 @@ namespace WixToolset.Converters | |||
| 669 | 672 | ||
| 670 | private void ConvertProgressTextElement(XElement element) => this.ConvertInnerTextToAttribute(element, "Message"); | 673 | private void ConvertProgressTextElement(XElement element) => this.ConvertInnerTextToAttribute(element, "Message"); |
| 671 | 674 | ||
| 675 | private void ConvertModuleElement(XElement element) | ||
| 676 | { | ||
| 677 | if (element.Attribute("Guid") == null // skip already-converted Module elements | ||
| 678 | && this.OnError(ConverterTestType.ModuleAndPackageRenamed, element, "The Module and Package elements have been renamed and reorganized for simplicity.")) | ||
| 679 | { | ||
| 680 | var xModule = element; | ||
| 681 | |||
| 682 | var xSummaryInformation = xModule.Element(PackageElementName); | ||
| 683 | if (xSummaryInformation != null) | ||
| 684 | { | ||
| 685 | xSummaryInformation.Name = SummaryInformationElementName; | ||
| 686 | |||
| 687 | RemoveAttribute(xSummaryInformation, "AdminImage"); | ||
| 688 | RemoveAttribute(xSummaryInformation, "Comments"); | ||
| 689 | MoveAttribute(xSummaryInformation, "Id", xModule, "Guid"); | ||
| 690 | MoveAttribute(xSummaryInformation, "InstallerVersion", xModule); | ||
| 691 | RemoveAttribute(xSummaryInformation, "Languages"); | ||
| 692 | RemoveAttribute(xSummaryInformation, "Platform"); | ||
| 693 | RemoveAttribute(xSummaryInformation, "Platforms"); | ||
| 694 | RemoveAttribute(xSummaryInformation, "ReadOnly"); | ||
| 695 | MoveAttribute(xSummaryInformation, "SummaryCodepage", xSummaryInformation, "Codepage", defaultValue: "1252"); | ||
| 696 | |||
| 697 | if (!xSummaryInformation.HasAttributes) | ||
| 698 | { | ||
| 699 | xSummaryInformation.Remove(); | ||
| 700 | } | ||
| 701 | } | ||
| 702 | } | ||
| 703 | } | ||
| 704 | |||
| 672 | private void ConvertProductElement(XElement element) | 705 | private void ConvertProductElement(XElement element) |
| 673 | { | 706 | { |
| 674 | var id = element.Attribute("Id"); | 707 | var id = element.Attribute("Id"); |
| @@ -696,6 +729,72 @@ namespace WixToolset.Converters | |||
| 696 | xCondition.Remove(); | 729 | xCondition.Remove(); |
| 697 | } | 730 | } |
| 698 | } | 731 | } |
| 732 | |||
| 733 | if (this.OnError(ConverterTestType.ProductAndPackageRenamed, element, "The Product and Package elements have been renamed and reorganized for simplicity.")) | ||
| 734 | { | ||
| 735 | var xPackage = element; | ||
| 736 | xPackage.Name = PackageElementName; | ||
| 737 | |||
| 738 | var xSummaryInformation = xPackage.Element(PackageElementName); | ||
| 739 | if (xSummaryInformation != null) | ||
| 740 | { | ||
| 741 | xSummaryInformation.Name = SummaryInformationElementName; | ||
| 742 | |||
| 743 | RemoveAttribute(xSummaryInformation, "AdminImage"); | ||
| 744 | RemoveAttribute(xSummaryInformation, "Comments"); | ||
| 745 | MoveAttribute(xSummaryInformation, "Compressed", xPackage); | ||
| 746 | RemoveAttribute(xSummaryInformation, "Id"); | ||
| 747 | MoveAttribute(xSummaryInformation, "InstallerVersion", xPackage, defaultValue: "500"); | ||
| 748 | MoveAttribute(xSummaryInformation, "InstallScope", xPackage, "Scope", defaultValue: "perMachine"); | ||
| 749 | RemoveAttribute(xSummaryInformation, "Platform"); | ||
| 750 | RemoveAttribute(xSummaryInformation, "Platforms"); | ||
| 751 | RemoveAttribute(xSummaryInformation, "ReadOnly"); | ||
| 752 | MoveAttribute(xSummaryInformation, "ShortNames", xPackage); | ||
| 753 | MoveAttribute(xSummaryInformation, "SummaryCodepage", xSummaryInformation, "Codepage", defaultValue: "1252"); | ||
| 754 | MoveAttribute(xPackage, "Id", xPackage, "ProductCode"); | ||
| 755 | |||
| 756 | var xInstallPrivileges = xSummaryInformation.Attribute("InstallPrivileges"); | ||
| 757 | switch (xInstallPrivileges?.Value) | ||
| 758 | { | ||
| 759 | case "limited": | ||
| 760 | xPackage.SetAttributeValue("Scope", "perUser"); | ||
| 761 | break; | ||
| 762 | case "elevated": | ||
| 763 | { | ||
| 764 | var xAllUsers = xPackage.Elements(PropertyElementName).SingleOrDefault(p => p.Attribute("Id")?.Value == "ALLUSERS"); | ||
| 765 | if (xAllUsers?.Attribute("Value")?.Value == "1") | ||
| 766 | { | ||
| 767 | xAllUsers?.Remove(); | ||
| 768 | } | ||
| 769 | } | ||
| 770 | break; | ||
| 771 | } | ||
| 772 | |||
| 773 | xInstallPrivileges?.Remove(); | ||
| 774 | |||
| 775 | if (!xSummaryInformation.HasAttributes) | ||
| 776 | { | ||
| 777 | xSummaryInformation.Remove(); | ||
| 778 | } | ||
| 779 | } | ||
| 780 | } | ||
| 781 | } | ||
| 782 | |||
| 783 | private static void MoveAttribute(XElement xSource, string attributeName, XElement xDestination, string destinationAttributeName = null, string defaultValue = null) | ||
| 784 | { | ||
| 785 | var xAttribute = xSource.Attribute(attributeName); | ||
| 786 | if (xAttribute != null && (defaultValue == null || xAttribute.Value != defaultValue)) | ||
| 787 | { | ||
| 788 | xDestination.SetAttributeValue(destinationAttributeName ?? attributeName, xAttribute.Value); | ||
| 789 | } | ||
| 790 | |||
| 791 | xAttribute?.Remove(); | ||
| 792 | } | ||
| 793 | |||
| 794 | private static void RemoveAttribute(XElement xSummaryInformation, string attributeName) | ||
| 795 | { | ||
| 796 | var xAttribute = xSummaryInformation.Attribute(attributeName); | ||
| 797 | xAttribute?.Remove(); | ||
| 699 | } | 798 | } |
| 700 | 799 | ||
| 701 | private void ConvertPublishElement(XElement element) | 800 | private void ConvertPublishElement(XElement element) |
| @@ -1300,6 +1399,16 @@ namespace WixToolset.Converters | |||
| 1300 | /// The CustomAction attributes have been renamed from BinaryKey and FileKey to BinaryRef and FileRef. | 1399 | /// The CustomAction attributes have been renamed from BinaryKey and FileKey to BinaryRef and FileRef. |
| 1301 | /// </summary> | 1400 | /// </summary> |
| 1302 | CustomActionKeysAreNowRefs, | 1401 | CustomActionKeysAreNowRefs, |
| 1402 | |||
| 1403 | /// <summary> | ||
| 1404 | /// The Product and Package elements have been renamed and reorganized. | ||
| 1405 | /// </summary> | ||
| 1406 | ProductAndPackageRenamed, | ||
| 1407 | |||
| 1408 | /// <summary> | ||
| 1409 | /// The Module and Package elements have been renamed and reorganized. | ||
| 1410 | /// </summary> | ||
| 1411 | ModuleAndPackageRenamed, | ||
| 1303 | } | 1412 | } |
| 1304 | } | 1413 | } |
| 1305 | } | 1414 | } |
diff --git a/src/test/WixToolsetTest.Converters/ConditionFixture.cs b/src/test/WixToolsetTest.Converters/ConditionFixture.cs index 629fbd2a..75ceec31 100644 --- a/src/test/WixToolsetTest.Converters/ConditionFixture.cs +++ b/src/test/WixToolsetTest.Converters/ConditionFixture.cs | |||
| @@ -220,6 +220,7 @@ namespace WixToolsetTest.Converters | |||
| 220 | "<?xml version=\"1.0\" encoding=\"utf-16\"?>", | 220 | "<?xml version=\"1.0\" encoding=\"utf-16\"?>", |
| 221 | "<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>", | 221 | "<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>", |
| 222 | " <Product>", | 222 | " <Product>", |
| 223 | " <Package />", | ||
| 223 | " <Condition Message='Stop the install'>", | 224 | " <Condition Message='Stop the install'>", |
| 224 | " 1<2", | 225 | " 1<2", |
| 225 | " </Condition>", | 226 | " </Condition>", |
| @@ -232,10 +233,11 @@ namespace WixToolsetTest.Converters | |||
| 232 | var expected = new[] | 233 | var expected = new[] |
| 233 | { | 234 | { |
| 234 | "<Wix xmlns=\"http://wixtoolset.org/schemas/v4/wxs\">", | 235 | "<Wix xmlns=\"http://wixtoolset.org/schemas/v4/wxs\">", |
| 235 | " <Product>", | 236 | " <Package>", |
| 237 | " ", | ||
| 236 | " <Launch Condition=\"1<2\" Message=\"Stop the install\" />", | 238 | " <Launch Condition=\"1<2\" Message=\"Stop the install\" />", |
| 237 | " <Launch Condition=\"1=2\" Message=\"Do not stop\" />", | 239 | " <Launch Condition=\"1=2\" Message=\"Do not stop\" />", |
| 238 | " </Product>", | 240 | " </Package>", |
| 239 | "</Wix>" | 241 | "</Wix>" |
| 240 | }; | 242 | }; |
| 241 | 243 | ||
| @@ -245,7 +247,7 @@ namespace WixToolsetTest.Converters | |||
| 245 | var converter = new WixConverter(messaging, 2, null, null); | 247 | var converter = new WixConverter(messaging, 2, null, null); |
| 246 | 248 | ||
| 247 | var errors = converter.ConvertDocument(document); | 249 | var errors = converter.ConvertDocument(document); |
| 248 | Assert.Equal(4, errors); | 250 | Assert.Equal(5, errors); |
| 249 | 251 | ||
| 250 | var actualLines = UnformattedDocumentLines(document); | 252 | var actualLines = UnformattedDocumentLines(document); |
| 251 | WixAssert.CompareLineByLine(expected, actualLines); | 253 | WixAssert.CompareLineByLine(expected, actualLines); |
diff --git a/src/test/WixToolsetTest.Converters/ConverterIntegrationFixture.cs b/src/test/WixToolsetTest.Converters/ConverterIntegrationFixture.cs index 09387590..38afca72 100644 --- a/src/test/WixToolsetTest.Converters/ConverterIntegrationFixture.cs +++ b/src/test/WixToolsetTest.Converters/ConverterIntegrationFixture.cs | |||
| @@ -58,7 +58,7 @@ namespace WixToolsetTest.Converters | |||
| 58 | var converter = new WixConverter(messaging, 4); | 58 | var converter = new WixConverter(messaging, 4); |
| 59 | var errors = converter.ConvertFile(targetFile, true); | 59 | var errors = converter.ConvertFile(targetFile, true); |
| 60 | 60 | ||
| 61 | Assert.Equal(7, errors); | 61 | Assert.Equal(8, errors); |
| 62 | 62 | ||
| 63 | var expected = File.ReadAllText(Path.Combine(folder, afterFileName)).Replace("\r\n", "\n"); | 63 | var expected = File.ReadAllText(Path.Combine(folder, afterFileName)).Replace("\r\n", "\n"); |
| 64 | var actual = File.ReadAllText(targetFile).Replace("\r\n", "\n"); | 64 | var actual = File.ReadAllText(targetFile).Replace("\r\n", "\n"); |
| @@ -84,7 +84,7 @@ namespace WixToolsetTest.Converters | |||
| 84 | var settingsFile = Path.Combine(folder, "wixcop.settings.xml"); | 84 | var settingsFile = Path.Combine(folder, "wixcop.settings.xml"); |
| 85 | 85 | ||
| 86 | var result = RunConversion(targetFile, settingsFile: settingsFile); | 86 | var result = RunConversion(targetFile, settingsFile: settingsFile); |
| 87 | Assert.Equal(7, result.ExitCode); | 87 | Assert.Equal(8, result.ExitCode); |
| 88 | 88 | ||
| 89 | var expected = File.ReadAllText(Path.Combine(folder, afterFileName)).Replace("\r\n", "\n"); | 89 | var expected = File.ReadAllText(Path.Combine(folder, afterFileName)).Replace("\r\n", "\n"); |
| 90 | var actual = File.ReadAllText(targetFile).Replace("\r\n", "\n"); | 90 | var actual = File.ReadAllText(targetFile).Replace("\r\n", "\n"); |
| @@ -108,7 +108,7 @@ namespace WixToolsetTest.Converters | |||
| 108 | File.Copy(Path.Combine(folder, beforeFileName), Path.Combine(baseFolder, beforeFileName)); | 108 | File.Copy(Path.Combine(folder, beforeFileName), Path.Combine(baseFolder, beforeFileName)); |
| 109 | 109 | ||
| 110 | var result = RunConversion(targetFile); | 110 | var result = RunConversion(targetFile); |
| 111 | Assert.Equal(11, result.ExitCode); | 111 | Assert.Equal(12, result.ExitCode); |
| 112 | 112 | ||
| 113 | var expected = File.ReadAllText(Path.Combine(folder, afterFileName)).Replace("\r\n", "\n"); | 113 | var expected = File.ReadAllText(Path.Combine(folder, afterFileName)).Replace("\r\n", "\n"); |
| 114 | var actual = File.ReadAllText(targetFile).Replace("\r\n", "\n"); | 114 | var actual = File.ReadAllText(targetFile).Replace("\r\n", "\n"); |
| @@ -133,7 +133,7 @@ namespace WixToolsetTest.Converters | |||
| 133 | 133 | ||
| 134 | var result = RunConversion(targetFile); | 134 | var result = RunConversion(targetFile); |
| 135 | 135 | ||
| 136 | Assert.Equal(11, result.ExitCode); | 136 | Assert.Equal(12, result.ExitCode); |
| 137 | Assert.Single(result.Messages.Where(message => message.ToString().EndsWith("(QtExecCmdTimeoutAmbiguous)"))); | 137 | Assert.Single(result.Messages.Where(message => message.ToString().EndsWith("(QtExecCmdTimeoutAmbiguous)"))); |
| 138 | 138 | ||
| 139 | var expected = File.ReadAllText(Path.Combine(folder, afterFileName)).Replace("\r\n", "\n"); | 139 | var expected = File.ReadAllText(Path.Combine(folder, afterFileName)).Replace("\r\n", "\n"); |
diff --git a/src/test/WixToolsetTest.Converters/FirewallExtensionFixture.cs b/src/test/WixToolsetTest.Converters/ExtensionFixture.cs index e6ec8568..4bf2ed3d 100644 --- a/src/test/WixToolsetTest.Converters/FirewallExtensionFixture.cs +++ b/src/test/WixToolsetTest.Converters/ExtensionFixture.cs | |||
| @@ -9,7 +9,7 @@ namespace WixToolsetTest.Converters | |||
| 9 | using WixToolsetTest.Converters.Mocks; | 9 | using WixToolsetTest.Converters.Mocks; |
| 10 | using Xunit; | 10 | using Xunit; |
| 11 | 11 | ||
| 12 | public class FirewallExtensionFixture : BaseConverterFixture | 12 | public class ExtensionFixture : BaseConverterFixture |
| 13 | { | 13 | { |
| 14 | [Fact] | 14 | [Fact] |
| 15 | public void FixRemoteAddressValue() | 15 | public void FixRemoteAddressValue() |
diff --git a/src/test/WixToolsetTest.Converters/ProductPackageFixture.cs b/src/test/WixToolsetTest.Converters/ProductPackageFixture.cs new file mode 100644 index 00000000..9407ff16 --- /dev/null +++ b/src/test/WixToolsetTest.Converters/ProductPackageFixture.cs | |||
| @@ -0,0 +1,209 @@ | |||
| 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 | |||
| 3 | namespace WixToolsetTest.Converters | ||
| 4 | { | ||
| 5 | using System; | ||
| 6 | using System.IO; | ||
| 7 | using System.Xml.Linq; | ||
| 8 | using WixBuildTools.TestSupport; | ||
| 9 | using WixToolset.Converters; | ||
| 10 | using WixToolset.Core.TestPackage; | ||
| 11 | using WixToolsetTest.Converters.Mocks; | ||
| 12 | using Xunit; | ||
| 13 | |||
| 14 | public class ProductPackageFixture : BaseConverterFixture | ||
| 15 | { | ||
| 16 | [Fact] | ||
| 17 | public void FixesCompressed() | ||
| 18 | { | ||
| 19 | var parse = String.Join(Environment.NewLine, | ||
| 20 | "<?xml version=\"1.0\" encoding=\"utf-16\"?>", | ||
| 21 | "<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>", | ||
| 22 | " <Product>", | ||
| 23 | " <Package Compressed='yes' />", | ||
| 24 | " </Product>", | ||
| 25 | "</Wix>"); | ||
| 26 | |||
| 27 | var expected = new[] | ||
| 28 | { | ||
| 29 | "<Wix xmlns=\"http://wixtoolset.org/schemas/v4/wxs\">", | ||
| 30 | " <Package Compressed=\"yes\">", | ||
| 31 | " ", | ||
| 32 | " </Package>", | ||
| 33 | "</Wix>" | ||
| 34 | }; | ||
| 35 | |||
| 36 | AssertSuccess(parse, 3, expected); | ||
| 37 | } | ||
| 38 | |||
| 39 | private static void AssertSuccess(string input, int expectedErrorCount, string[] expected) | ||
| 40 | { | ||
| 41 | var document = XDocument.Parse(input, LoadOptions.PreserveWhitespace | LoadOptions.SetLineInfo); | ||
| 42 | |||
| 43 | var messaging = new MockMessaging(); | ||
| 44 | var converter = new WixConverter(messaging, 2, null, null); | ||
| 45 | |||
| 46 | var errors = converter.ConvertDocument(document); | ||
| 47 | Assert.Equal(expectedErrorCount, errors); | ||
| 48 | |||
| 49 | var actualLines = UnformattedDocumentLines(document); | ||
| 50 | WixAssert.CompareLineByLine(expected, actualLines); | ||
| 51 | } | ||
| 52 | |||
| 53 | [Fact] | ||
| 54 | public void FixesInstallerVersion() | ||
| 55 | { | ||
| 56 | var parse = String.Join(Environment.NewLine, | ||
| 57 | "<?xml version=\"1.0\" encoding=\"utf-16\"?>", | ||
| 58 | "<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>", | ||
| 59 | " <Product>", | ||
| 60 | " <Package InstallerVersion='666' />", | ||
| 61 | " </Product>", | ||
| 62 | "</Wix>"); | ||
| 63 | |||
| 64 | var expected = new[] | ||
| 65 | { | ||
| 66 | "<Wix xmlns=\"http://wixtoolset.org/schemas/v4/wxs\">", | ||
| 67 | " <Package InstallerVersion=\"666\">", | ||
| 68 | " ", | ||
| 69 | " </Package>", | ||
| 70 | "</Wix>" | ||
| 71 | }; | ||
| 72 | |||
| 73 | AssertSuccess(parse, 3, expected); | ||
| 74 | } | ||
| 75 | |||
| 76 | [Fact] | ||
| 77 | public void FixesDefaultInstallerVersion() | ||
| 78 | { | ||
| 79 | var parse = String.Join(Environment.NewLine, | ||
| 80 | "<?xml version=\"1.0\" encoding=\"utf-16\"?>", | ||
| 81 | "<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>", | ||
| 82 | " <Product>", | ||
| 83 | " <Package InstallerVersion='500' />", | ||
| 84 | " </Product>", | ||
| 85 | "</Wix>"); | ||
| 86 | |||
| 87 | var expected = new[] | ||
| 88 | { | ||
| 89 | "<Wix xmlns=\"http://wixtoolset.org/schemas/v4/wxs\">", | ||
| 90 | " <Package>", | ||
| 91 | " ", | ||
| 92 | " </Package>", | ||
| 93 | "</Wix>" | ||
| 94 | }; | ||
| 95 | |||
| 96 | AssertSuccess(parse, 3, expected); | ||
| 97 | } | ||
| 98 | |||
| 99 | [Fact] | ||
| 100 | public void FixesNonDefaultInstallerVersion() | ||
| 101 | { | ||
| 102 | var parse = String.Join(Environment.NewLine, | ||
| 103 | "<?xml version=\"1.0\" encoding=\"utf-16\"?>", | ||
| 104 | "<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>", | ||
| 105 | " <Product>", | ||
| 106 | " <Package InstallerVersion='200' />", | ||
| 107 | " </Product>", | ||
| 108 | "</Wix>"); | ||
| 109 | |||
| 110 | var expected = new[] | ||
| 111 | { | ||
| 112 | "<Wix xmlns=\"http://wixtoolset.org/schemas/v4/wxs\">", | ||
| 113 | " <Package InstallerVersion=\"200\">", | ||
| 114 | " ", | ||
| 115 | " </Package>", | ||
| 116 | "</Wix>" | ||
| 117 | }; | ||
| 118 | |||
| 119 | AssertSuccess(parse, 3, expected); | ||
| 120 | } | ||
| 121 | |||
| 122 | [Fact] | ||
| 123 | public void FixesLimitedInstallerPrivileges() | ||
| 124 | { | ||
| 125 | var parse = String.Join(Environment.NewLine, | ||
| 126 | "<?xml version=\"1.0\" encoding=\"utf-16\"?>", | ||
| 127 | "<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>", | ||
| 128 | " <Product>", | ||
| 129 | " <Package InstallPrivileges='limited' />", | ||
| 130 | " </Product>", | ||
| 131 | "</Wix>"); | ||
| 132 | |||
| 133 | var expected = new[] | ||
| 134 | { | ||
| 135 | "<Wix xmlns=\"http://wixtoolset.org/schemas/v4/wxs\">", | ||
| 136 | " <Package Scope=\"perUser\">", | ||
| 137 | " ", | ||
| 138 | " </Package>", | ||
| 139 | "</Wix>" | ||
| 140 | }; | ||
| 141 | |||
| 142 | AssertSuccess(parse, 3, expected); | ||
| 143 | } | ||
| 144 | |||
| 145 | [Fact] | ||
| 146 | public void FixesElevatedInstallerPrivileges() | ||
| 147 | { | ||
| 148 | var parse = String.Join(Environment.NewLine, | ||
| 149 | "<?xml version=\"1.0\" encoding=\"utf-16\"?>", | ||
| 150 | "<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>", | ||
| 151 | " <Product>", | ||
| 152 | " <Package InstallPrivileges='elevated' />", | ||
| 153 | " <Property Id='ALLUSERS' Value='1' />", | ||
| 154 | " </Product>", | ||
| 155 | "</Wix>"); | ||
| 156 | |||
| 157 | var expected = new[] | ||
| 158 | { | ||
| 159 | "<Wix xmlns=\"http://wixtoolset.org/schemas/v4/wxs\">", | ||
| 160 | " <Package>", | ||
| 161 | " ", | ||
| 162 | " ", | ||
| 163 | " </Package>", | ||
| 164 | "</Wix>" | ||
| 165 | }; | ||
| 166 | |||
| 167 | AssertSuccess(parse, 3, expected); | ||
| 168 | } | ||
| 169 | |||
| 170 | [Fact] | ||
| 171 | public void CanDecompileAndRecompile() | ||
| 172 | { | ||
| 173 | using (var fs = new DisposableFileSystem()) | ||
| 174 | { | ||
| 175 | var baseFolder = fs.GetFolder(); | ||
| 176 | var intermediateFolder = Path.Combine(baseFolder, "obj"); | ||
| 177 | var decompiledWxsPath = Path.Combine(baseFolder, "TypicalV3.wxs"); | ||
| 178 | |||
| 179 | var folder = TestData.Get(@"TestData\PackageSummaryInformation"); | ||
| 180 | var v3msiPath = Path.Combine(folder, "TypicalV3.msi"); | ||
| 181 | var result = WixRunner.Execute(new[] | ||
| 182 | { | ||
| 183 | "decompile", v3msiPath, | ||
| 184 | "-intermediateFolder", intermediateFolder, | ||
| 185 | "-o", decompiledWxsPath | ||
| 186 | }); | ||
| 187 | |||
| 188 | result.AssertSuccess(); | ||
| 189 | |||
| 190 | var v4msiPath = Path.Combine(intermediateFolder, "TypicalV4.msi"); | ||
| 191 | result = WixRunner.Execute(new[] | ||
| 192 | { | ||
| 193 | "build", decompiledWxsPath, | ||
| 194 | "-arch", "x64", | ||
| 195 | "-intermediateFolder", intermediateFolder, | ||
| 196 | "-o", v4msiPath | ||
| 197 | }); | ||
| 198 | |||
| 199 | result.AssertSuccess(); | ||
| 200 | |||
| 201 | Assert.True(File.Exists(v4msiPath)); | ||
| 202 | |||
| 203 | var v3results = Query.QueryDatabase(v3msiPath, new[] { "_SummaryInformation", "Property" }); | ||
| 204 | var v4results = Query.QueryDatabase(v4msiPath, new[] { "_SummaryInformation", "Property" }); | ||
| 205 | WixAssert.CompareLineByLine(v3results, v4results); | ||
| 206 | } | ||
| 207 | } | ||
| 208 | } | ||
| 209 | } | ||
diff --git a/src/test/WixToolsetTest.Converters/TestData/PackageSummaryInformation/TypicalV3.msi b/src/test/WixToolsetTest.Converters/TestData/PackageSummaryInformation/TypicalV3.msi new file mode 100644 index 00000000..0d7e1b21 --- /dev/null +++ b/src/test/WixToolsetTest.Converters/TestData/PackageSummaryInformation/TypicalV3.msi | |||
| Binary files differ | |||
diff --git a/src/test/WixToolsetTest.Converters/TestData/PackageSummaryInformation/TypicalV3.wxs b/src/test/WixToolsetTest.Converters/TestData/PackageSummaryInformation/TypicalV3.wxs new file mode 100644 index 00000000..8c5027b4 --- /dev/null +++ b/src/test/WixToolsetTest.Converters/TestData/PackageSummaryInformation/TypicalV3.wxs | |||
| @@ -0,0 +1,37 @@ | |||
| 1 | <?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> | ||
| 3 | <?define Name = "Package and summary information testing" ?> | ||
| 4 | |||
| 5 | <Product Id="*" | ||
| 6 | Name="$(var.Name)" | ||
| 7 | Language="1033" | ||
| 8 | Version="1.0" | ||
| 9 | Manufacturer="Example Corporation" | ||
| 10 | UpgradeCode="D86CAC27-51EA-46BD-8105-C465109AFA74"> | ||
| 11 | |||
| 12 | <Package InstallerVersion="500" | ||
| 13 | Compressed="yes" | ||
| 14 | InstallScope="perMachine" | ||
| 15 | Platform="x64" | ||
| 16 | InstallPrivileges="elevated" /> | ||
| 17 | |||
| 18 | <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." /> | ||
| 19 | <MediaTemplate EmbedCab="yes" /> | ||
| 20 | |||
| 21 | <Feature Id="Feature" Title="Installer" Level="1"> | ||
| 22 | <ComponentGroupRef Id="ProductComponents" /> | ||
| 23 | </Feature> | ||
| 24 | |||
| 25 | <Directory Id="TARGETDIR" Name="SourceDir"> | ||
| 26 | <Directory Id="ProgramFiles64Folder"> | ||
| 27 | <Directory Id="INSTALLFOLDER" Name="$(var.Name)" /> | ||
| 28 | </Directory> | ||
| 29 | </Directory> | ||
| 30 | |||
| 31 | <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER"> | ||
| 32 | <Component> | ||
| 33 | <RegistryValue Root="HKLM" Key="SOFTWARE\Example\$(var.Name)" Name="Installed" Value="1" Type="integer" /> | ||
| 34 | </Component> | ||
| 35 | </ComponentGroup> | ||
| 36 | </Product> | ||
| 37 | </Wix> \ No newline at end of file | ||
diff --git a/src/test/WixToolsetTest.Converters/TestData/Preprocessor/ConvertedPreprocessor.wxs b/src/test/WixToolsetTest.Converters/TestData/Preprocessor/ConvertedPreprocessor.wxs index ea52c71f..e601ae2a 100644 --- a/src/test/WixToolsetTest.Converters/TestData/Preprocessor/ConvertedPreprocessor.wxs +++ b/src/test/WixToolsetTest.Converters/TestData/Preprocessor/ConvertedPreprocessor.wxs | |||
| @@ -1,12 +1,12 @@ | |||
| 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. --> | 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 | 2 | ||
| 3 | 3 | ||
| 4 | 4 | ||
| 5 | <?include WixVer.wxi ?> | 5 | <?include WixVer.wxi ?> |
| 6 | 6 | ||
| 7 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:swid="http://wixtoolset.org/schemas/v4/wxs/tag" xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util"> | 7 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:swid="http://wixtoolset.org/schemas/v4/wxs/tag" xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util"> |
| 8 | <Product Name="!(loc.ShortProduct) v$(var.WixMajorMinor) Core" Language="1033" Manufacturer="!(loc.Company)" Version="$(var.WixMsiProductVersion)" UpgradeCode="3618724B-2523-44F9-A908-866AA619504D"> | 8 | <Package Name="!(loc.ShortProduct) v$(var.WixMajorMinor) Core" Language="1033" Manufacturer="!(loc.Company)" Version="$(var.WixMsiProductVersion)" UpgradeCode="3618724B-2523-44F9-A908-866AA619504D" Compressed="yes" InstallerVersion="200"> |
| 9 | <Package Compressed="yes" InstallerVersion="200" SummaryCodepage="1252" InstallScope="perMachine" /> | 9 | |
| 10 | <swid:Tag Regid="!(loc.Regid)" InstallDirectory="INSTALLFOLDER" /> | 10 | <swid:Tag Regid="!(loc.Regid)" InstallDirectory="INSTALLFOLDER" /> |
| 11 | 11 | ||
| 12 | <MajorUpgrade DowngradeErrorMessage="A later version of [ProductName] is already installed." /> | 12 | <MajorUpgrade DowngradeErrorMessage="A later version of [ProductName] is already installed." /> |
| @@ -57,5 +57,5 @@ | |||
| 57 | <FeatureRef Id="Feature_Intellisense2012" /> | 57 | <FeatureRef Id="Feature_Intellisense2012" /> |
| 58 | <FeatureRef Id="Feature_Intellisense2013" /> | 58 | <FeatureRef Id="Feature_Intellisense2013" /> |
| 59 | <FeatureRef Id="Feature_Intellisense2015" /> | 59 | <FeatureRef Id="Feature_Intellisense2015" /> |
| 60 | </Product> | 60 | </Package> |
| 61 | </Wix> | 61 | </Wix> |
diff --git a/src/test/WixToolsetTest.Converters/TestData/QtExec.bad/v4_expected.wxs b/src/test/WixToolsetTest.Converters/TestData/QtExec.bad/v4_expected.wxs index 0266e177..169eb07e 100644 --- a/src/test/WixToolsetTest.Converters/TestData/QtExec.bad/v4_expected.wxs +++ b/src/test/WixToolsetTest.Converters/TestData/QtExec.bad/v4_expected.wxs | |||
| @@ -1,12 +1,12 @@ | |||
| 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. --> | 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 | 2 | ||
| 3 | 3 | ||
| 4 | 4 | ||
| 5 | <?include WixVer.wxi ?> | 5 | <?include WixVer.wxi ?> |
| 6 | 6 | ||
| 7 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:swid="http://wixtoolset.org/schemas/v4/wxs/tag" xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util"> | 7 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:swid="http://wixtoolset.org/schemas/v4/wxs/tag" xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util"> |
| 8 | <Product Name="!(loc.ShortProduct) v$(var.WixMajorMinor) Core" Language="1033" Manufacturer="!(loc.Company)" Version="$(var.WixMsiProductVersion)" UpgradeCode="3618724B-2523-44F9-A908-866AA619504D"> | 8 | <Package Name="!(loc.ShortProduct) v$(var.WixMajorMinor) Core" Language="1033" Manufacturer="!(loc.Company)" Version="$(var.WixMsiProductVersion)" UpgradeCode="3618724B-2523-44F9-A908-866AA619504D" Compressed="yes" InstallerVersion="200"> |
| 9 | <Package Compressed="yes" InstallerVersion="200" SummaryCodepage="1252" InstallScope="perMachine" /> | 9 | |
| 10 | <swid:Tag Regid="!(loc.Regid)" InstallDirectory="INSTALLFOLDER" /> | 10 | <swid:Tag Regid="!(loc.Regid)" InstallDirectory="INSTALLFOLDER" /> |
| 11 | 11 | ||
| 12 | <MajorUpgrade DowngradeErrorMessage="A later version of [ProductName] is already installed." /> | 12 | <MajorUpgrade DowngradeErrorMessage="A later version of [ProductName] is already installed." /> |
| @@ -59,5 +59,5 @@ | |||
| 59 | <FeatureRef Id="Feature_Intellisense2012" /> | 59 | <FeatureRef Id="Feature_Intellisense2012" /> |
| 60 | <FeatureRef Id="Feature_Intellisense2013" /> | 60 | <FeatureRef Id="Feature_Intellisense2013" /> |
| 61 | <FeatureRef Id="Feature_Intellisense2015" /> | 61 | <FeatureRef Id="Feature_Intellisense2015" /> |
| 62 | </Product> | 62 | </Package> |
| 63 | </Wix> | 63 | </Wix> |
diff --git a/src/test/WixToolsetTest.Converters/TestData/QtExec/v4_expected.wxs b/src/test/WixToolsetTest.Converters/TestData/QtExec/v4_expected.wxs index da4f5135..71df9fd9 100644 --- a/src/test/WixToolsetTest.Converters/TestData/QtExec/v4_expected.wxs +++ b/src/test/WixToolsetTest.Converters/TestData/QtExec/v4_expected.wxs | |||
| @@ -1,12 +1,12 @@ | |||
| 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. --> | 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 | 2 | ||
| 3 | 3 | ||
| 4 | 4 | ||
| 5 | <?include WixVer.wxi ?> | 5 | <?include WixVer.wxi ?> |
| 6 | 6 | ||
| 7 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:swid="http://wixtoolset.org/schemas/v4/wxs/tag" xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util"> | 7 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:swid="http://wixtoolset.org/schemas/v4/wxs/tag" xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util"> |
| 8 | <Product Name="!(loc.ShortProduct) v$(var.WixMajorMinor) Core" Language="1033" Manufacturer="!(loc.Company)" Version="$(var.WixMsiProductVersion)" UpgradeCode="3618724B-2523-44F9-A908-866AA619504D"> | 8 | <Package Name="!(loc.ShortProduct) v$(var.WixMajorMinor) Core" Language="1033" Manufacturer="!(loc.Company)" Version="$(var.WixMsiProductVersion)" UpgradeCode="3618724B-2523-44F9-A908-866AA619504D" Compressed="yes" InstallerVersion="200"> |
| 9 | <Package Compressed="yes" InstallerVersion="200" SummaryCodepage="1252" InstallScope="perMachine" /> | 9 | |
| 10 | <swid:Tag Regid="!(loc.Regid)" InstallDirectory="INSTALLFOLDER" /> | 10 | <swid:Tag Regid="!(loc.Regid)" InstallDirectory="INSTALLFOLDER" /> |
| 11 | 11 | ||
| 12 | <MajorUpgrade DowngradeErrorMessage="A later version of [ProductName] is already installed." /> | 12 | <MajorUpgrade DowngradeErrorMessage="A later version of [ProductName] is already installed." /> |
| @@ -58,5 +58,5 @@ | |||
| 58 | <FeatureRef Id="Feature_Intellisense2012" /> | 58 | <FeatureRef Id="Feature_Intellisense2012" /> |
| 59 | <FeatureRef Id="Feature_Intellisense2013" /> | 59 | <FeatureRef Id="Feature_Intellisense2013" /> |
| 60 | <FeatureRef Id="Feature_Intellisense2015" /> | 60 | <FeatureRef Id="Feature_Intellisense2015" /> |
| 61 | </Product> | 61 | </Package> |
| 62 | </Wix> | 62 | </Wix> |
diff --git a/src/test/WixToolsetTest.Converters/TestData/SingleFile/ConvertedSingleFile.wxs b/src/test/WixToolsetTest.Converters/TestData/SingleFile/ConvertedSingleFile.wxs index ec4d84d5..b52f5855 100644 --- a/src/test/WixToolsetTest.Converters/TestData/SingleFile/ConvertedSingleFile.wxs +++ b/src/test/WixToolsetTest.Converters/TestData/SingleFile/ConvertedSingleFile.wxs | |||
| @@ -1,12 +1,12 @@ | |||
| 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. --> | 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 | 2 | ||
| 3 | 3 | ||
| 4 | 4 | ||
| 5 | <?include WixVer.wxi ?> | 5 | <?include WixVer.wxi ?> |
| 6 | 6 | ||
| 7 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:swid="http://wixtoolset.org/schemas/v4/wxs/tag" xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util"> | 7 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:swid="http://wixtoolset.org/schemas/v4/wxs/tag" xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util"> |
| 8 | <Product Name="!(loc.ShortProduct) v$(var.WixMajorMinor) Core" Language="1033" Manufacturer="!(loc.Company)" Version="$(var.WixMsiProductVersion)" UpgradeCode="3618724B-2523-44F9-A908-866AA619504D"> | 8 | <Package Name="!(loc.ShortProduct) v$(var.WixMajorMinor) Core" Language="1033" Manufacturer="!(loc.Company)" Version="$(var.WixMsiProductVersion)" UpgradeCode="3618724B-2523-44F9-A908-866AA619504D" Compressed="yes" InstallerVersion="200"> |
| 9 | <Package Compressed="yes" InstallerVersion="200" SummaryCodepage="1252" InstallScope="perMachine" /> | 9 | |
| 10 | <swid:Tag Regid="!(loc.Regid)" InstallDirectory="INSTALLFOLDER" /> | 10 | <swid:Tag Regid="!(loc.Regid)" InstallDirectory="INSTALLFOLDER" /> |
| 11 | 11 | ||
| 12 | <MajorUpgrade DowngradeErrorMessage="A later version of [ProductName] is already installed." /> | 12 | <MajorUpgrade DowngradeErrorMessage="A later version of [ProductName] is already installed." /> |
| @@ -55,5 +55,5 @@ | |||
| 55 | <FeatureRef Id="Feature_Intellisense2012" /> | 55 | <FeatureRef Id="Feature_Intellisense2012" /> |
| 56 | <FeatureRef Id="Feature_Intellisense2013" /> | 56 | <FeatureRef Id="Feature_Intellisense2013" /> |
| 57 | <FeatureRef Id="Feature_Intellisense2015" /> | 57 | <FeatureRef Id="Feature_Intellisense2015" /> |
| 58 | </Product> | 58 | </Package> |
| 59 | </Wix> | 59 | </Wix> |
diff --git a/src/test/WixToolsetTest.Converters/WixToolsetTest.Converters.csproj b/src/test/WixToolsetTest.Converters/WixToolsetTest.Converters.csproj index 9f761738..b09b5418 100644 --- a/src/test/WixToolsetTest.Converters/WixToolsetTest.Converters.csproj +++ b/src/test/WixToolsetTest.Converters/WixToolsetTest.Converters.csproj | |||
| @@ -23,6 +23,8 @@ | |||
| 23 | <Content Include="TestData\QtExec.bad\v4_expected.wxs" CopyToOutputDirectory="PreserveNewest" /> | 23 | <Content Include="TestData\QtExec.bad\v4_expected.wxs" CopyToOutputDirectory="PreserveNewest" /> |
| 24 | <Content Include="TestData\SingleFile\ConvertedSingleFile.wxs" CopyToOutputDirectory="PreserveNewest" /> | 24 | <Content Include="TestData\SingleFile\ConvertedSingleFile.wxs" CopyToOutputDirectory="PreserveNewest" /> |
| 25 | <Content Include="TestData\SingleFile\SingleFile.wxs" CopyToOutputDirectory="PreserveNewest" /> | 25 | <Content Include="TestData\SingleFile\SingleFile.wxs" CopyToOutputDirectory="PreserveNewest" /> |
| 26 | <Content Include="TestData\PackageSummaryInformation\TypicalV3.wxs" CopyToOutputDirectory="PreserveNewest" /> | ||
| 27 | <Content Include="TestData\PackageSummaryInformation\TypicalV3.msi" CopyToOutputDirectory="PreserveNewest" /> | ||
| 26 | </ItemGroup> | 28 | </ItemGroup> |
| 27 | 29 | ||
| 28 | <ItemGroup> | 30 | <ItemGroup> |
