Reorganize Product/Package to Package/SummaryInformation.
Bob Arnson committed
Oct 23, 2020 at 17:32 UTC
8b5505cd13367d48bce4ec8a6018e370ed3755b1
40 files changed
+473
-530
src/WixToolset.Core.WindowsInstaller/Bind/BindSummaryInfoCommand.cs
+15
-8
@@ -46,9 +46,10 @@ namespace WixToolset.Core.WindowsInstaller.Bind
46
this.InstallerVersion = 0;
47
this.ModularizationSuffix = null;
48
49
- var foundCreateDataTime = false;
49
+ var foundCreateDateTime = false;
50
var foundLastSaveDataTime = false;
51
var foundCreatingApplication = false;
52
+ var foundPackageCode = false;
53
var now = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss", CultureInfo.InvariantCulture);
54
55
foreach (var summaryInformationSymbol in this.Section.Symbols.OfType<SummaryInformationSymbol>())
@@ -73,20 +74,16 @@ namespace WixToolset.Core.WindowsInstaller.Bind
74
break;
75
76
case SummaryInformationType.PackageCode: // PID_REVNUMBER
77
+ foundPackageCode = true;
78
var packageCode = summaryInformationSymbol.Value;
79
80
if (SectionType.Module == this.Section.Type)
81
{
82
this.ModularizationSuffix = "." + packageCode.Substring(1, 36).Replace('-', '_');
83
}
82
- else if ("*" == packageCode)
83
- {
84
- // set the revision number (package/patch code) if it should be automatically generated
85
- summaryInformationSymbol.Value = Common.GenerateGuid();
86
- }
84
break;
85
case SummaryInformationType.Created:
89
- foundCreateDataTime = true;
86
+ foundCreateDateTime = true;
87
break;
88
case SummaryInformationType.LastSaved:
89
foundLastSaveDataTime = true;
@@ -113,8 +110,18 @@ namespace WixToolset.Core.WindowsInstaller.Bind
110
}
111
}
112
113
+ // set the revision number (package/patch code) if it should be automatically generated
114
+ if (!foundPackageCode)
115
+ {
116
+ this.Section.AddSymbol(new SummaryInformationSymbol(null)
117
+ {
118
+ PropertyId = SummaryInformationType.PackageCode,
119
+ Value = Common.GenerateGuid(),
120
+ });
121
+ }
122
+
123
// add a summary information row for the create time/date property if its not already set
117
- if (!foundCreateDataTime)
124
+ if (!foundCreateDateTime)
125
{
126
this.Section.AddSymbol(new SummaryInformationSymbol(null)
127
{
src/WixToolset.Core.WindowsInstaller/Decompile/Decompiler.cs
+53
-46
@@ -160,7 +160,7 @@ namespace WixToolset.Core.WindowsInstaller
160
this.RootElement = new XElement(Names.PatchCreationElement);
161
break;
162
case OutputType.Product:
163
- this.RootElement = new XElement(Names.ProductElement);
163
+ this.RootElement = new XElement(Names.PackageElement);
164
break;
165
default:
166
throw new InvalidOperationException("Unknown output type.");
@@ -669,6 +669,7 @@ namespace WixToolset.Core.WindowsInstaller
669
}
670
else
671
{
672
+ this.FinalizeSummaryInformationStream(tables);
673
this.FinalizeCheckBoxTable(tables);
674
this.FinalizeComponentTable(tables);
675
this.FinalizeDialogTable(tables);
@@ -2548,7 +2549,7 @@ namespace WixToolset.Core.WindowsInstaller
2549
switch (table.Name)
2550
{
2551
case "_SummaryInformation":
2551
- this.Decompile_SummaryInformationTable(table);
2552
+ // handled in FinalizeDecompile
2553
break;
2554
case "AdminExecuteSequence":
2555
case "AdminUISequence":
@@ -2976,11 +2977,13 @@ namespace WixToolset.Core.WindowsInstaller
2977
/// Decompile the _SummaryInformation table.
2978
/// </summary>
2979
/// <param name="table">The table to decompile.</param>
2979
- private void Decompile_SummaryInformationTable(Table table)
2980
+ private void FinalizeSummaryInformationStream(TableIndexedCollection tables)
2981
{
2982
+ var table = tables["_SummaryInformation"];
2983
+
2984
if (OutputType.Module == this.OutputType || OutputType.Product == this.OutputType)
2985
{
2983
- var xPackage = new XElement(Names.PackageElement);
2986
+ var xSummaryInformation = new XElement(Names.SummaryInformationElement);
2987
2988
foreach (var row in table.Rows)
2989
{
@@ -2993,56 +2996,63 @@ namespace WixToolset.Core.WindowsInstaller
2996
case 1:
2997
if ("1252" != value)
2998
{
2996
- xPackage.SetAttributeValue("SummaryCodepage", value);
2999
+ xSummaryInformation.SetAttributeValue("Codepage", value);
3000
}
3001
break;
3002
case 3:
3000
- xPackage.SetAttributeValue("Description", value);
3003
+ {
3004
+ var productName = this.RootElement.Attribute("Name")?.Value;
3005
+ if (value != productName)
3006
+ {
3007
+ xSummaryInformation.SetAttributeValue("Description", value);
3008
+ }
3009
break;
3010
+ }
3011
case 4:
3003
- xPackage.SetAttributeValue("Manufacturer", value);
3004
- break;
3005
- case 5:
3006
- if ("Installer" != value)
3012
+ {
3013
+ var productManufacturer = this.RootElement.Attribute("Manufacturer")?.Value;
3014
+ if (value != productManufacturer)
3015
{
3008
- xPackage.SetAttributeValue("Keywords", value);
3016
+ xSummaryInformation.SetAttributeValue("Manufacturer", value);
3017
}
3018
break;
3011
- case 6:
3012
- if (!value.StartsWith("This installer database contains the logic and data required to install "))
3019
+ }
3020
+ case 5:
3021
+ if ("Installer" != value)
3022
{
3014
- xPackage.SetAttributeValue("Comments", value);
3023
+ xSummaryInformation.SetAttributeValue("Keywords", value);
3024
}
3025
break;
3026
case 7:
3027
var template = value.Split(';');
3028
if (0 < template.Length && 0 < template[template.Length - 1].Length)
3029
{
3021
- xPackage.SetAttributeValue("Languages", template[template.Length - 1]);
3022
- }
3023
-
3024
- var platform = GetPlatformFromTemplateSummaryInformation(template).ToString().ToLowerInvariant();
3025
- if (!String.IsNullOrEmpty(platform))
3026
- {
3027
- xPackage.SetAttributeValue("Platform", platform);
3030
+ this.RootElement.SetAttributeValue("Language", template[template.Length - 1]);
3031
}
3032
break;
3033
case 9:
3034
if (OutputType.Module == this.OutputType)
3035
{
3036
this.ModularizationGuid = value;
3034
- xPackage.SetAttributeValue("Id", value);
3037
}
3038
break;
3039
case 14:
3038
- xPackage.SetAttributeValue("InstallerVersion", row.FieldAsInteger(1));
3040
+ var installerVersion = row.FieldAsInteger(1);
3041
+ // Default InstallerVersion.
3042
+ if (installerVersion != 500)
3043
+ {
3044
+ this.RootElement.SetAttributeValue("InstallerVersion", installerVersion);
3045
+ }
3046
break;
3047
case 15:
3048
var wordCount = row.FieldAsInteger(1);
3049
if (0x1 == (wordCount & 0x1))
3050
{
3051
this.ShortNames = true;
3045
- xPackage.SetAttributeValue("ShortNames", "yes");
3052
+ if (OutputType.Product == this.OutputType)
3053
+ {
3054
+ this.RootElement.SetAttributeValue("ShortNames", "yes");
3055
+ }
3056
}
3057
3058
if (0x2 == (wordCount & 0x2))
@@ -3051,38 +3061,35 @@ namespace WixToolset.Core.WindowsInstaller
3061
3062
if (OutputType.Product == this.OutputType)
3063
{
3054
- xPackage.SetAttributeValue("Compressed", "yes");
3064
+ this.RootElement.SetAttributeValue("Compressed", "yes");
3065
}
3066
}
3067
3058
- if (0x4 == (wordCount & 0x4))
3068
+ if (OutputType.Product == this.OutputType)
3069
{
3060
- xPackage.SetAttributeValue("AdminImage", "yes");
3061
- }
3062
-
3063
- if (0x8 == (wordCount & 0x8))
3064
- {
3065
- xPackage.SetAttributeValue("InstallPrivileges", "limited");
3070
+ if (0x8 == (wordCount & 0x8))
3071
+ {
3072
+ this.RootElement.SetAttributeValue("Scope", "perUser");
3073
+ }
3074
+ else
3075
+ {
3076
+ var xAllUsers = this.RootElement.Elements(Names.PropertyElement).SingleOrDefault(p => p.Attribute("Id")?.Value == "ALLUSERS");
3077
+ if (xAllUsers?.Attribute("Value")?.Value == "1")
3078
+ {
3079
+ xAllUsers?.Remove();
3080
+ }
3081
+ }
3082
}
3083
3068
- break;
3069
- case 19:
3070
- var security = row.FieldAsInteger(1);
3071
- switch (security)
3072
- {
3073
- case 0:
3074
- xPackage.SetAttributeValue("ReadOnly", "no");
3075
- break;
3076
- case 4:
3077
- xPackage.SetAttributeValue("ReadOnly", "yes");
3078
- break;
3079
- }
3084
break;
3085
}
3086
}
3087
}
3088
3085
- this.RootElement.Add(xPackage);
3089
+ if (xSummaryInformation.HasAttributes)
3090
+ {
3091
+ this.RootElement.Add(xSummaryInformation);
3092
+ }
3093
}
3094
else
3095
{
@@ -6204,7 +6211,7 @@ namespace WixToolset.Core.WindowsInstaller
6211
this.RootElement.SetAttributeValue("Manufacturer", value);
6212
continue;
6213
case "ProductCode":
6207
- this.RootElement.SetAttributeValue("Id", value.ToUpper(CultureInfo.InvariantCulture));
6214
+ this.RootElement.SetAttributeValue("ProductCode", value.ToUpper(CultureInfo.InvariantCulture));
6215
continue;
6216
case "ProductLanguage":
6217
this.RootElement.SetAttributeValue("Language", value);
src/WixToolset.Core.WindowsInstaller/Decompile/Names.cs
+4
-3
@@ -8,10 +8,12 @@ namespace WixToolset.Core.WindowsInstaller.Decompile
8
9
public static readonly XName WixElement = WxsNamespace + "Wix";
10
11
- public static readonly XName ProductElement = WxsNamespace + "Product";
11
+ public static readonly XName PackageElement = WxsNamespace + "Package";
12
public static readonly XName ModuleElement = WxsNamespace + "Module";
13
public static readonly XName PatchCreationElement = WxsNamespace + "PatchCreation";
14
15
+ public static readonly XName SummaryInformationElement = WxsNamespace + "SummaryInformation";
16
+
17
public static readonly XName CustomElement = WxsNamespace + "Custom";
18
19
public static readonly XName AdminExecuteSequenceElement = WxsNamespace + "AdminExecuteSequence";
@@ -30,9 +32,8 @@ namespace WixToolset.Core.WindowsInstaller.Decompile
32
public static readonly XName FileElement = WxsNamespace + "File";
33
34
public static readonly XName EnsureTableElement = WxsNamespace + "EnsureTable";
33
- public static readonly XName PackageElement = WxsNamespace + "Package";
35
public static readonly XName PatchInformationElement = WxsNamespace + "PatchInformation";
35
-
36
+
37
public static readonly XName ProgressTextElement = WxsNamespace + "ProgressText";
38
public static readonly XName UIElement = WxsNamespace + "UI";
39
src/WixToolset.Core/CommandLine/DecompileCommand.cs
+1
@@ -53,6 +53,7 @@ namespace WixToolset.Core.CommandLine
53
54
if (!this.Messaging.EncounteredError)
55
{
56
+ Directory.CreateDirectory(Path.GetDirectoryName(context.OutputPath));
57
result.Document.Save(context.OutputPath, SaveOptions.OmitDuplicateNamespaces);
58
}
59
}
src/WixToolset.Core/Compiler.cs
+2
-2
@@ -227,8 +227,8 @@ namespace WixToolset.Core
227
case "PatchCreation":
228
this.ParsePatchCreationElement(child);
229
break;
230
- case "Product":
231
- this.ParseProductElement(child);
230
+ case "Package":
231
+ this.ParsePackageElement(child);
232
break;
233
case "Patch":
234
this.ParsePatchElement(child);
src/WixToolset.Core/Compiler_2.cs
+201
-266
@@ -23,15 +23,24 @@ namespace WixToolset.Core
23
/// Parses a product element.
24
/// </summary>
25
/// <param name="node">Element to parse.</param>
26
- private void ParseProductElement(XElement node)
26
+ private void ParsePackageElement(XElement node)
27
{
28
var sourceLineNumbers = Preprocessor.GetSourceLineNumbers(node);
29
+ var sourceBits = 0;
30
var codepage = 65001;
31
var productCode = "*";
32
+ var isPerMachine = true;
33
+ string installScope = null;
34
string upgradeCode = null;
35
string manufacturer = null;
36
string version = null;
37
string symbols = null;
38
+ var isCodepageSet = false;
39
+ var isPackageNameSet = false;
40
+ var isKeywordsSet = false;
41
+ var isPackageAuthorSet = false;
42
+
43
+ this.GetDefaultPlatformAndInstallerVersion(out var platform, out var msiVersion);
44
45
this.activeName = null;
46
this.activeLanguage = null;
@@ -42,12 +51,18 @@ namespace WixToolset.Core
51
{
52
switch (attrib.Name.LocalName)
53
{
45
- case "Id":
46
- productCode = this.Core.GetAttributeGuidValue(sourceLineNumbers, attrib, true);
47
- break;
54
case "Codepage":
55
codepage = this.Core.GetAttributeCodePageValue(sourceLineNumbers, attrib);
56
break;
57
+ case "Compressed":
58
+ if (YesNoType.Yes == this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib))
59
+ {
60
+ sourceBits |= 2;
61
+ }
62
+ break;
63
+ case "InstallerVersion":
64
+ msiVersion = this.Core.GetAttributeIntegerValue(sourceLineNumbers, attrib, 0, Int32.MaxValue);
65
+ break;
66
case "Language":
67
this.activeLanguage = this.Core.GetAttributeLocalizableIntegerValue(sourceLineNumbers, attrib, 0, Int16.MaxValue);
68
break;
@@ -65,6 +80,31 @@ namespace WixToolset.Core
80
this.Core.Write(WarningMessages.PlaceholderValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, this.activeName));
81
}
82
break;
83
+ case "ProductCode":
84
+ productCode = this.Core.GetAttributeGuidValue(sourceLineNumbers, attrib, true);
85
+ break;
86
+ case "Scope":
87
+ installScope = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
88
+ switch (installScope)
89
+ {
90
+ case "perMachine":
91
+ // handled below after we create the section.
92
+ break;
93
+ case "perUser":
94
+ isPerMachine = false;
95
+ sourceBits |= 8;
96
+ break;
97
+ default:
98
+ this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, installScope, "perMachine", "perUser"));
99
+ break;
100
+ }
101
+ break;
102
+ case "ShortNames":
103
+ if (YesNoType.Yes == this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib))
104
+ {
105
+ sourceBits |= 1;
106
+ }
107
+ break;
108
case "UpgradeCode":
109
upgradeCode = this.Core.GetAttributeGuidValue(sourceLineNumbers, attrib, false);
110
break;
@@ -140,6 +180,19 @@ namespace WixToolset.Core
180
this.AddProperty(sourceLineNumbers, new Identifier(AccessModifier.Public, "UpgradeCode"), upgradeCode, false, false, false, true);
181
}
182
183
+ if (isPerMachine)
184
+ {
185
+ this.AddProperty(sourceLineNumbers, new Identifier(AccessModifier.Public, "ALLUSERS"), "1", false, false, false, false);
186
+ }
187
+
188
+ this.ValidateAndAddCommonSummaryInformationSymbols(sourceLineNumbers, msiVersion, platform);
189
+
190
+ this.Core.AddSymbol(new SummaryInformationSymbol(sourceLineNumbers)
191
+ {
192
+ PropertyId = SummaryInformationType.WordCount,
193
+ Value = sourceBits.ToString(CultureInfo.InvariantCulture)
194
+ });
195
+
196
var contextValues = new Dictionary<string, string>
197
{
198
["ProductLanguage"] = this.activeLanguage,
@@ -240,9 +293,6 @@ namespace WixToolset.Core
293
case "MediaTemplate":
294
this.ParseMediaTemplateElement(child, null);
295
break;
243
- case "Package":
244
- this.ParsePackageElement(child, manufacturer, null);
245
- break;
296
case "PackageCertificates":
297
case "PatchCertificates":
298
this.ParseCertificatesElement(child);
@@ -263,6 +313,9 @@ namespace WixToolset.Core
313
string parentName = null;
314
this.ParseSFPCatalogElement(child, ref parentName);
315
break;
316
+ case "SummaryInformation":
317
+ this.ParseSummaryInformationElement(child, ref isCodepageSet, ref isPackageNameSet, ref isKeywordsSet, ref isPackageAuthorSet);
318
+ break;
319
case "SymbolPath":
320
if (null != symbols)
321
{
@@ -298,6 +351,42 @@ namespace WixToolset.Core
351
352
if (!this.Core.EncounteredError)
353
{
354
+ if (!isCodepageSet)
355
+ {
356
+ this.Core.AddSymbol(new SummaryInformationSymbol(sourceLineNumbers)
357
+ {
358
+ PropertyId = SummaryInformationType.Codepage,
359
+ Value = "1252"
360
+ });
361
+ }
362
+
363
+ if (!isPackageNameSet)
364
+ {
365
+ this.Core.AddSymbol(new SummaryInformationSymbol(sourceLineNumbers)
366
+ {
367
+ PropertyId = SummaryInformationType.Subject,
368
+ Value = this.activeName
369
+ });
370
+ }
371
+
372
+ if (!isPackageAuthorSet)
373
+ {
374
+ this.Core.AddSymbol(new SummaryInformationSymbol(sourceLineNumbers)
375
+ {
376
+ PropertyId = SummaryInformationType.Author,
377
+ Value = manufacturer
378
+ });
379
+ }
380
+
381
+ if (!isKeywordsSet)
382
+ {
383
+ this.Core.AddSymbol(new SummaryInformationSymbol(sourceLineNumbers)
384
+ {
385
+ PropertyId = SummaryInformationType.Keywords,
386
+ Value = "Installer"
387
+ });
388
+ }
389
+
390
if (null != symbols)
391
{
392
this.Core.AddSymbol(new WixDeltaPatchSymbolPathsSymbol(sourceLineNumbers)
@@ -315,6 +404,74 @@ namespace WixToolset.Core
404
}
405
}
406
407
+ private void GetDefaultPlatformAndInstallerVersion(out string platform, out int msiVersion)
408
+ {
409
+ // Let's default to a modern version of MSI. Users can override,
410
+ // of course, subject to platform-specific limitations.
411
+ msiVersion = 500;
412
+
413
+ switch (this.CurrentPlatform)
414
+ {
415
+ case Platform.X86:
416
+ platform = "Intel";
417
+ break;
418
+ case Platform.X64:
419
+ platform = "x64";
420
+ break;
421
+ case Platform.ARM64:
422
+ platform = "Arm64";
423
+ break;
424
+ default:
425
+ throw new ArgumentException("Unknown platform enumeration '{0}' encountered.", this.CurrentPlatform.ToString());
426
+ }
427
+ }
428
+
429
+ private void ValidateAndAddCommonSummaryInformationSymbols(SourceLineNumber sourceLineNumbers, int msiVersion, string platform)
430
+ {
431
+ if (String.Equals(platform, "X64", StringComparison.OrdinalIgnoreCase) && 200 > msiVersion)
432
+ {
433
+ msiVersion = 200;
434
+ this.Core.Write(WarningMessages.RequiresMsi200for64bitPackage(sourceLineNumbers));
435
+ }
436
+
437
+ if (String.Equals(platform, "Arm64", StringComparison.OrdinalIgnoreCase) && 500 > msiVersion)
438
+ {
439
+ msiVersion = 500;
440
+ this.Core.Write(WarningMessages.RequiresMsi500forArmPackage(sourceLineNumbers));
441
+ }
442
+
443
+ this.Core.AddSymbol(new SummaryInformationSymbol(sourceLineNumbers)
444
+ {
445
+ PropertyId = SummaryInformationType.Comments,
446
+ Value = String.Format(CultureInfo.InvariantCulture, "This installer database contains the logic and data required to install {0}.", this.activeName)
447
+ });
448
+
449
+ this.Core.AddSymbol(new SummaryInformationSymbol(sourceLineNumbers)
450
+ {
451
+ PropertyId = SummaryInformationType.Title,
452
+ Value = "Installation Database"
453
+ });
454
+
455
+ this.Core.AddSymbol(new SummaryInformationSymbol(sourceLineNumbers)
456
+ {
457
+ PropertyId = SummaryInformationType.PlatformAndLanguage,
458
+ Value = String.Format(CultureInfo.InvariantCulture, "{0};{1}", platform, this.activeLanguage)
459
+ });
460
+
461
+ this.Core.AddSymbol(new SummaryInformationSymbol(sourceLineNumbers)
462
+ {
463
+ PropertyId = SummaryInformationType.WindowsInstallerVersion,
464
+ Value = msiVersion.ToString(CultureInfo.InvariantCulture)
465
+ });
466
+
467
+ this.Core.AddSymbol(new SummaryInformationSymbol(sourceLineNumbers)
468
+ {
469
+ PropertyId = SummaryInformationType.Security,
470
+ Value = "2"
471
+ });
472
+
473
+ }
474
+
475
/// <summary>
476
/// Parses an odbc driver or translator element.
477
/// </summary>
@@ -615,40 +772,13 @@ namespace WixToolset.Core
772
/// <param name="node">Element to parse.</param>
773
/// <param name="productAuthor">Default package author.</param>
774
/// <param name="moduleId">The module guid - this is necessary until Module/@Guid is removed.</param>
618
- private void ParsePackageElement(XElement node, string productAuthor, string moduleId)
775
+ private void ParseSummaryInformationElement(XElement node, ref bool isCodepageSet, ref bool isPackageNameSet, ref bool isKeywordsSet, ref bool isPackageAuthorSet)
776
{
777
var sourceLineNumbers = Preprocessor.GetSourceLineNumbers(node);
621
- var codepage = "1252";
622
- var comments = String.Format(CultureInfo.InvariantCulture, "This installer database contains the logic and data required to install {0}.", this.activeName);
623
- var keywords = "Installer";
624
- var msiVersion = 100; // lowest released version, really should be specified
625
- var packageAuthor = productAuthor;
626
- string packageCode = null;
627
- var packageLanguages = this.activeLanguage;
628
- var packageName = this.activeName;
629
- string platform = null;
630
- string platformValue = null;
631
- var security = YesNoDefaultType.Default;
632
- var sourceBits = (this.compilingModule ? 2 : 0);
633
- var installPrivilegeSeen = false;
634
- var installScopeSeen = false;
635
-
636
- switch (this.CurrentPlatform)
637
- {
638
- case Platform.X86:
639
- platform = "Intel";
640
- break;
641
- case Platform.X64:
642
- platform = "x64";
643
- msiVersion = 200;
644
- break;
645
- case Platform.ARM64:
646
- platform = "Arm64";
647
- msiVersion = 500;
648
- break;
649
- default:
650
- throw new ArgumentException("Unknown platform enumeration '{0}' encountered.", this.CurrentPlatform.ToString());
651
- }
778
+ string codepage = null;
779
+ string packageName = null;
780
+ string keywords = null;
781
+ string packageAuthor = null;
782
783
foreach (var attrib in node.Attributes())
784
{
@@ -656,83 +786,15 @@ namespace WixToolset.Core
786
{
787
switch (attrib.Name.LocalName)
788
{
659
- case "Id":
660
- packageCode = this.Core.GetAttributeGuidValue(sourceLineNumbers, attrib, this.compilingProduct);
661
- break;
662
- case "AdminImage":
663
- if (YesNoType.Yes == this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib))
664
- {
665
- sourceBits |= 4;
666
- }
667
- break;
668
- case "Comments":
669
- comments = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
670
- break;
671
- case "Compressed":
672
- // merge modules must always be compressed, so this attribute is invalid
673
- if (this.compilingModule)
674
- {
675
- this.Core.Write(WarningMessages.DeprecatedPackageCompressedAttribute(sourceLineNumbers));
676
- // this.core.OnMessage(WixErrors.IllegalAttributeWhenNested(sourceLineNumbers, node.Name.LocalName, "Compressed", "Module"));
677
- }
678
- else if (YesNoType.Yes == this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib))
679
- {
680
- sourceBits |= 2;
681
- }
789
+ case "Codepage":
790
+ codepage = this.Core.GetAttributeLocalizableCodePageValue(sourceLineNumbers, attrib, true);
791
break;
792
case "Description":
793
packageName = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
794
break;
686
- case "InstallPrivileges":
687
- var installPrivileges = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
688
- switch (installPrivileges)
689
- {
690
- case "elevated":
691
- // this is the default setting
692
- installPrivilegeSeen = true;
693
- break;
694
- case "limited":
695
- sourceBits |= 8;
696
- installPrivilegeSeen = true;
697
- break;
698
- case "":
699
- break;
700
- default:
701
- this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, installPrivileges, "elevated", "limited"));
702
- break;
703
- }
704
- break;
705
- case "InstallScope":
706
- var installScope = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
707
- switch (installScope)
708
- {
709
- case "perMachine":
710
- this.Core.AddSymbol(new PropertySymbol(sourceLineNumbers, new Identifier(AccessModifier.Public, "ALLUSERS"))
711
- {
712
- Value = "1"
713
- });
714
- installScopeSeen = true;
715
- break;
716
- case "perUser":
717
- sourceBits |= 8;
718
- installScopeSeen = true;
719
- break;
720
- case "":
721
- break;
722
- default:
723
- this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, installScope, "perMachine", "perUser"));
724
- break;
725
- }
726
- break;
727
- case "InstallerVersion":
728
- msiVersion = this.Core.GetAttributeIntegerValue(sourceLineNumbers, attrib, 0, Int32.MaxValue);
729
- break;
795
case "Keywords":
796
keywords = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
797
break;
733
- case "Languages":
734
- packageLanguages = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
735
- break;
798
case "Manufacturer":
799
packageAuthor = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
800
if ("PUT-COMPANY-NAME-HERE" == packageAuthor)
@@ -740,56 +802,6 @@ namespace WixToolset.Core
802
this.Core.Write(WarningMessages.PlaceholderValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, packageAuthor));
803
}
804
break;
743
- case "Platform":
744
- if (null != platformValue)
745
- {
746
- this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "Platforms"));
747
- }
748
-
749
- platformValue = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
750
- switch (platformValue)
751
- {
752
- case "intel":
753
- this.Core.Write(WarningMessages.DeprecatedAttributeValue(sourceLineNumbers, platformValue, node.Name.LocalName, attrib.Name.LocalName, "x86"));
754
- goto case "x86";
755
- case "x86":
756
- platform = "Intel";
757
- break;
758
- case "x64":
759
- platform = "x64";
760
- break;
761
- case "arm64":
762
- platform = "Arm64";
763
- break;
764
- case "":
765
- break;
766
- default:
767
- this.Core.Write(ErrorMessages.InvalidPlatformValue(sourceLineNumbers, platformValue));
768
- break;
769
- }
770
- break;
771
- case "Platforms":
772
- if (null != platformValue)
773
- {
774
- this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "Platform"));
775
- }
776
-
777
- this.Core.Write(WarningMessages.DeprecatedAttribute(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, "Platform"));
778
- platformValue = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
779
- platform = platformValue;
780
- break;
781
- case "ReadOnly":
782
- security = this.Core.GetAttributeYesNoDefaultValue(sourceLineNumbers, attrib);
783
- break;
784
- case "ShortNames":
785
- if (YesNoType.Yes == this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib))
786
- {
787
- sourceBits |= 1;
788
- }
789
- break;
790
- case "SummaryCodepage":
791
- codepage = this.Core.GetAttributeLocalizableCodePageValue(sourceLineNumbers, attrib, true);
792
- break;
805
default:
806
this.Core.UnexpectedAttribute(node, attrib);
807
break;
@@ -801,127 +813,50 @@ namespace WixToolset.Core
813
}
814
}
815
804
- if (installPrivilegeSeen && installScopeSeen)
805
- {
806
- this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, node.Name.LocalName, "InstallPrivileges", "InstallScope"));
807
- }
808
-
809
- if (String.Equals(platform, "X64", StringComparison.OrdinalIgnoreCase) && 200 > msiVersion)
810
- {
811
- msiVersion = 200;
812
- this.Core.Write(WarningMessages.RequiresMsi200for64bitPackage(sourceLineNumbers));
813
- }
814
-
815
- if (String.Equals(platform, "Arm64", StringComparison.OrdinalIgnoreCase) && 500 > msiVersion)
816
- {
817
- msiVersion = 500;
818
- this.Core.Write(WarningMessages.RequiresMsi500forArmPackage(sourceLineNumbers));
819
- }
820
-
821
- if (null == packageAuthor)
822
- {
823
- this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Manufacturer"));
824
- }
816
+ this.Core.ParseForExtensionElements(node);
817
826
- if (this.compilingModule)
818
+ if (!this.Core.EncounteredError)
819
{
828
- if (null == packageCode)
820
+ if (null != codepage)
821
{
830
- this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
822
+ isCodepageSet = true;
823
+ this.Core.AddSymbol(new SummaryInformationSymbol(sourceLineNumbers)
824
+ {
825
+ PropertyId = SummaryInformationType.Codepage,
826
+ Value = codepage
827
+ });
828
}
829
833
- // merge modules use the modularization guid as the package code
834
- if (null != moduleId)
830
+ if (null != packageName)
831
{
836
- packageCode = moduleId;
832
+ isPackageNameSet = true;
833
+ this.Core.AddSymbol(new SummaryInformationSymbol(sourceLineNumbers)
834
+ {
835
+ PropertyId = SummaryInformationType.Subject,
836
+ Value = packageName
837
+ });
838
}
839
839
- // merge modules are always compressed
840
- sourceBits = 2;
841
- }
842
- else // product
843
- {
844
- if (null == packageCode)
840
+ if (null != packageAuthor)
841
{
846
- packageCode = "*";
842
+ isPackageAuthorSet = true;
843
+ this.Core.AddSymbol(new SummaryInformationSymbol(sourceLineNumbers)
844
+ {
845
+ PropertyId = SummaryInformationType.Author,
846
+ Value = packageAuthor
847
+ });
848
}
849
849
- if ("*" != packageCode)
850
+ if (null != keywords)
851
{
851
- this.Core.Write(WarningMessages.PackageCodeSet(sourceLineNumbers));
852
+ isKeywordsSet = true;
853
+ this.Core.AddSymbol(new SummaryInformationSymbol(sourceLineNumbers)
854
+ {
855
+ PropertyId = SummaryInformationType.Keywords,
856
+ Value = keywords
857
+ });
858
}
859
}
854
-
855
- this.Core.ParseForExtensionElements(node);
856
-
857
- if (!this.Core.EncounteredError)
858
- {
859
- this.Core.AddSymbol(new SummaryInformationSymbol(sourceLineNumbers)
860
- {
861
- PropertyId = SummaryInformationType.Codepage,
862
- Value = codepage
863
- });
864
-
865
- this.Core.AddSymbol(new SummaryInformationSymbol(sourceLineNumbers)
866
- {
867
- PropertyId = SummaryInformationType.Title,
868
- Value = "Installation Database"
869
- });
870
-
871
- this.Core.AddSymbol(new SummaryInformationSymbol(sourceLineNumbers)
872
- {
873
- PropertyId = SummaryInformationType.Subject,
874
- Value = packageName
875
- });
876
-
877
- this.Core.AddSymbol(new SummaryInformationSymbol(sourceLineNumbers)
878
- {
879
- PropertyId = SummaryInformationType.Author,
880
- Value = packageAuthor
881
- });
882
-
883
- this.Core.AddSymbol(new SummaryInformationSymbol(sourceLineNumbers)
884
- {
885
- PropertyId = SummaryInformationType.Keywords,
886
- Value = keywords
887
- });
888
-
889
- this.Core.AddSymbol(new SummaryInformationSymbol(sourceLineNumbers)
890
- {
891
- PropertyId = SummaryInformationType.Comments,
892
- Value = comments
893
- });
894
-
895
- this.Core.AddSymbol(new SummaryInformationSymbol(sourceLineNumbers)
896
- {
897
- PropertyId = SummaryInformationType.PlatformAndLanguage,
898
- Value = String.Format(CultureInfo.InvariantCulture, "{0};{1}", platform, packageLanguages)
899
- });
900
-
901
- this.Core.AddSymbol(new SummaryInformationSymbol(sourceLineNumbers)
902
- {
903
- PropertyId = SummaryInformationType.PackageCode,
904
- Value = packageCode
905
- });
906
-
907
- this.Core.AddSymbol(new SummaryInformationSymbol(sourceLineNumbers)
908
- {
909
- PropertyId = SummaryInformationType.WindowsInstallerVersion,
910
- Value = msiVersion.ToString(CultureInfo.InvariantCulture)
911
- });
912
-
913
- this.Core.AddSymbol(new SummaryInformationSymbol(sourceLineNumbers)
914
- {
915
- PropertyId = SummaryInformationType.WordCount,
916
- Value = sourceBits.ToString(CultureInfo.InvariantCulture)
917
- });
918
-
919
- this.Core.AddSymbol(new SummaryInformationSymbol(sourceLineNumbers)
920
- {
921
- PropertyId = SummaryInformationType.Security,
922
- Value = YesNoDefaultType.No == security ? "0" : YesNoDefaultType.Yes == security ? "4" : "2"
923
- });
924
- }
860
}
861
862
/// <summary>
src/WixToolset.Core/Compiler_Module.cs
+52
-4
@@ -24,6 +24,12 @@ namespace WixToolset.Core
24
var codepage = 0;
25
string moduleId = null;
26
string version = null;
27
+ var setCodepage = false;
28
+ var setPackageName = false;
29
+ var setKeywords = false;
30
+ var ignoredForMergeModules = false;
31
+
32
+ this.GetDefaultPlatformAndInstallerVersion(out var platform, out var msiVersion);
33
34
this.activeName = null;
35
this.activeLanguage = null;
@@ -50,7 +56,9 @@ namespace WixToolset.Core
56
break;
57
case "Guid":
58
moduleId = this.Core.GetAttributeGuidValue(sourceLineNumbers, attrib, false);
53
- this.Core.Write(WarningMessages.DeprecatedModuleGuidAttribute(sourceLineNumbers));
59
+ break;
60
+ case "InstallerVersion":
61
+ msiVersion = this.Core.GetAttributeIntegerValue(sourceLineNumbers, attrib, 0, Int32.MaxValue);
62
break;
63
case "Language":
64
this.activeLanguage = this.Core.GetAttributeLocalizableIntegerValue(sourceLineNumbers, attrib, 0, Int16.MaxValue);
@@ -74,6 +82,11 @@ namespace WixToolset.Core
82
this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
83
}
84
85
+ if (null == moduleId)
86
+ {
87
+ this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Guid"));
88
+ }
89
+
90
if (null == this.activeLanguage)
91
{
92
this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Language"));
@@ -174,9 +187,6 @@ namespace WixToolset.Core
187
case "IgnoreTable":
188
this.ParseIgnoreTableElement(child);
189
break;
177
- case "Package":
178
- this.ParsePackageElement(child, null, moduleId);
179
- break;
190
case "Property":
191
this.ParsePropertyElement(child);
192
break;
@@ -196,6 +206,9 @@ namespace WixToolset.Core
206
case "Substitution":
207
this.ParseSubstitutionElement(child);
208
break;
209
+ case "SummaryInformation":
210
+ this.ParseSummaryInformationElement(child, ref setCodepage, ref setPackageName, ref setKeywords, ref ignoredForMergeModules);
211
+ break;
212
case "UI":
213
this.ParseUIElement(child);
214
break;
@@ -219,6 +232,33 @@ namespace WixToolset.Core
232
233
if (!this.Core.EncounteredError)
234
{
235
+ if (!setCodepage)
236
+ {
237
+ this.Core.AddSymbol(new SummaryInformationSymbol(sourceLineNumbers)
238
+ {
239
+ PropertyId = SummaryInformationType.Codepage,
240
+ Value = "1252"
241
+ });
242
+ }
243
+
244
+ if (!setPackageName)
245
+ {
246
+ this.Core.AddSymbol(new SummaryInformationSymbol(sourceLineNumbers)
247
+ {
248
+ PropertyId = SummaryInformationType.Subject,
249
+ Value = this.activeName
250
+ });
251
+ }
252
+
253
+ if (!setKeywords)
254
+ {
255
+ this.Core.AddSymbol(new SummaryInformationSymbol(sourceLineNumbers)
256
+ {
257
+ PropertyId = SummaryInformationType.Keywords,
258
+ Value = "Installer"
259
+ });
260
+ }
261
+
262
var symbol = this.Core.AddSymbol(new ModuleSignatureSymbol(sourceLineNumbers, new Identifier(AccessModifier.Public, this.activeName, this.activeLanguage))
263
{
264
ModuleID = this.activeName,
@@ -226,6 +266,14 @@ namespace WixToolset.Core
266
});
267
268
symbol.Set((int)ModuleSignatureSymbolFields.Language, this.activeLanguage);
269
+
270
+ this.Core.AddSymbol(new SummaryInformationSymbol(sourceLineNumbers)
271
+ {
272
+ PropertyId = SummaryInformationType.PackageCode,
273
+ Value = moduleId
274
+ });
275
+
276
+ this.ValidateAndAddCommonSummaryInformationSymbols(sourceLineNumbers, msiVersion, platform);
277
}
278
}
279
finally
src/test/WixToolsetTest.CoreIntegration/PreprocessorFixture.cs
+2
-2
@@ -34,8 +34,8 @@ namespace WixToolsetTest.CoreIntegration
34
Assert.NotNull(result.Document);
35
Assert.Equal(includeFile, includedFile.Path);
36
Assert.Equal(sourcePath, includedFile.SourceLineNumbers.FileName);
37
- Assert.Equal(2, includedFile.SourceLineNumbers.LineNumber.Value);
38
- Assert.Equal($"{sourcePath}*2", includedFile.SourceLineNumbers.QualifiedFileName);
37
+ Assert.Equal(1, includedFile.SourceLineNumbers.LineNumber.Value);
38
+ Assert.Equal($"{sourcePath}*1", includedFile.SourceLineNumbers.QualifiedFileName);
39
Assert.Null(includedFile.SourceLineNumbers.Parent);
40
}
41
src/test/WixToolsetTest.CoreIntegration/TestData/AppSearch/DecompiledNestedDirSearchUnderRegSearch.wxs
+3
-6
@@ -1,7 +1,5 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3
- <Product Id="{33C58183-7333-4257-AEFD-6705DA66E617}" Codepage="1252" Language="1033" Manufacturer="Example Corporation" Name="MsiPackage" UpgradeCode="{12E4699F-E774-4D05-8A01-5BDD41BBA127}" Version="1.0.0.0">
4
- <Package Description="MsiPackage" InstallerVersion="500" Languages="1033" Manufacturer="Example Corporation" Platform="x86" />
1
+<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2
+ <Package Codepage="1252" Language="1033" Manufacturer="Example Corporation" Name="MsiPackage" UpgradeCode="{12E4699F-E774-4D05-8A01-5BDD41BBA127}" Version="1.0.0.0" ProductCode="{33C58183-7333-4257-AEFD-6705DA66E617}">
3
<Directory Id="TARGETDIR" Name="SourceDir">
4
<Directory Id="ProgramFilesFolder">
5
<Directory Id="INSTALLFOLDER" Name="MsiPackage" ShortName="ykd0udtb">
@@ -16,7 +14,6 @@
14
</Feature>
15
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
16
<Media Id="1" />
19
- <Property Id="ALLUSERS" Value="1" />
17
<Property Id="SAMPLEREGFOUND">
18
<RegistrySearch Id="RegSearch" Root="HKLM" Key="Reg" Type="raw" Win64="no" />
19
</Property>
@@ -43,5 +40,5 @@
40
</DirectorySearch>
41
</RegistrySearch>
42
</Property>
46
- </Product>
43
+ </Package>
44
</Wix>
\ No newline at end of file
src/test/WixToolsetTest.CoreIntegration/TestData/Assembly/Package.wxs
+4
-5
@@ -1,14 +1,13 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3
- <Product Id="*" Name="AssemblyMsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a">
4
- <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
1
+<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2
+ <Package Name="AssemblyMsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a" Compressed="no" InstallerVersion="200" Scope="perMachine">
3
+
4
5
<MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
6
7
<Feature Id="ProductFeature" Title="!(loc.FeatureTitle)">
8
<ComponentGroupRef Id="ProductComponents" />
9
</Feature>
11
- </Product>
10
+ </Package>
11
12
<Fragment>
13
<Directory Id="TARGETDIR" Name="SourceDir">
src/test/WixToolsetTest.CoreIntegration/TestData/BadIf/Package.wxs
+4
-5
@@ -1,7 +1,6 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3
- <Product Id="*" Name="MsiPackage" Language="1033" Version="1.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a">
4
- <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
1
+<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2
+ <Package Name="MsiPackage" Language="1033" Version="1.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a" Compressed="no" InstallerVersion="200" Scope="perMachine">
3
+
4
5
<MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
6
@@ -13,7 +12,7 @@
12
<ComponentGroupRef Id="ProductComponents.x64" />
13
<ComponentGroupRef Id="ProductComponents.arm" />
14
</Feature>
16
- </Product>
15
+ </Package>
16
17
<Fragment>
18
<Directory Id="TARGETDIR" Name="SourceDir">
src/test/WixToolsetTest.CoreIntegration/TestData/Class/DecompiledOldClassTableDef.wxs
+3
-6
@@ -1,7 +1,5 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3
- <Product Id="{FE17A505-11A9-44D2-8D94-EB6BEAB8FF93}" Codepage="1252" Language="1033" Manufacturer="Example Corporation" Name="MsiPackage" UpgradeCode="{12E4699F-E774-4D05-8A01-5BDD41BBA127}" Version="1.0.0.0">
4
- <Package Description="MsiPackage" InstallerVersion="500" Languages="1033" Manufacturer="Example Corporation" Platform="x86" />
1
+<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2
+ <Package Codepage="1252" Language="1033" Manufacturer="Example Corporation" Name="MsiPackage" UpgradeCode="{12E4699F-E774-4D05-8A01-5BDD41BBA127}" Version="1.0.0.0" ProductCode="{FE17A505-11A9-44D2-8D94-EB6BEAB8FF93}">
3
<Directory Id="TARGETDIR" Name="SourceDir">
4
<Directory Id="ProgramFilesFolder">
5
<Directory Id="INSTALLFOLDER" Name="MsiPackage" ShortName="oekcr5lq">
@@ -22,6 +20,5 @@
20
</Feature>
21
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
22
<Media Id="1" />
25
- <Property Id="ALLUSERS" Value="1" />
26
- </Product>
23
+ </Package>
24
</Wix>
\ No newline at end of file
src/test/WixToolsetTest.CoreIntegration/TestData/ComplexExampleExtension/Package.wxs
+4
-5
@@ -1,7 +1,6 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3
- <Product Id="*" Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a">
4
- <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
1
+<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2
+ <Package Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a" Compressed="no" InstallerVersion="200" Scope="perMachine">
3
+
4
5
<MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
6
@@ -13,7 +12,7 @@
12
<ComponentGroupRef Id="ProductComponents" />
13
<ComponentGroupRef Id="OtherComponents" />
14
</Feature>
16
- </Product>
15
+ </Package>
16
17
<Fragment>
18
<Directory Id="TARGETDIR" Name="SourceDir">
src/test/WixToolsetTest.CoreIntegration/TestData/Components/Package.wxs
+4
-5
@@ -1,14 +1,13 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3
- <Product Id="*" Name="MsiPackage" Codepage="1252" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a">
4
- <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
1
+<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2
+ <Package Name="MsiPackage" Codepage="1252" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a" Compressed="no" InstallerVersion="200" Scope="perMachine">
3
+
4
5
<MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
6
7
<Feature Id="ProductFeature" Title="!(loc.FeatureTitle)">
8
<ComponentGroupRef Id="ProductComponents" />
9
</Feature>
11
- </Product>
10
+ </Package>
11
12
<Fragment>
13
<Directory Id="TARGETDIR" Name="SourceDir">
src/test/WixToolsetTest.CoreIntegration/TestData/CustomTable/CustomTable-Expected.wxs
+3
-6
@@ -1,7 +1,5 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3
- <Product Id="{83F9C623-26FE-42AB-951E-170022117F54}" Codepage="1252" Language="1033" Manufacturer="Example Corporation" Name="MsiPackage" UpgradeCode="{12E4699F-E774-4D05-8A01-5BDD41BBA127}" Version="1.0.0.0">
4
- <Package Description="MsiPackage" InstallerVersion="500" Languages="1033" Manufacturer="Example Corporation" Platform="x86" />
1
+<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2
+ <Package Codepage="1252" Language="1033" Manufacturer="Example Corporation" Name="MsiPackage" UpgradeCode="{12E4699F-E774-4D05-8A01-5BDD41BBA127}" Version="1.0.0.0" ProductCode="{83F9C623-26FE-42AB-951E-170022117F54}">
3
<CustomTable Id="CustomTable1">
4
<Column Id="Column1" PrimaryKey="yes" Type="string" Width="0" Category="text" Description="The first custom column." />
5
<Column Id="Component_" Type="string" Width="72" KeyTable="Component" KeyColumn="1" Description="The custom table's Component reference" />
@@ -30,6 +28,5 @@
28
</Feature>
29
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
30
<Media Id="1" />
33
- <Property Id="ALLUSERS" Value="1" />
34
- </Product>
31
+ </Package>
32
</Wix>
src/test/WixToolsetTest.CoreIntegration/TestData/DecompileSingleFileCompressed/Expected.wxs
+3
-6
@@ -1,7 +1,5 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3
- <Product Id="{6F9B5694-F0F1-437C-919B-0D2DAF2D9DEA}" Codepage="65001" Language="1033" Manufacturer="Example Corporation" Name="MsiPackage" UpgradeCode="{047730A5-30FE-4A62-A520-DA9381B8226A}" Version="1.0.0.0">
4
- <Package Compressed="yes" Description="MsiPackage" InstallerVersion="200" Languages="1033" Manufacturer="Example Corporation" Platform="x86" />
1
+<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2
+ <Package Codepage="65001" Language="1033" Manufacturer="Example Corporation" Name="MsiPackage" UpgradeCode="{047730A5-30FE-4A62-A520-DA9381B8226A}" Version="1.0.0.0" Compressed="yes" InstallerVersion="200" ProductCode="{6F9B5694-F0F1-437C-919B-0D2DAF2D9DEA}">
3
<Directory Id="TARGETDIR" Name="SourceDir">
4
<Directory Id="ProgramFilesFolder">
5
<Directory Id="INSTALLFOLDER" Name="MsiPackage" ShortName="oekcr5lq">
@@ -16,6 +14,5 @@
14
</Feature>
15
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
16
<Media Id="1" Cabinet="example.cab" />
19
- <Property Id="ALLUSERS" Value="1" />
20
- </Product>
17
+ </Package>
18
</Wix>
\ No newline at end of file
src/test/WixToolsetTest.CoreIntegration/TestData/DecompileSingleFileCompressed64/Expected.wxs
+3
-6
@@ -1,7 +1,5 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3
- <Product Id="{C51B773A-B3BE-4F29-A8A9-549AAF7FF6EC}" Codepage="65001" Language="1033" Manufacturer="Example Corporation" Name="MsiPackage" UpgradeCode="{047730A5-30FE-4A62-A520-DA9381B8226A}" Version="1.0.0.0">
4
- <Package Compressed="yes" Description="MsiPackage" InstallerVersion="500" Languages="1033" Manufacturer="Example Corporation" Platform="x64" />
1
+<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2
+ <Package Codepage="65001" Language="1033" Manufacturer="Example Corporation" Name="MsiPackage" UpgradeCode="{047730A5-30FE-4A62-A520-DA9381B8226A}" Version="1.0.0.0" Compressed="yes" ProductCode="{C51B773A-B3BE-4F29-A8A9-549AAF7FF6EC}">
3
<Directory Id="TARGETDIR" Name="SourceDir">
4
<Directory Id="ProgramFiles64Folder">
5
<Directory Id="INSTALLFOLDER" Name="MsiPackage" ShortName="oekcr5lq">
@@ -16,6 +14,5 @@
14
</Feature>
15
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
16
<Media Id="1" Cabinet="example.cab" />
19
- <Property Id="ALLUSERS" Value="1" />
20
- </Product>
17
+ </Package>
18
</Wix>
\ No newline at end of file
src/test/WixToolsetTest.CoreIntegration/TestData/ErrorsInUI/Package.wxs
+4
-5
@@ -1,7 +1,6 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3
- <Product Id="*" Name="MsiPackage" Codepage="1252" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a">
4
- <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
1
+<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2
+ <Package Name="MsiPackage" Codepage="1252" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a" Compressed="no" InstallerVersion="200" Scope="perMachine">
3
+
4
5
<MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
6
@@ -11,7 +10,7 @@
10
<Feature Id="ProductFeature" Title="!(loc.FeatureTitle)">
11
<ComponentGroupRef Id="ProductComponents" />
12
</Feature>
14
- </Product>
13
+ </Package>
14
15
<Fragment>
16
<Directory Id="TARGETDIR" Name="SourceDir">
src/test/WixToolsetTest.CoreIntegration/TestData/ExampleExtension/Package.wxs
+4
-5
@@ -1,7 +1,6 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3
- <Product Id="*" Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a">
4
- <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
1
+<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2
+ <Package Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a" Compressed="no" InstallerVersion="200" Scope="perMachine">
3
+
4
5
<MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
6
@@ -12,7 +11,7 @@
11
<Feature Id="ProductFeature" Title="!(loc.FeatureTitle)">
12
<ComponentGroupRef Id="ProductComponents" />
13
</Feature>
15
- </Product>
14
+ </Package>
15
16
<Fragment>
17
<Directory Id="TARGETDIR" Name="SourceDir">
src/test/WixToolsetTest.CoreIntegration/TestData/ForEach/Package.wxs
+4
-5
@@ -1,7 +1,6 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3
- <Product Id="*" Name="MsiPackage" Language="1033" Version="1.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a">
4
- <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
1
+<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2
+ <Package Name="MsiPackage" Language="1033" Version="1.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a" Compressed="no" InstallerVersion="200" Scope="perMachine">
3
+
4
5
<MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
6
@@ -10,7 +9,7 @@
9
<ComponentGroupRef Id="ProductComponents.x64" />
10
<ComponentGroupRef Id="ProductComponents.arm" />
11
</Feature>
13
- </Product>
12
+ </Package>
13
14
<Fragment>
15
<Directory Id="TARGETDIR" Name="SourceDir">
src/test/WixToolsetTest.CoreIntegration/TestData/IncludePath/Package.wxs
+4
-5
@@ -1,15 +1,14 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-<?include Package.wxi ?>
1
+<?include Package.wxi ?>
2
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
4
- <Product Id="*" Name="MsiPackage" Language="1033" Version="$(var.ProductVersion)" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a">
5
- <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
3
+ <Package Name="MsiPackage" Language="1033" Version="$(var.ProductVersion)" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a" Compressed="no" InstallerVersion="200" Scope="perMachine">
4
+
5
6
<MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
7
8
<Feature Id="ProductFeature" Title="!(loc.FeatureTitle)">
9
<ComponentGroupRef Id="ProductComponents" />
10
</Feature>
12
- </Product>
11
+ </Package>
12
13
<Fragment>
14
<Directory Id="TARGETDIR" Name="SourceDir">
src/test/WixToolsetTest.CoreIntegration/TestData/InstanceTransform/Package.wxs
+4
-5
@@ -1,7 +1,6 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3
- <Product Id="*" Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a">
4
- <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
1
+<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2
+ <Package Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a" Compressed="no" InstallerVersion="200" Scope="perMachine">
3
+
4
5
<MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
6
@@ -14,7 +13,7 @@
13
<Feature Id="ProductFeature" Title="!(loc.FeatureTitle)">
14
<ComponentGroupRef Id="ProductComponents" />
15
</Feature>
17
- </Product>
16
+ </Package>
17
18
<Fragment>
19
<Directory Id="TARGETDIR" Name="SourceDir">
src/test/WixToolsetTest.CoreIntegration/TestData/ManualUpgrade/Package.wxs
+4
-5
@@ -1,7 +1,6 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3
- <Product Id="*" Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a">
4
- <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
1
+<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2
+ <Package Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a" Compressed="no" InstallerVersion="200" Scope="perMachine">
3
+
4
5
<Upgrade Id="01120000-00E0-0000-0000-0000000FF1CE">
6
<UpgradeVersion ExcludeLanguages="no" IgnoreRemoveFailure="yes" IncludeMaximum="no" IncludeMinimum="yes" Maximum="13.0.0" Minimum="12.0.0" OnlyDetect="no" Property="BLAHBLAHBLAH" />
@@ -15,7 +14,7 @@
14
<Feature Id="ProductFeature" Title="!(loc.FeatureTitle)">
15
<ComponentGroupRef Id="ProductComponents" />
16
</Feature>
18
- </Product>
17
+ </Package>
18
19
<Fragment>
20
<Directory Id="TARGETDIR" Name="SourceDir">
src/test/WixToolsetTest.CoreIntegration/TestData/MultiFileCompressed/Package.wxs
+4
-5
@@ -1,7 +1,6 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3
- <Product Id="*" Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a">
4
- <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
1
+<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2
+ <Package Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a" Compressed="yes" InstallerVersion="200" Scope="perMachine">
3
+
4
5
<MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
6
@@ -17,7 +16,7 @@
16
<Feature Id="ProductFeature" Title="!(loc.FeatureTitle)">
17
<ComponentGroupRef Id="ProductComponents" />
18
</Feature>
20
- </Product>
19
+ </Package>
20
21
<Fragment>
22
<Directory Id="TARGETDIR" Name="SourceDir">
src/test/WixToolsetTest.CoreIntegration/TestData/OverridableActions/Package.wxs
+4
-6
@@ -1,8 +1,6 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-
3
-<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
4
- <Product Id="*" Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a">
5
- <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
1
+<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2
+ <Package Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a" Compressed="no" InstallerVersion="200" Scope="perMachine">
3
+
4
5
<MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
6
@@ -18,7 +16,7 @@
16
17
<!--<CustomActionRef Id="SetFoo" />-->
18
21
- </Product>
19
+ </Package>
20
21
<Fragment Id="SetFoo">
22
<CustomAction Id="SetFoo" Property="FOO" Value="BOB" />
src/test/WixToolsetTest.CoreIntegration/TestData/PatchFamilyFilter/Package.wxs
+15
-17
@@ -1,29 +1,27 @@
1
-<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
2
- <Product Id='e703bf17-4765-444c-91fd-88550fa681d4' Name='~Test Package'
3
- Version='$(var.V)' Manufacturer='Example Corporation' Language='1033'
4
- UpgradeCode='e703bf17-4765-444c-91fd-88550fa681d4'>
5
- <Package InstallScope='perMachine' />
1
+<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2
+ <Package Name="~Test Package" Version="$(var.V)" Manufacturer="Example Corporation" Language="1033" UpgradeCode="e703bf17-4765-444c-91fd-88550fa681d4" Scope="perMachine" ProductCode="e703bf17-4765-444c-91fd-88550fa681d4">
3
+
4
7
- <MajorUpgrade DowngradeErrorMessage='Newer version already installed.' />
5
+ <MajorUpgrade DowngradeErrorMessage="Newer version already installed." />
6
9
- <Directory Id='TARGETDIR' Name='SourceDir'>
10
- <Directory Id='ProgramFilesFolder'>
11
- <Directory Id='INSTALLFOLDER' Name='~Test App' />
7
+ <Directory Id="TARGETDIR" Name="SourceDir">
8
+ <Directory Id="ProgramFilesFolder">
9
+ <Directory Id="INSTALLFOLDER" Name="~Test App" />
10
</Directory>
11
</Directory>
12
15
- <Feature Id='Main'>
16
- <ComponentGroupRef Id='Components' />
13
+ <Feature Id="Main">
14
+ <ComponentGroupRef Id="Components" />
15
</Feature>
18
- </Product>
16
+ </Package>
17
18
<Fragment>
21
- <ComponentGroup Id="Components" Directory='INSTALLFOLDER'>
22
- <Component Id='A'>
23
- <File Name='a.txt' Source='Av$(var.A).txt' />
19
+ <ComponentGroup Id="Components" Directory="INSTALLFOLDER">
20
+ <Component Id="A">
21
+ <File Id="a.txt" Name="a.txt" Source="Av$(var.A).txt" />
22
</Component>
25
- <Component Id='B'>
26
- <File Name='b.txt' Source='Bv$(var.B).txt' />
23
+ <Component Id="B">
24
+ <File Id="b.txt" Name="b.txt" Source="Bv$(var.B).txt" />
25
</Component>
26
</ComponentGroup>
27
</Fragment>
src/test/WixToolsetTest.CoreIntegration/TestData/PatchFamilyFilter/Patch.wxs
+6
-13
@@ -1,23 +1,16 @@
1
-<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
2
- <Patch
3
- AllowRemoval="yes"
4
- Manufacturer="FireGiant"
5
- MoreInfoURL="http://www.example.com/"
6
- DisplayName="~Test Patch v$(var.V)"
7
- Description="~Test Small Update Patch v($var.V)"
8
- Classification="Update"
9
- >
1
+<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2
+ <Patch AllowRemoval="yes" Manufacturer="FireGiant" MoreInfoURL="http://www.example.com/" DisplayName="~Test Patch v$(var.V)" Description="~Test Small Update Patch v($var.V)" Classification="Update">
3
4
<Media Id="1" Cabinet="foo.cab">
12
- <PatchBaseline Id="RTM"/>
5
+ <PatchBaseline Id="RTM" />
6
</Media>
7
15
- <PatchFamilyRef Id='SamplePatchFamily'/>
8
+ <PatchFamilyRef Id="SamplePatchFamily" />
9
</Patch>
10
11
<Fragment>
19
- <PatchFamily Id='SamplePatchFamily' Version='$(var.V)' Supersede='yes'>
20
- <ComponentRef Id="A"/>
12
+ <PatchFamily Id="SamplePatchFamily" Version="$(var.V)" Supersede="yes">
13
+ <ComponentRef Id="A" />
14
</PatchFamily>
15
</Fragment>
16
</Wix>
src/test/WixToolsetTest.CoreIntegration/TestData/PatchSingle/Package.wxs
+14
-16
@@ -1,30 +1,28 @@
1
-<Wix xmlns='http://wixtoolset.org/schemas/v4/wxs'>
2
- <Product Id='7d326855-e790-4a94-8611-5351f8321fca' Name='~Test Package'
3
- Version='$(var.V)' Manufacturer='Example Corporation' Language='1033'
4
- UpgradeCode='7d326855-e790-4a94-8611-5351f8321fca'>
5
- <Package InstallScope='perMachine' Compressed='yes' />
1
+<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2
+ <Package Name="~Test Package" Version="$(var.V)" Manufacturer="Example Corporation" Language="1033" UpgradeCode="7d326855-e790-4a94-8611-5351f8321fca" Compressed="yes" Scope="perMachine" ProductCode="7d326855-e790-4a94-8611-5351f8321fca">
3
+
4
7
- <MajorUpgrade DowngradeErrorMessage='Newer version already installed.' />
8
- <MediaTemplate EmbedCab='yes' />
5
+ <MajorUpgrade DowngradeErrorMessage="Newer version already installed." />
6
+ <MediaTemplate EmbedCab="yes" />
7
10
- <Directory Id='TARGETDIR' Name='SourceDir'>
11
- <Directory Id='ProgramFilesFolder'>
12
- <Directory Id='INSTALLFOLDER' Name='~Test App' />
8
+ <Directory Id="TARGETDIR" Name="SourceDir">
9
+ <Directory Id="ProgramFilesFolder">
10
+ <Directory Id="INSTALLFOLDER" Name="~Test App" />
11
</Directory>
12
</Directory>
13
16
- <Feature Id='Main'>
17
- <ComponentGroupRef Id='Components' />
14
+ <Feature Id="Main">
15
+ <ComponentGroupRef Id="Components" />
16
</Feature>
19
- </Product>
17
+ </Package>
18
19
<Fragment>
22
- <ComponentGroup Id="Components" Directory='INSTALLFOLDER'>
20
+ <ComponentGroup Id="Components" Directory="INSTALLFOLDER">
21
<Component>
24
- <File Id='a.txt' Name='a.txt' Source='Av$(var.A).txt' />
22
+ <File Id="a.txt" Name="a.txt" Source="Av$(var.A).txt" />
23
</Component>
24
<Component>
27
- <File Id='b.txt' Name='b.txt' Source='Bv$(var.B).txt' />
25
+ <File Id="b.txt" Name="b.txt" Source="Bv$(var.B).txt" />
26
</Component>
27
</ComponentGroup>
28
</Fragment>
src/test/WixToolsetTest.CoreIntegration/TestData/ProductWithComponentGroupRef/Product.wxs
+4
-5
@@ -1,14 +1,13 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3
- <Product Id="83f9c623-26fe-42ab-951e-170022117f54" Name="MsiPackage" Codepage="1252" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="12E4699F-E774-4D05-8A01-5BDD41BBA127">
4
- <Package InstallerVersion="500" Compressed="no" InstallScope="perMachine" />
1
+<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2
+ <Package Name="MsiPackage" Codepage="1252" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="12E4699F-E774-4D05-8A01-5BDD41BBA127" Compressed="no" Scope="perMachine" ProductCode="83f9c623-26fe-42ab-951e-170022117f54">
3
+
4
5
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
6
7
<Feature Id="ProductFeature" Title="MsiPackageTitle">
8
<ComponentGroupRef Id="ProductComponents" />
9
</Feature>
11
- </Product>
10
+ </Package>
11
12
<Fragment>
13
<Directory Id="INSTALLFOLDER" Name="ProgramFiles6432Folder:\MsiPackage" />
src/test/WixToolsetTest.CoreIntegration/TestData/ProgId/Package.wxs
+4
-5
@@ -1,14 +1,13 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3
- <Product Id="*" Name="ProgId" Codepage="1252" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a">
4
- <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
1
+<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2
+ <Package Name="ProgId" Codepage="1252" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a" Compressed="no" InstallerVersion="200" Scope="perMachine">
3
+
4
5
<MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
6
7
<Feature Id="ProductFeature" Title="!(loc.FeatureTitle)">
8
<ComponentGroupRef Id="ProductComponents" />
9
</Feature>
11
- </Product>
10
+ </Package>
11
12
<Fragment>
13
<Directory Id="TARGETDIR" Name="SourceDir">
src/test/WixToolsetTest.CoreIntegration/TestData/SequenceTables/DecompiledSequenceTables.wxs
+3
-6
@@ -1,7 +1,5 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3
- <Product Id="{74C29381-1915-4948-B8B4-5646806A0BD4}" Codepage="1252" Language="1033" Manufacturer="Example Corporation" Name="MsiPackage" UpgradeCode="{12E4699F-E774-4D05-8A01-5BDD41BBA127}" Version="1.0.0.0">
4
- <Package Description="MsiPackage" InstallerVersion="500" Languages="1033" Manufacturer="Example Corporation" Platform="x86" />
1
+<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2
+ <Package Codepage="1252" Language="1033" Manufacturer="Example Corporation" Name="MsiPackage" UpgradeCode="{12E4699F-E774-4D05-8A01-5BDD41BBA127}" Version="1.0.0.0" ProductCode="{74C29381-1915-4948-B8B4-5646806A0BD4}">
3
<CustomAction Id="CustomAction2" Property="TestAdvtExecuteSequenceProperty" Value="1" />
4
<Directory Id="TARGETDIR" Name="SourceDir">
5
<Directory Id="ProgramFilesFolder">
@@ -17,7 +15,6 @@
15
</Feature>
16
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
17
<Media Id="1" />
20
- <Property Id="ALLUSERS" Value="1" />
18
<InstallExecuteSequence>
19
<Custom Action="CustomAction2" After="CostInitialize" />
20
</InstallExecuteSequence>
@@ -33,5 +30,5 @@
30
<AdvertiseExecuteSequence>
31
<Custom Action="CustomAction2" After="CostInitialize" />
32
</AdvertiseExecuteSequence>
36
- </Product>
33
+ </Package>
34
</Wix>
\ No newline at end of file
src/test/WixToolsetTest.CoreIntegration/TestData/SetProperty/Package.wxs
+4
-5
@@ -1,7 +1,6 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3
- <Product Id="*" Name="MsiPackage" Codepage="1252" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a">
4
- <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
1
+<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2
+ <Package Name="MsiPackage" Codepage="1252" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a" Compressed="no" InstallerVersion="200" Scope="perMachine">
3
+
4
5
<MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
6
@@ -10,7 +9,7 @@
9
</Feature>
10
11
<SetProperty Id="INSTALLLOCATION" Value="[INSTALLFOLDER]" After="CostFinalize" />
13
- </Product>
12
+ </Package>
13
14
<Fragment>
15
<Directory Id="TARGETDIR" Name="SourceDir">
src/test/WixToolsetTest.CoreIntegration/TestData/Shortcut/DecompiledShortcuts.wxs
+3
-6
@@ -1,7 +1,5 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3
- <Product Id="{6CA94D1D-B568-4ED6-9EBC-3534C85970BB}" Codepage="1252" Language="1033" Manufacturer="Example Corporation" Name="MsiPackage" UpgradeCode="{12E4699F-E774-4D05-8A01-5BDD41BBA127}" Version="1.0.0.0">
4
- <Package Description="MsiPackage" InstallerVersion="500" Languages="1033" Manufacturer="Example Corporation" Platform="x86" />
1
+<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2
+ <Package Codepage="1252" Language="1033" Manufacturer="Example Corporation" Name="MsiPackage" UpgradeCode="{12E4699F-E774-4D05-8A01-5BDD41BBA127}" Version="1.0.0.0" ProductCode="{6CA94D1D-B568-4ED6-9EBC-3534C85970BB}">
3
<Directory Id="TARGETDIR" Name="SourceDir">
4
<Directory Id="ProgramFilesFolder">
5
<Directory Id="INSTALLFOLDER" Name="MsiPackage" ShortName="ykd0udtb">
@@ -19,6 +17,5 @@
17
</Feature>
18
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
19
<Media Id="1" />
22
- <Property Id="ALLUSERS" Value="1" />
23
- </Product>
20
+ </Package>
21
</Wix>
\ No newline at end of file
src/test/WixToolsetTest.CoreIntegration/TestData/SimpleMerge/Package.wxs
+4
-5
@@ -1,14 +1,13 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3
- <Product Id="*" Name="MsiPackage" Codepage="1252" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a">
4
- <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
1
+<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2
+ <Package Name="MsiPackage" Codepage="1252" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a" Compressed="yes" InstallerVersion="200" Scope="perMachine">
3
+
4
5
<MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
6
7
<Feature Id="ProductFeature" Title="!(loc.FeatureTitle)">
8
<MergeRef Id="TestMsm" />
9
</Feature>
11
- </Product>
10
+ </Package>
11
12
<Fragment>
13
<Directory Id="TARGETDIR" Name="SourceDir">
src/test/WixToolsetTest.CoreIntegration/TestData/SimpleModule/Module.wxs
+3
-4
@@ -1,7 +1,6 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3
- <Module Id="MergeModule1" Language="1033" Version="1.0.0.0">
4
- <Package Id="243FB739-4D05-472F-9CFB-EF6B1017B6DE" Manufacturer="!(loc.Manufacturer)" InstallerVersion="200" />
1
+<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2
+ <Module Id="MergeModule1" Language="1033" Version="1.0.0.0" Guid="243FB739-4D05-472F-9CFB-EF6B1017B6DE" InstallerVersion="200">
3
+ <SummaryInformation Manufacturer="!(loc.Manufacturer)" />
4
5
<Directory Id="TARGETDIR" Name="SourceDir">
6
<Directory Id="MergeRedirectFolder">
src/test/WixToolsetTest.CoreIntegration/TestData/SingleFile/Package.wxs
+4
-5
@@ -1,14 +1,13 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3
- <Product Id="*" Name="MsiPackage" Codepage="1252" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a">
4
- <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
1
+<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2
+ <Package Name="MsiPackage" Codepage="1252" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a" Compressed="no" InstallerVersion="200" Scope="perMachine">
3
+
4
5
<MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
6
7
<Feature Id="ProductFeature" Title="!(loc.FeatureTitle)">
8
<ComponentGroupRef Id="ProductComponents" />
9
</Feature>
11
- </Product>
10
+ </Package>
11
12
<Fragment>
13
<Directory Id="TARGETDIR" Name="SourceDir">
src/test/WixToolsetTest.CoreIntegration/TestData/SingleFileCompressed/Package.wxs
+4
-5
@@ -1,7 +1,6 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3
- <Product Id="*" Name="MsiPackage" Codepage="65001" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a">
4
- <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
1
+<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2
+ <Package Name="MsiPackage" Codepage="65001" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a" Compressed="yes" InstallerVersion="200" Scope="perMachine">
3
+
4
5
<MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
6
@@ -16,7 +15,7 @@
15
<Feature Id="ProductFeature" Title="!(loc.FeatureTitle)">
16
<ComponentGroupRef Id="ProductComponents" />
17
</Feature>
19
- </Product>
18
+ </Package>
19
20
<Fragment>
21
<Directory Id="TARGETDIR" Name="SourceDir">
src/test/WixToolsetTest.CoreIntegration/TestData/Variables/Package.wxs
+4
-6
@@ -1,6 +1,4 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-
3
-<?define Foo = "Foo" ?>
1
+<?define Foo = "Foo" ?>
2
<?define Foo = "Foo" ?>
3
4
<?define Bar = "Bar" ?>
@@ -13,15 +11,15 @@
11
<?endif?>
12
13
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
16
- <Product Id="*" Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a">
17
- <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
14
+ <Package Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a" Compressed="no" InstallerVersion="200" Scope="perMachine">
15
+
16
17
<MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
18
19
<Feature Id="ProductFeature" Title="!(loc.FeatureTitle)">
20
<ComponentGroupRef Id="ProductComponents" />
21
</Feature>
24
- </Product>
22
+ </Package>
23
24
<Fragment>
25
<Directory Id="TARGETDIR" Name="SourceDir">
src/test/WixToolsetTest.CoreIntegration/TestData/Wixipl/Package.wxs
+4
-5
@@ -1,7 +1,6 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3
- <Product Id="*" Name="MsiPackage" Codepage="1252" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a">
4
- <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
1
+<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2
+ <Package Name="MsiPackage" Codepage="1252" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a" Compressed="no" InstallerVersion="200" Scope="perMachine">
3
+
4
5
<MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
6
@@ -10,7 +9,7 @@
9
<Feature Id="ProductFeature" Title="!(loc.FeatureTitle)">
10
<ComponentGroupRef Id="ProductComponents" />
11
</Feature>
13
- </Product>
12
+ </Package>
13
14
<Fragment>
15
<Directory Id="TARGETDIR" Name="SourceDir">
src/test/WixToolsetTest.CoreIntegration/TestData/WixlibWithBinaries/Package.wxs
+4
-5
@@ -1,14 +1,13 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3
- <Product Id="*" Name="MsiPackage" Codepage="1252" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a">
4
- <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
1
+<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2
+ <Package Name="MsiPackage" Codepage="1252" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a" Compressed="no" InstallerVersion="200" Scope="perMachine">
3
+
4
5
<MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
6
7
<Feature Id="ProductFeature" Title="!(loc.FeatureTitle)">
8
<ComponentGroupRef Id="ProductComponents" />
9
</Feature>
11
- </Product>
10
+ </Package>
11
12
<Fragment>
13
<Directory Id="TARGETDIR" Name="SourceDir">