From 83d390b8fa44c9d064afa5a79c429505da34f834 Mon Sep 17 00:00:00 2001 From: Bob Arnson Date: Tue, 15 Nov 2022 18:04:38 -0500 Subject: Go back to separate .wixlibs for DifxApp. Fixes https://github.com/wixtoolset/issues/issues/7015. --- .../DifxAppExtensionFixture.cs | 21 +++++++++++----- src/ext/DifxApp/wixext/DifxAppCompiler.cs | 10 +------- src/ext/DifxApp/wixext/DifxAppExtensionData.cs | 5 ---- .../wixext/WixToolset.DifxApp.wixext.csproj | 10 ++++---- .../wixext/WixToolset.DifxApp.wixext.targets | 1 + src/ext/DifxApp/wixlib/DifxAppExtension.wxs | 20 ++++++++++++++++ .../DifxApp/wixlib/DifxAppExtension_Platform.wxi | 22 ----------------- src/ext/DifxApp/wixlib/DifxAppExtension_x64.wxs | 8 ------- src/ext/DifxApp/wixlib/DifxAppExtension_x86.wxs | 8 ------- src/ext/DifxApp/wixlib/caSuffix.wxi | 28 ---------------------- src/ext/DifxApp/wixlib/difxapp.wixproj | 1 + src/wix/WixToolset.Sdk/tools/wix.targets | 3 ++- 12 files changed, 46 insertions(+), 91 deletions(-) create mode 100644 src/ext/DifxApp/wixlib/DifxAppExtension.wxs delete mode 100644 src/ext/DifxApp/wixlib/DifxAppExtension_Platform.wxi delete mode 100644 src/ext/DifxApp/wixlib/DifxAppExtension_x64.wxs delete mode 100644 src/ext/DifxApp/wixlib/DifxAppExtension_x86.wxs delete mode 100644 src/ext/DifxApp/wixlib/caSuffix.wxi diff --git a/src/ext/DifxApp/test/WixToolsetTest.DifxApp/DifxAppExtensionFixture.cs b/src/ext/DifxApp/test/WixToolsetTest.DifxApp/DifxAppExtensionFixture.cs index 7bdd039b..d132952f 100644 --- a/src/ext/DifxApp/test/WixToolsetTest.DifxApp/DifxAppExtensionFixture.cs +++ b/src/ext/DifxApp/test/WixToolsetTest.DifxApp/DifxAppExtensionFixture.cs @@ -2,6 +2,8 @@ namespace WixToolsetTest.DifxApp { + using System; + using System.IO; using System.Linq; using WixInternal.TestSupport; using WixInternal.Core.TestPackage; @@ -19,17 +21,24 @@ namespace WixToolsetTest.DifxApp var results = build.BuildAndQuery(Build, "CustomAction"); WixAssert.CompareLineByLine(new[] { - "CustomAction:MsiCleanupOnSuccess\t1\tDIFxApp.dll\tCleanupOnSuccess\t", - "CustomAction:MsiInstallDrivers\t3073\tDIFxAppA.dll\tInstallDriverPackages\t", - "CustomAction:MsiProcessDrivers\t1\tDIFxApp.dll\tProcessDriverPackages\t", - "CustomAction:MsiRollbackInstall\t3329\tDIFxAppA.dll\tRollbackInstall\t", - "CustomAction:MsiUninstallDrivers\t3073\tDIFxAppA.dll\tUninstallDriverPackages\t", + "CustomAction:MsiCleanupOnSuccess\t1\tDIFxAppx64\tCleanupOnSuccess\t", + "CustomAction:MsiInstallDrivers\t3073\tDIFxAppAx64\tInstallDriverPackages\t", + "CustomAction:MsiProcessDrivers\t1\tDIFxAppx64\tProcessDriverPackages\t", + "CustomAction:MsiRollbackInstall\t3329\tDIFxAppAx64\tRollbackInstall\t", + "CustomAction:MsiUninstallDrivers\t3073\tDIFxAppAx64\tUninstallDriverPackages\t", }, results); } private static void Build(string[] args) { - var result = WixRunner.Execute(warningsAsErrors: false, args).AssertSuccess(); + var newArgs = args.ToList(); + newArgs.Add("-platform"); + newArgs.Add("x64"); + + var extDir = Path.GetDirectoryName(new Uri(typeof(DifxAppExtensionFactory).Assembly.CodeBase).LocalPath); + newArgs.Add(Path.Combine(extDir, "..", "difxapp_x64.wixlib")); + + var result = WixRunner.Execute(warningsAsErrors: false, newArgs.ToArray()).AssertSuccess(); Assert.Single(result.Messages.Where(m => m.Id == (int)WixToolset.Data.WarningMessages.Ids.DeprecatedElement)); } diff --git a/src/ext/DifxApp/wixext/DifxAppCompiler.cs b/src/ext/DifxApp/wixext/DifxAppCompiler.cs index 7d000f67..6f32a60b 100644 --- a/src/ext/DifxApp/wixext/DifxAppCompiler.cs +++ b/src/ext/DifxApp/wixext/DifxAppCompiler.cs @@ -137,15 +137,7 @@ namespace WixToolset.DifxApp if (!this.Messaging.EncounteredError) { - switch (this.Context.Platform) - { - case Platform.X86: - this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, SymbolDefinitions.CustomAction, "MsiProcessDrivers"); - break; - case Platform.X64: - this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, SymbolDefinitions.CustomAction, "MsiProcessDrivers_x64"); - break; - } + this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, SymbolDefinitions.CustomAction, "MsiProcessDrivers"); var symbol = section.AddSymbol(new MsiDriverPackagesSymbol(sourceLineNumbers) { diff --git a/src/ext/DifxApp/wixext/DifxAppExtensionData.cs b/src/ext/DifxApp/wixext/DifxAppExtensionData.cs index 31a95b8e..5552717c 100644 --- a/src/ext/DifxApp/wixext/DifxAppExtensionData.cs +++ b/src/ext/DifxApp/wixext/DifxAppExtensionData.cs @@ -14,10 +14,5 @@ namespace WixToolset.DifxApp symbolDefinition = DifxAppSymbolDefinitions.ByName(name); return symbolDefinition != null; } - - public override Intermediate GetLibrary(ISymbolDefinitionCreator symbolDefinitions) - { - return Intermediate.Load(typeof(DifxAppExtensionData).Assembly, "WixToolset.DifxApp.difxapp.wixlib", symbolDefinitions); - } } } diff --git a/src/ext/DifxApp/wixext/WixToolset.DifxApp.wixext.csproj b/src/ext/DifxApp/wixext/WixToolset.DifxApp.wixext.csproj index ec52e897..75ea81ec 100644 --- a/src/ext/DifxApp/wixext/WixToolset.DifxApp.wixext.csproj +++ b/src/ext/DifxApp/wixext/WixToolset.DifxApp.wixext.csproj @@ -12,11 +12,13 @@ - - + + + - - + + + diff --git a/src/ext/DifxApp/wixext/WixToolset.DifxApp.wixext.targets b/src/ext/DifxApp/wixext/WixToolset.DifxApp.wixext.targets index bf6df083..87fce8f5 100644 --- a/src/ext/DifxApp/wixext/WixToolset.DifxApp.wixext.targets +++ b/src/ext/DifxApp/wixext/WixToolset.DifxApp.wixext.targets @@ -7,5 +7,6 @@ Condition=" Exists('$(MSBuildThisFileDirectory)..\$(WixToolsetExtensionPackageFolder)\$(MSBuildThisFileName).dll') " /> + diff --git a/src/ext/DifxApp/wixlib/DifxAppExtension.wxs b/src/ext/DifxApp/wixlib/DifxAppExtension.wxs new file mode 100644 index 00000000..430c604b --- /dev/null +++ b/src/ext/DifxApp/wixlib/DifxAppExtension.wxs @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/ext/DifxApp/wixlib/DifxAppExtension_Platform.wxi b/src/ext/DifxApp/wixlib/DifxAppExtension_Platform.wxi deleted file mode 100644 index b8d613c9..00000000 --- a/src/ext/DifxApp/wixlib/DifxAppExtension_Platform.wxi +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/ext/DifxApp/wixlib/DifxAppExtension_x64.wxs b/src/ext/DifxApp/wixlib/DifxAppExtension_x64.wxs deleted file mode 100644 index 3c534363..00000000 --- a/src/ext/DifxApp/wixlib/DifxAppExtension_x64.wxs +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/src/ext/DifxApp/wixlib/DifxAppExtension_x86.wxs b/src/ext/DifxApp/wixlib/DifxAppExtension_x86.wxs deleted file mode 100644 index d352a272..00000000 --- a/src/ext/DifxApp/wixlib/DifxAppExtension_x86.wxs +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/src/ext/DifxApp/wixlib/caSuffix.wxi b/src/ext/DifxApp/wixlib/caSuffix.wxi deleted file mode 100644 index a56a2393..00000000 --- a/src/ext/DifxApp/wixlib/caSuffix.wxi +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/ext/DifxApp/wixlib/difxapp.wixproj b/src/ext/DifxApp/wixlib/difxapp.wixproj index 62e7cb3e..b32ceac5 100644 --- a/src/ext/DifxApp/wixlib/difxapp.wixproj +++ b/src/ext/DifxApp/wixlib/difxapp.wixproj @@ -1,6 +1,7 @@ + difxapp_$(Platform) Library true en-us diff --git a/src/wix/WixToolset.Sdk/tools/wix.targets b/src/wix/WixToolset.Sdk/tools/wix.targets index d13152a1..067fa412 100644 --- a/src/wix/WixToolset.Sdk/tools/wix.targets +++ b/src/wix/WixToolset.Sdk/tools/wix.targets @@ -160,7 +160,8 @@ - $(Platform) + x86 + $(Platform) -- cgit v1.2.3-55-g6feb