@joebigelow / wix-1 / commits / 507d9da4

Reorganize Product/Package to Package/SummaryInformation.

Bob Arnson committed Oct 23, 2020 at 17:48 UTC 507d9da4116ef2211c466b9edffc4d1c23c79b9b
12 files changed +384 -25
src/WixToolset.Converters/WixConverter.cs
+110 -1
@@ -57,9 +57,11 @@ namespace WixToolset.Converters
57 private static readonly XName LaunchElementName = WixNamespace + "Launch";
58 private static readonly XName LevelElementName = WixNamespace + "Level";
59 private static readonly XName ExePackageElementName = WixNamespace + "ExePackage";
60 + private static readonly XName ModuleElementName = WixNamespace + "Module";
61 private static readonly XName MsiPackageElementName = WixNamespace + "MsiPackage";
62 private static readonly XName MspPackageElementName = WixNamespace + "MspPackage";
63 private static readonly XName MsuPackageElementName = WixNamespace + "MsuPackage";
64 + private static readonly XName PackageElementName = WixNamespace + "Package";
65 private static readonly XName PayloadElementName = WixNamespace + "Payload";
66 private static readonly XName PermissionExElementName = WixNamespace + "PermissionEx";
67 private static readonly XName ProductElementName = WixNamespace + "Product";
@@ -67,7 +69,6 @@ namespace WixToolset.Converters
69 private static readonly XName PublishElementName = WixNamespace + "Publish";
70 private static readonly XName MultiStringValueElementName = WixNamespace + "MultiStringValue";
71 private static readonly XName RequiredPrivilegeElementName = WixNamespace + "RequiredPrivilege";
70 - private static readonly XName RowElementName = WixNamespace + "Row";
72 private static readonly XName ServiceArgumentElementName = WixNamespace + "ServiceArgument";
73 private static readonly XName SetDirectoryElementName = WixNamespace + "SetDirectory";
74 private static readonly XName SetPropertyElementName = WixNamespace + "SetProperty";
@@ -86,6 +87,7 @@ namespace WixToolset.Converters
87 private static readonly XName Include4ElementName = WixNamespace + "Include";
88 private static readonly XName Include3ElementName = Wix3Namespace + "Include";
89 private static readonly XName IncludeElementWithoutNamespaceName = XNamespace.None + "Include";
90 + private static readonly XName SummaryInformationElementName = WixNamespace + "SummaryInformation";
91
92 private static readonly Dictionary<string, XNamespace> OldToNewNamespaceMapping = new Dictionary<string, XNamespace>()
93 {
@@ -147,6 +149,7 @@ namespace WixToolset.Converters
149 { WixConverter.EmbeddedChainerElementName, this.ConvertEmbeddedChainerElement },
150 { WixConverter.ErrorElementName, this.ConvertErrorElement },
151 { WixConverter.ExePackageElementName, this.ConvertSuppressSignatureValidation },
152 + { WixConverter.ModuleElementName, this.ConvertModuleElement },
153 { WixConverter.MsiPackageElementName, this.ConvertSuppressSignatureValidation },
154 { WixConverter.MspPackageElementName, this.ConvertSuppressSignatureValidation },
155 { WixConverter.MsuPackageElementName, this.ConvertSuppressSignatureValidation },
@@ -669,6 +672,36 @@ namespace WixToolset.Converters
672
673 private void ConvertProgressTextElement(XElement element) => this.ConvertInnerTextToAttribute(element, "Message");
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 +
705 private void ConvertProductElement(XElement element)
706 {
707 var id = element.Attribute("Id");
@@ -696,6 +729,72 @@ namespace WixToolset.Converters
729 xCondition.Remove();
730 }
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();
798 }
799
800 private void ConvertPublishElement(XElement element)
@@ -1300,6 +1399,16 @@ namespace WixToolset.Converters
1399 /// The CustomAction attributes have been renamed from BinaryKey and FileKey to BinaryRef and FileRef.
1400 /// </summary>
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,
1412 }
1413 }
1414 }
src/test/WixToolsetTest.Converters/ConditionFixture.cs
+5 -3
@@ -220,6 +220,7 @@ namespace WixToolsetTest.Converters
220 "<?xml version=\"1.0\" encoding=\"utf-16\"?>",
221 "<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>",
222 " <Product>",
223 + " <Package />",
224 " <Condition Message='Stop the install'>",
225 " 1&lt;2",
226 " </Condition>",
@@ -232,10 +233,11 @@ namespace WixToolsetTest.Converters
233 var expected = new[]
234 {
235 "<Wix xmlns=\"http://wixtoolset.org/schemas/v4/wxs\">",
235 - " <Product>",
236 + " <Package>",
237 + " ",
238 " <Launch Condition=\"1&lt;2\" Message=\"Stop the install\" />",
239 " <Launch Condition=\"1=2\" Message=\"Do not stop\" />",
238 - " </Product>",
240 + " </Package>",
241 "</Wix>"
242 };
243
@@ -245,7 +247,7 @@ namespace WixToolsetTest.Converters
247 var converter = new WixConverter(messaging, 2, null, null);
248
249 var errors = converter.ConvertDocument(document);
248 - Assert.Equal(4, errors);
250 + Assert.Equal(5, errors);
251
252 var actualLines = UnformattedDocumentLines(document);
253 WixAssert.CompareLineByLine(expected, actualLines);
src/test/WixToolsetTest.Converters/ConverterIntegrationFixture.cs
+4 -4
@@ -58,7 +58,7 @@ namespace WixToolsetTest.Converters
58 var converter = new WixConverter(messaging, 4);
59 var errors = converter.ConvertFile(targetFile, true);
60
61 - Assert.Equal(7, errors);
61 + Assert.Equal(8, errors);
62
63 var expected = File.ReadAllText(Path.Combine(folder, afterFileName)).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");
85
86 var result = RunConversion(targetFile, settingsFile: settingsFile);
87 - Assert.Equal(7, result.ExitCode);
87 + Assert.Equal(8, result.ExitCode);
88
89 var expected = File.ReadAllText(Path.Combine(folder, afterFileName)).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));
109
110 var result = RunConversion(targetFile);
111 - Assert.Equal(11, result.ExitCode);
111 + Assert.Equal(12, result.ExitCode);
112
113 var expected = File.ReadAllText(Path.Combine(folder, afterFileName)).Replace("\r\n", "\n");
114 var actual = File.ReadAllText(targetFile).Replace("\r\n", "\n");
@@ -133,7 +133,7 @@ namespace WixToolsetTest.Converters
133
134 var result = RunConversion(targetFile);
135
136 - Assert.Equal(11, result.ExitCode);
136 + Assert.Equal(12, result.ExitCode);
137 Assert.Single(result.Messages.Where(message => message.ToString().EndsWith("(QtExecCmdTimeoutAmbiguous)")));
138
139 var expected = File.ReadAllText(Path.Combine(folder, afterFileName)).Replace("\r\n", "\n");
src/test/WixToolsetTest.Converters/ExtensionFixture.cs renamed
+1 -1
@@ -9,7 +9,7 @@ namespace WixToolsetTest.Converters
9 using WixToolsetTest.Converters.Mocks;
10 using Xunit;
11
12 - public class FirewallExtensionFixture : BaseConverterFixture
12 + public class ExtensionFixture : BaseConverterFixture
13 {
14 [Fact]
15 public void FixRemoteAddressValue()
src/test/WixToolsetTest.Converters/ProductPackageFixture.cs new
+209
@@ -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 +}
src/test/WixToolsetTest.Converters/TestData/PackageSummaryInformation/TypicalV3.msi
Binary files /dev/null and b/src/test/WixToolsetTest.Converters/TestData/PackageSummaryInformation/TypicalV3.msi differ
src/test/WixToolsetTest.Converters/TestData/PackageSummaryInformation/TypicalV3.wxs new
+37
@@ -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
src/test/WixToolsetTest.Converters/TestData/Preprocessor/ConvertedPreprocessor.wxs
+4 -4
@@ -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
3
4
5 <?include WixVer.wxi ?>
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">
8 - <Product Name="!(loc.ShortProduct) v$(var.WixMajorMinor) Core" Language="1033" Manufacturer="!(loc.Company)" Version="$(var.WixMsiProductVersion)" UpgradeCode="3618724B-2523-44F9-A908-866AA619504D">
9 - <Package Compressed="yes" InstallerVersion="200" SummaryCodepage="1252" InstallScope="perMachine" />
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 +
10 <swid:Tag Regid="!(loc.Regid)" InstallDirectory="INSTALLFOLDER" />
11
12 <MajorUpgrade DowngradeErrorMessage="A later version of [ProductName] is already installed." />
@@ -57,5 +57,5 @@
57 <FeatureRef Id="Feature_Intellisense2012" />
58 <FeatureRef Id="Feature_Intellisense2013" />
59 <FeatureRef Id="Feature_Intellisense2015" />
60 - </Product>
60 + </Package>
61 </Wix>
src/test/WixToolsetTest.Converters/TestData/QtExec.bad/v4_expected.wxs
+4 -4
@@ -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
3
4
5 <?include WixVer.wxi ?>
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">
8 - <Product Name="!(loc.ShortProduct) v$(var.WixMajorMinor) Core" Language="1033" Manufacturer="!(loc.Company)" Version="$(var.WixMsiProductVersion)" UpgradeCode="3618724B-2523-44F9-A908-866AA619504D">
9 - <Package Compressed="yes" InstallerVersion="200" SummaryCodepage="1252" InstallScope="perMachine" />
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 +
10 <swid:Tag Regid="!(loc.Regid)" InstallDirectory="INSTALLFOLDER" />
11
12 <MajorUpgrade DowngradeErrorMessage="A later version of [ProductName] is already installed." />
@@ -59,5 +59,5 @@
59 <FeatureRef Id="Feature_Intellisense2012" />
60 <FeatureRef Id="Feature_Intellisense2013" />
61 <FeatureRef Id="Feature_Intellisense2015" />
62 - </Product>
62 + </Package>
63 </Wix>
src/test/WixToolsetTest.Converters/TestData/QtExec/v4_expected.wxs
+4 -4
@@ -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
3
4
5 <?include WixVer.wxi ?>
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">
8 - <Product Name="!(loc.ShortProduct) v$(var.WixMajorMinor) Core" Language="1033" Manufacturer="!(loc.Company)" Version="$(var.WixMsiProductVersion)" UpgradeCode="3618724B-2523-44F9-A908-866AA619504D">
9 - <Package Compressed="yes" InstallerVersion="200" SummaryCodepage="1252" InstallScope="perMachine" />
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 +
10 <swid:Tag Regid="!(loc.Regid)" InstallDirectory="INSTALLFOLDER" />
11
12 <MajorUpgrade DowngradeErrorMessage="A later version of [ProductName] is already installed." />
@@ -58,5 +58,5 @@
58 <FeatureRef Id="Feature_Intellisense2012" />
59 <FeatureRef Id="Feature_Intellisense2013" />
60 <FeatureRef Id="Feature_Intellisense2015" />
61 - </Product>
61 + </Package>
62 </Wix>
src/test/WixToolsetTest.Converters/TestData/SingleFile/ConvertedSingleFile.wxs
+4 -4
@@ -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
3
4
5 <?include WixVer.wxi ?>
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">
8 - <Product Name="!(loc.ShortProduct) v$(var.WixMajorMinor) Core" Language="1033" Manufacturer="!(loc.Company)" Version="$(var.WixMsiProductVersion)" UpgradeCode="3618724B-2523-44F9-A908-866AA619504D">
9 - <Package Compressed="yes" InstallerVersion="200" SummaryCodepage="1252" InstallScope="perMachine" />
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 +
10 <swid:Tag Regid="!(loc.Regid)" InstallDirectory="INSTALLFOLDER" />
11
12 <MajorUpgrade DowngradeErrorMessage="A later version of [ProductName] is already installed." />
@@ -55,5 +55,5 @@
55 <FeatureRef Id="Feature_Intellisense2012" />
56 <FeatureRef Id="Feature_Intellisense2013" />
57 <FeatureRef Id="Feature_Intellisense2015" />
58 - </Product>
58 + </Package>
59 </Wix>
src/test/WixToolsetTest.Converters/WixToolsetTest.Converters.csproj
+2
@@ -23,6 +23,8 @@
23 <Content Include="TestData\QtExec.bad\v4_expected.wxs" CopyToOutputDirectory="PreserveNewest" />
24 <Content Include="TestData\SingleFile\ConvertedSingleFile.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" />
28 </ItemGroup>
29
30 <ItemGroup>