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