@joebigelow / wix / commits / 8b5505cd

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