From 86e59fdbc94ae661ca682f04cddb60d7830ae8a8 Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Tue, 6 Apr 2021 09:34:57 -0700 Subject: Introduce StandardDirectory for referencing standard directories Completes wixtoolset/issues#6416 --- .../Decompile/Decompiler.cs | 70 ++++++++++++--------- .../Decompile/Names.cs | 1 + src/WixToolset.Core/Compiler.cs | 72 ++++++++++++++++++++++ src/WixToolset.Core/CompilerWarnings.cs | 12 ++++ src/WixToolset.Core/Compiler_Module.cs | 3 + src/WixToolset.Core/Compiler_Package.cs | 3 + .../DirectoryFixture.cs | 46 ++++++++++++++ .../DecompiledNestedDirSearchUnderRegSearch.wxs | 14 ++--- .../TestData/Assembly/Package.wxs | 10 ++- .../TestData/Class/DecompiledOldClassTableDef.wxs | 26 ++++---- .../TestData/ComplexExampleExtension/Package.wxs | 10 ++- .../TestData/Components/Package.wxs | 10 ++- .../TestData/CustomTable/CustomTable-Expected.wxs | 17 +++-- .../TestData/DecompileNullComponent/Expected.wxs | 16 +++-- .../DecompileSingleFileCompressed/Expected.wxs | 16 +++-- .../DecompileSingleFileCompressed64/Expected.wxs | 16 +++-- .../TestData/Directory/Nested.wxs | 11 ++++ .../TestData/ErrorsInUI/Package.wxs | 10 ++- .../TestData/ExampleExtension/Package.wxs | 10 ++- .../TestData/ForEach/Package.wxs | 10 ++- .../TestData/IncludePath/Package.wxs | 8 +-- .../TestData/InstanceTransform/Package.wxs | 10 ++- .../TestData/Language/Package.wxs | 6 +- .../TestData/ManualUpgrade/Package.wxs | 10 ++- .../TestData/MultiFileCompressed/Package.wxs | 10 ++- .../TestData/OverridableActions/Package.wxs | 10 ++- .../TestData/PatchNoFileChanges/Package.wxs | 4 +- .../TestData/PatchNonSpecific/PackageA/Package.wxs | 8 +-- .../TestData/PatchSingle/Package.wxs | 10 ++- .../TestData/ProductTag/PackageWithTag.wxs | 8 +-- .../ProductWithComponentGroupRef/Product.wxs | 4 +- .../TestData/ProgId/Package.wxs | 10 ++- .../TestData/PublishComponent/Package.wxs | 10 ++- .../SequenceTables/DecompiledSequenceTables.wxs | 14 ++--- .../TestData/SetProperty/Package.wxs | 10 ++- .../TestData/Shortcut/DecompiledShortcuts.wxs | 20 +++--- .../TestData/SimpleMerge/Package.wxs | 14 ++--- .../TestData/SingleFile/Package.wxs | 10 ++- .../TestData/SingleFileCompressed/Package.wxs | 10 ++- .../TestData/UsingProvides/Package.wxs | 4 +- .../TestData/WixVariableOverride/Package.wxs | 10 ++- .../TestData/Wixipl/Package.wxs | 10 ++- 42 files changed, 345 insertions(+), 248 deletions(-) create mode 100644 src/test/WixToolsetTest.CoreIntegration/TestData/Directory/Nested.wxs (limited to 'src') diff --git a/src/WixToolset.Core.WindowsInstaller/Decompile/Decompiler.cs b/src/WixToolset.Core.WindowsInstaller/Decompile/Decompiler.cs index 8e477dd1..eb23f497 100644 --- a/src/WixToolset.Core.WindowsInstaller/Decompile/Decompiler.cs +++ b/src/WixToolset.Core.WindowsInstaller/Decompile/Decompiler.cs @@ -4289,53 +4289,57 @@ namespace WixToolset.Core.WindowsInstaller.Decompile foreach (var row in table.Rows) { var id = row.FieldAsString(0); - var xDirectory = new XElement(Names.DirectoryElement, + var elementName = WindowsInstallerStandard.IsStandardDirectory(id) ? Names.StandardDirectoryElement : Names.DirectoryElement; + var xDirectory = new XElement(elementName, new XAttribute("Id", id)); - var names = this.BackendHelper.SplitMsiFileName(row.FieldAsString(2)); - - if (String.Equals(id, "TARGETDIR", StringComparison.Ordinal) && !String.Equals(names[0], "SourceDir", StringComparison.Ordinal)) - { - this.Messaging.Write(WarningMessages.TargetDirCorrectedDefaultDir()); - xDirectory.SetAttributeValue("Name", "SourceDir"); - } - else + if (!WindowsInstallerStandard.IsStandardDirectory(id)) { - if (null != names[0] && "." != names[0]) + var names = this.BackendHelper.SplitMsiFileName(row.FieldAsString(2)); + + if (id == "TARGETDIR" && names[0] != "SourceDir") { - if (null != names[1]) + this.Messaging.Write(WarningMessages.TargetDirCorrectedDefaultDir()); + xDirectory.SetAttributeValue("Name", "SourceDir"); + } + else + { + if (null != names[0] && "." != names[0]) { - xDirectory.SetAttributeValue("ShortName", names[0]); + if (null != names[1]) + { + xDirectory.SetAttributeValue("ShortName", names[0]); + } + else + { + xDirectory.SetAttributeValue("Name", names[0]); + } } - else + + if (null != names[1]) { - xDirectory.SetAttributeValue("Name", names[0]); + xDirectory.SetAttributeValue("Name", names[1]); } } - if (null != names[1]) + if (null != names[2]) { - xDirectory.SetAttributeValue("Name", names[1]); + if (null != names[3]) + { + xDirectory.SetAttributeValue("ShortSourceName", names[2]); + } + else + { + xDirectory.SetAttributeValue("SourceName", names[2]); + } } - } - if (null != names[2]) - { if (null != names[3]) { - xDirectory.SetAttributeValue("ShortSourceName", names[2]); - } - else - { - xDirectory.SetAttributeValue("SourceName", names[2]); + xDirectory.SetAttributeValue("SourceName", names[3]); } } - if (null != names[3]) - { - xDirectory.SetAttributeValue("SourceName", names[3]); - } - this.IndexElement(row, xDirectory); } @@ -4344,7 +4348,13 @@ namespace WixToolset.Core.WindowsInstaller.Decompile { var xDirectory = this.GetIndexedElement(row); - if (row.IsColumnNull(1)) + var id = row.FieldAsString(0); + + if (id == "TARGETDIR") + { + // Skip TARGETDIR. + } + else if (row.IsColumnNull(1) || WindowsInstallerStandard.IsStandardDirectory(id)) { this.RootElement.Add(xDirectory); } diff --git a/src/WixToolset.Core.WindowsInstaller/Decompile/Names.cs b/src/WixToolset.Core.WindowsInstaller/Decompile/Names.cs index 82258c57..db65bbf7 100644 --- a/src/WixToolset.Core.WindowsInstaller/Decompile/Names.cs +++ b/src/WixToolset.Core.WindowsInstaller/Decompile/Names.cs @@ -69,6 +69,7 @@ namespace WixToolset.Core.WindowsInstaller.Decompile public static readonly XName LevelElement = WxsNamespace + "Level"; public static readonly XName DialogElement = WxsNamespace + "Dialog"; + public static readonly XName StandardDirectoryElement = WxsNamespace + "StandardDirectory"; public static readonly XName DirectoryElement = WxsNamespace + "Directory"; public static readonly XName DirectorySearchElement = WxsNamespace + "DirectorySearch"; public static readonly XName CopyFileElement = WxsNamespace + "CopyFile"; diff --git a/src/WixToolset.Core/Compiler.cs b/src/WixToolset.Core/Compiler.cs index 184c5b3e..ca9385f6 100644 --- a/src/WixToolset.Core/Compiler.cs +++ b/src/WixToolset.Core/Compiler.cs @@ -4427,6 +4427,10 @@ namespace WixToolset.Core { this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); } + else if (WindowsInstallerStandard.IsStandardDirectory(id)) + { + this.Core.Write(CompilerWarnings.DirectoryRefStandardDirectoryDeprecated(sourceLineNumbers, id)); + } if (!String.IsNullOrEmpty(fileSource) && !fileSource.EndsWith(Path.DirectorySeparatorChar.ToString(), StringComparison.Ordinal)) { @@ -6324,6 +6328,9 @@ namespace WixToolset.Core string parentName = null; this.ParseSFPCatalogElement(child, ref parentName); break; + case "StandardDirectory": + this.ParseStandardDirectoryElement(child); + break; case "UI": this.ParseUIElement(child); break; @@ -7558,6 +7565,71 @@ namespace WixToolset.Core } } + /// + /// Parses a standard directory element. + /// + /// Element to parse. + private void ParseStandardDirectoryElement(XElement node) + { + var sourceLineNumbers = Preprocessor.GetSourceLineNumbers(node); + string id = null; + + foreach (var attrib in node.Attributes()) + { + if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || CompilerCore.WixNamespace == attrib.Name.Namespace) + { + switch (attrib.Name.LocalName) + { + case "Id": + id = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib); + break; + default: + this.Core.UnexpectedAttribute(node, attrib); + break; + } + } + else + { + this.Core.ParseExtensionAttribute(node, attrib); + } + } + + if (String.IsNullOrEmpty(id)) + { + this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id")); + } + else if (!WindowsInstallerStandard.IsStandardDirectory(id)) + { + this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, "Id", id, String.Join(", \"", WindowsInstallerStandard.StandardDirectories().Select(d => d.Id.Id)))); + } + + foreach (var child in node.Elements()) + { + if (CompilerCore.WixNamespace == child.Name.Namespace) + { + switch (child.Name.LocalName) + { + case "Component": + this.ParseComponentElement(child, ComplexReferenceParentType.Unknown, null, null, diskId: CompilerConstants.IntegerNotSet, id, srcPath: String.Empty); + break; + case "Directory": + this.ParseDirectoryElement(child, id, diskId: CompilerConstants.IntegerNotSet, fileSource: String.Empty); + break; + case "Merge": + this.ParseMergeElement(child, id, diskId: CompilerConstants.IntegerNotSet); + break; + default: + this.Core.UnexpectedElement(node, child); + break; + } + } + else + { + this.Core.ParseExtensionElement(node, child); + } + } + } + /// /// Parses a configuration data element. /// diff --git a/src/WixToolset.Core/CompilerWarnings.cs b/src/WixToolset.Core/CompilerWarnings.cs index 3b9666dd..eb838ae2 100644 --- a/src/WixToolset.Core/CompilerWarnings.cs +++ b/src/WixToolset.Core/CompilerWarnings.cs @@ -6,6 +6,16 @@ namespace WixToolset.Core internal static class CompilerWarnings { + public static Message DirectoryRefStandardDirectoryDeprecated(SourceLineNumber sourceLineNumbers, string directoryId) + { + return Message(sourceLineNumbers, Ids.DirectoryRefStandardDirectoryDeprecated, "Using DirectoryRef to reference the standard directory '{0}' is deprecated. Use the StandardDirectory element instead.", directoryId); + } + + public static Message DefiningStandardDirectoryDeprecated(SourceLineNumber sourceLineNumbers, string directoryId) + { + return Message(sourceLineNumbers, Ids.DefiningStandardDirectoryDeprecated, "It is no longer necessary to define the standard directory '{0}'. Use the StandardDirectory element instead.", directoryId); + } + public static Message DiscouragedVersionAttribute(SourceLineNumber sourceLineNumbers) { return Message(sourceLineNumbers, Ids.DiscouragedVersionAttribute, "The Provides/@Version attribute should not be specified in an MSI package. The ProductVersion will be used by default."); @@ -48,6 +58,8 @@ namespace WixToolset.Core PropertyRemoved = 5433, DiscouragedVersionAttribute = 5434, Win64Component = 5435, + DirectoryRefStandardDirectoryDeprecated = 5436, + DefiningStandardDirectoryDeprecated = 5437, } } } diff --git a/src/WixToolset.Core/Compiler_Module.cs b/src/WixToolset.Core/Compiler_Module.cs index 59fe9164..3986c8da 100644 --- a/src/WixToolset.Core/Compiler_Module.cs +++ b/src/WixToolset.Core/Compiler_Module.cs @@ -203,6 +203,9 @@ namespace WixToolset.Core string parentName = null; this.ParseSFPCatalogElement(child, ref parentName); break; + case "StandardDirectory": + this.ParseStandardDirectoryElement(child); + break; case "Substitution": this.ParseSubstitutionElement(child); break; diff --git a/src/WixToolset.Core/Compiler_Package.cs b/src/WixToolset.Core/Compiler_Package.cs index 576450f4..f9d77873 100644 --- a/src/WixToolset.Core/Compiler_Package.cs +++ b/src/WixToolset.Core/Compiler_Package.cs @@ -316,6 +316,9 @@ namespace WixToolset.Core case "SoftwareTag": this.ParsePackageTagElement(child); break; + case "StandardDirectory": + this.ParseStandardDirectoryElement(child); + break; case "SummaryInformation": this.ParseSummaryInformationElement(child, ref isCodepageSet, ref isPackageNameSet, ref isKeywordsSet, ref isPackageAuthorSet); break; diff --git a/src/test/WixToolsetTest.CoreIntegration/DirectoryFixture.cs b/src/test/WixToolsetTest.CoreIntegration/DirectoryFixture.cs index 56f8ba82..fe5bb531 100644 --- a/src/test/WixToolsetTest.CoreIntegration/DirectoryFixture.cs +++ b/src/test/WixToolsetTest.CoreIntegration/DirectoryFixture.cs @@ -125,6 +125,52 @@ namespace WixToolsetTest.CoreIntegration }, dirSymbols.OrderBy(d => d.Id.Id).Select(d => d.Id.Id + ":" + d.ParentDirectoryRef + ":" + d.Name).ToArray()); } } + + [Fact] + public void CanGetWithMultiNestedSubdirectory() + { + var folder = TestData.Get(@"TestData"); + + using (var fs = new DisposableFileSystem()) + { + var baseFolder = fs.GetFolder(); + var intermediateFolder = Path.Combine(baseFolder, "obj"); + var msiPath = Path.Combine(baseFolder, @"bin\test.msi"); + + var result = WixRunner.Execute(new[] + { + "build", + "-arch", "x64", + Path.Combine(folder, "Directory", "Nested.wxs"), + Path.Combine(folder, "ProductWithComponentGroupRef", "Product.wxs"), + "-bindpath", Path.Combine(folder, "SingleFile", "data"), + "-intermediateFolder", intermediateFolder, + "-o", msiPath + }); + + result.AssertSuccess(); + + var intermediate = Intermediate.Load(Path.Combine(baseFolder, @"bin\test.wixpdb")); + var section = intermediate.Sections.Single(); + + var dirSymbols = section.Symbols.OfType().ToList(); + Assert.Equal(new[] + { + "BinFolder:ProgramFilesFolder:Example Corporation\\Test Product\\bin", + "ProgramFilesFolder:TARGETDIR:PFiles", + "TARGETDIR::SourceDir" + }, dirSymbols.OrderBy(d => d.Id.Id).Select(d => d.Id.Id + ":" + d.ParentDirectoryRef + ":" + d.Name).ToArray()); + + var data = WindowsInstallerData.Load(Path.Combine(baseFolder, @"bin\test.wixpdb")); + var directoryRows = data.Tables["Directory"].Rows; + Assert.Equal(new[] + { + "d4EceYatXTyy8HXPt5B6DT9Rj.wE:ProgramFilesFolder:u7-b4gch|Example Corporation", + "dSJ1pgiASlW7kJTu0wqsGBklJsS0:d4EceYatXTyy8HXPt5B6DT9Rj.wE:vjj-gxay|Test Product", + "BinFolder:dSJ1pgiASlW7kJTu0wqsGBklJsS0:bin", + "ProgramFilesFolder:TARGETDIR:PFiles", + "TARGETDIR::SourceDir" + }, directoryRows.Select(r => r.FieldAsString(0) + ":" + r.FieldAsString(1) + ":" + r.FieldAsString(2)).ToArray()); } } } diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/AppSearch/DecompiledNestedDirSearchUnderRegSearch.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/AppSearch/DecompiledNestedDirSearchUnderRegSearch.wxs index b67abbde..6b9fe013 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/AppSearch/DecompiledNestedDirSearchUnderRegSearch.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/AppSearch/DecompiledNestedDirSearchUnderRegSearch.wxs @@ -1,14 +1,12 @@ - - - - - - - + + + + + - + diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/Assembly/Package.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/Assembly/Package.wxs index 50282522..c345305d 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/Assembly/Package.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/Assembly/Package.wxs @@ -1,4 +1,4 @@ - + @@ -10,10 +10,8 @@ - - - - - + + + diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/Class/DecompiledOldClassTableDef.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/Class/DecompiledOldClassTableDef.wxs index 43af2ffe..514f9243 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/Class/DecompiledOldClassTableDef.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/Class/DecompiledOldClassTableDef.wxs @@ -1,20 +1,18 @@ - - - - - - - - - - - - - + + + + + + + + + + + - + diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/ComplexExampleExtension/Package.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/ComplexExampleExtension/Package.wxs index 23923426..db07af2c 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/ComplexExampleExtension/Package.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/ComplexExampleExtension/Package.wxs @@ -1,4 +1,4 @@ - + @@ -15,10 +15,8 @@ - - - - - + + + diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/Components/Package.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/Components/Package.wxs index 0607c718..d7b5bdc0 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/Components/Package.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/Components/Package.wxs @@ -1,4 +1,4 @@ - + @@ -10,10 +10,8 @@ - - - - - + + + diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/CustomTable/CustomTable-Expected.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/CustomTable/CustomTable-Expected.wxs index 935cc8b3..d7d86008 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/CustomTable/CustomTable-Expected.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/CustomTable/CustomTable-Expected.wxs @@ -12,17 +12,14 @@ - - - - - - - - - + + + + + - + + diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/DecompileNullComponent/Expected.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/DecompileNullComponent/Expected.wxs index 050adbd5..71553e2a 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/DecompileNullComponent/Expected.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/DecompileNullComponent/Expected.wxs @@ -1,18 +1,16 @@ - - - - - - - + + + + + - + - \ No newline at end of file + diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/DecompileSingleFileCompressed/Expected.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/DecompileSingleFileCompressed/Expected.wxs index e1fb426e..246bcafc 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/DecompileSingleFileCompressed/Expected.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/DecompileSingleFileCompressed/Expected.wxs @@ -1,18 +1,16 @@ - - - - - - - + + + + + - + - \ No newline at end of file + diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/DecompileSingleFileCompressed64/Expected.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/DecompileSingleFileCompressed64/Expected.wxs index fed69a1e..81915759 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/DecompileSingleFileCompressed64/Expected.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/DecompileSingleFileCompressed64/Expected.wxs @@ -1,18 +1,16 @@ - - - - - - - + + + + + - + - \ No newline at end of file + diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/Directory/Nested.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/Directory/Nested.wxs new file mode 100644 index 00000000..cc87b49f --- /dev/null +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/Directory/Nested.wxs @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/ErrorsInUI/Package.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/ErrorsInUI/Package.wxs index 75707f3d..287085e8 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/ErrorsInUI/Package.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/ErrorsInUI/Package.wxs @@ -1,4 +1,4 @@ - + @@ -13,10 +13,8 @@ - - - - - + + + diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/ExampleExtension/Package.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/ExampleExtension/Package.wxs index b3fd3672..5c84f33e 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/ExampleExtension/Package.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/ExampleExtension/Package.wxs @@ -1,4 +1,4 @@ - + @@ -14,10 +14,8 @@ - - - - - + + + diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/ForEach/Package.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/ForEach/Package.wxs index 91ac6537..8fff563e 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/ForEach/Package.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/ForEach/Package.wxs @@ -1,4 +1,4 @@ - + @@ -12,10 +12,8 @@ - - - - - + + + diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/IncludePath/Package.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/IncludePath/Package.wxs index 48a38e85..0bd80c50 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/IncludePath/Package.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/IncludePath/Package.wxs @@ -11,10 +11,8 @@ - - - - - + + + diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/InstanceTransform/Package.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/InstanceTransform/Package.wxs index befab53e..7826d673 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/InstanceTransform/Package.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/InstanceTransform/Package.wxs @@ -1,4 +1,4 @@ - + @@ -16,10 +16,8 @@ - - - - - + + + diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/Language/Package.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/Language/Package.wxs index db15796d..13c79e90 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/Language/Package.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/Language/Package.wxs @@ -11,8 +11,8 @@ - - - + + + diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/ManualUpgrade/Package.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/ManualUpgrade/Package.wxs index 090c7724..4fd3493a 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/ManualUpgrade/Package.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/ManualUpgrade/Package.wxs @@ -1,4 +1,4 @@ - + @@ -17,10 +17,8 @@ - - - - - + + + diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/MultiFileCompressed/Package.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/MultiFileCompressed/Package.wxs index bc7450e3..2b1a1a0f 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/MultiFileCompressed/Package.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/MultiFileCompressed/Package.wxs @@ -1,4 +1,4 @@ - + @@ -19,10 +19,8 @@ - - - - - + + + diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/OverridableActions/Package.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/OverridableActions/Package.wxs index 6d9e854d..0bf0e963 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/OverridableActions/Package.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/OverridableActions/Package.wxs @@ -1,4 +1,4 @@ - + @@ -41,10 +41,8 @@ - - - - - + + + diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/PatchNoFileChanges/Package.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/PatchNoFileChanges/Package.wxs index 5ad21a75..dab959d5 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/PatchNoFileChanges/Package.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/PatchNoFileChanges/Package.wxs @@ -4,9 +4,9 @@ - + - + diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/PatchNonSpecific/PackageA/Package.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/PatchNonSpecific/PackageA/Package.wxs index 2d5fbc6d..62a89af3 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/PatchNonSpecific/PackageA/Package.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/PatchNonSpecific/PackageA/Package.wxs @@ -15,11 +15,9 @@ - - - - - + + + diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/PatchSingle/Package.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/PatchSingle/Package.wxs index 72424986..e3845382 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/PatchSingle/Package.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/PatchSingle/Package.wxs @@ -1,15 +1,13 @@ - + - - - - - + + + diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/ProductTag/PackageWithTag.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/ProductTag/PackageWithTag.wxs index 17543c1a..5bf78a9d 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/ProductTag/PackageWithTag.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/ProductTag/PackageWithTag.wxs @@ -11,10 +11,8 @@ - - - - - + + + diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/ProductWithComponentGroupRef/Product.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/ProductWithComponentGroupRef/Product.wxs index 5a4e2c07..b71627a2 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/ProductWithComponentGroupRef/Product.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/ProductWithComponentGroupRef/Product.wxs @@ -9,8 +9,8 @@ - + - + diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/ProgId/Package.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/ProgId/Package.wxs index 0d2d5032..d3b31db5 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/ProgId/Package.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/ProgId/Package.wxs @@ -1,4 +1,4 @@ - + @@ -10,10 +10,8 @@ - - - - - + + + diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/PublishComponent/Package.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/PublishComponent/Package.wxs index 6a95e9da..8f4f661d 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/PublishComponent/Package.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/PublishComponent/Package.wxs @@ -1,4 +1,4 @@ - + @@ -13,11 +13,9 @@ - - - - - + + + diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/SequenceTables/DecompiledSequenceTables.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/SequenceTables/DecompiledSequenceTables.wxs index 6924f37a..d5379e7b 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/SequenceTables/DecompiledSequenceTables.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/SequenceTables/DecompiledSequenceTables.wxs @@ -1,15 +1,13 @@ - - - - - - - + + + + + - + diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/SetProperty/Package.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/SetProperty/Package.wxs index c8289464..d3f8accf 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/SetProperty/Package.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/SetProperty/Package.wxs @@ -1,4 +1,4 @@ - + @@ -12,10 +12,8 @@ - - - - - + + + diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/Shortcut/DecompiledShortcuts.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/Shortcut/DecompiledShortcuts.wxs index ab57b0cd..da1e4f38 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/Shortcut/DecompiledShortcuts.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/Shortcut/DecompiledShortcuts.wxs @@ -1,17 +1,15 @@ - - - - - - - - - - + + + + + + + + - + diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/SimpleMerge/Package.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/SimpleMerge/Package.wxs index a858b351..3c999812 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/SimpleMerge/Package.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/SimpleMerge/Package.wxs @@ -1,4 +1,4 @@ - + @@ -10,13 +10,11 @@ - - - - - - + + + + - + diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/SingleFile/Package.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/SingleFile/Package.wxs index 0607c718..d7b5bdc0 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/SingleFile/Package.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/SingleFile/Package.wxs @@ -1,4 +1,4 @@ - + @@ -10,10 +10,8 @@ - - - - - + + + diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/SingleFileCompressed/Package.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/SingleFileCompressed/Package.wxs index 852d1aed..baa0c6b1 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/SingleFileCompressed/Package.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/SingleFileCompressed/Package.wxs @@ -1,4 +1,4 @@ - + @@ -18,10 +18,8 @@ - - - - - + + + diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/UsingProvides/Package.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/UsingProvides/Package.wxs index 70fdbb46..59839f30 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/UsingProvides/Package.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/UsingProvides/Package.wxs @@ -9,8 +9,8 @@ - + - + diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/WixVariableOverride/Package.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/WixVariableOverride/Package.wxs index e1cf7394..f8203a07 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/WixVariableOverride/Package.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/WixVariableOverride/Package.wxs @@ -1,4 +1,4 @@ - + @@ -12,10 +12,8 @@ - - - - - + + + diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/Wixipl/Package.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/Wixipl/Package.wxs index d9714e7a..7e6eee9f 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/Wixipl/Package.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/Wixipl/Package.wxs @@ -1,4 +1,4 @@ - + @@ -12,10 +12,8 @@ - - - - - + + + -- cgit v1.2.3-55-g6feb