From 1e63f31a2b8caf3a81f619d0786efddb0173ab05 Mon Sep 17 00:00:00 2001 From: Bob Arnson Date: Mon, 9 Mar 2020 13:47:57 -0400 Subject: Version extension ids. Partial fix for wixtoolset/issues#5933. --- src/ca/caDecor.h | 13 +++++++ src/ca/precomp.h | 1 + .../WixToolsetTest.Netfx/NetfxExtensionFixture.cs | 4 +-- src/wixext/NetFxCompiler.cs | 3 +- .../NetfxWindowsInstallerBackendExtension.cs | 9 ++++- src/wixlib/NetFxExtension_Platform.wxi | 25 +++++++------- src/wixlib/caDecor.wxi | 40 ++++++++++++++++++++++ src/wixlib/caSuffix.wxi | 28 --------------- src/wixlib/netfx.wixproj | 8 ++--- src/wixlib/packages.config | 4 +-- 10 files changed, 85 insertions(+), 50 deletions(-) create mode 100644 src/ca/caDecor.h create mode 100644 src/wixlib/caDecor.wxi delete mode 100644 src/wixlib/caSuffix.wxi diff --git a/src/ca/caDecor.h b/src/ca/caDecor.h new file mode 100644 index 00000000..da274650 --- /dev/null +++ b/src/ca/caDecor.h @@ -0,0 +1,13 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#if defined(_M_ARM64) +#define CUSTOM_ACTION_DECORATION(f) L"Wix4" f L"_A64" +#elif defined(_M_AMD64) +#define CUSTOM_ACTION_DECORATION(f) L"Wix4" f L"_X64" +#elif defined(_M_ARM) +#define CUSTOM_ACTION_DECORATION(f) L"Wix4" f L"_ARM" +#else +#define CUSTOM_ACTION_DECORATION(f) L"Wix4" f L"_X86" +#endif diff --git a/src/ca/precomp.h b/src/ca/precomp.h index 5caedb16..4a83c164 100644 --- a/src/ca/precomp.h +++ b/src/ca/precomp.h @@ -10,4 +10,5 @@ #include "strutil.h" #include "pathutil.h" +#include "caDecor.h" #include "cost.h" diff --git a/src/test/WixToolsetTest.Netfx/NetfxExtensionFixture.cs b/src/test/WixToolsetTest.Netfx/NetfxExtensionFixture.cs index 3032d99d..38724481 100644 --- a/src/test/WixToolsetTest.Netfx/NetfxExtensionFixture.cs +++ b/src/test/WixToolsetTest.Netfx/NetfxExtensionFixture.cs @@ -16,10 +16,10 @@ namespace WixToolsetTest.Netfx var folder = TestData.Get(@"TestData\UsingNativeImage"); var build = new Builder(folder, typeof(NetfxExtensionFactory), new[] { folder }); - var results = build.BuildAndQuery(Build, "NetFxNativeImage"); + var results = build.BuildAndQuery(Build, "Wix4NetFxNativeImage"); Assert.Equal(new[] { - "NetFxNativeImage:ExampleNgen\tfil6349_KNDJhqShNzVdHX3ihhvA6Y\t3\t8\t\t", + "Wix4NetFxNativeImage:ExampleNgen\tfil6349_KNDJhqShNzVdHX3ihhvA6Y\t3\t8\t\t", }, results.OrderBy(s => s).ToArray()); } diff --git a/src/wixext/NetFxCompiler.cs b/src/wixext/NetFxCompiler.cs index 06d48fe7..4916994e 100644 --- a/src/wixext/NetFxCompiler.cs +++ b/src/wixext/NetFxCompiler.cs @@ -7,6 +7,7 @@ namespace WixToolset.Netfx using System.Xml.Linq; using WixToolset.Data; using WixToolset.Extensibility; + using WixToolset.Extensibility.Data; using WixToolset.Netfx.Tuples; /// @@ -144,7 +145,7 @@ namespace WixToolset.Netfx this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element); - this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "NetFxScheduleNativeImage"); + this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "NetFxScheduleNativeImage", this.Context.Platform, CustomActionPlatforms.X86); if (!this.Messaging.EncounteredError) { diff --git a/src/wixext/NetfxWindowsInstallerBackendExtension.cs b/src/wixext/NetfxWindowsInstallerBackendExtension.cs index df4e9839..1c7ce9b8 100644 --- a/src/wixext/NetfxWindowsInstallerBackendExtension.cs +++ b/src/wixext/NetfxWindowsInstallerBackendExtension.cs @@ -11,10 +11,11 @@ namespace WixToolset.Netfx { private static readonly TableDefinition[] Tables = new[] { new TableDefinition( + "Wix4NetFxNativeImage", "NetFxNativeImage", new[] { - new ColumnDefinition("NetFxNativeImage", ColumnType.String, 72, true, false, ColumnCategory.Identifier, description: "The primary key, a non-localized token."), + new ColumnDefinition("Wix4NetFxNativeImage", ColumnType.String, 72, true, false, ColumnCategory.Identifier, description: "The primary key, a non-localized token."), new ColumnDefinition("File_", ColumnType.String, 0, false, false, ColumnCategory.Identifier, keyTable:"File", keyColumn: 1, description: "The assembly for which a native image will be generated."), new ColumnDefinition("Priority", ColumnType.Number, 2, false, false, ColumnCategory.Integer, maxValue: 3, description: "The priority for generating this native image: 0 is syncronous, 1-3 represent various levels of queued generation."), new ColumnDefinition("Attributes", ColumnType.Number, 4, false, false, ColumnCategory.Integer, maxValue: 2147483647, description: "Integer containing bit flags representing native image attributes."), @@ -25,5 +26,11 @@ namespace WixToolset.Netfx }; public override IEnumerable TableDefinitions { get => Tables; } + + public override bool TryAddTupleToOutput(IntermediateTuple tuple, WindowsInstallerData output) + { + var columnZeroIsId = tuple.Id != null; + return this.BackendHelper.TryAddTupleToOutputMatchingTableDefinitions(tuple, output, this.TableDefinitions, columnZeroIsId); + } } } diff --git a/src/wixlib/NetFxExtension_Platform.wxi b/src/wixlib/NetFxExtension_Platform.wxi index 9236f316..92b13dad 100644 --- a/src/wixlib/NetFxExtension_Platform.wxi +++ b/src/wixlib/NetFxExtension_Platform.wxi @@ -4,25 +4,26 @@ - + + - - - - - + + + + + - - RollbackDisabled <> 1 - RollbackDisabled = 1 - RollbackDisabled <> 1 - RollbackDisabled = 1 + + RollbackDisabled <> 1 + RollbackDisabled = 1 + RollbackDisabled <> 1 + RollbackDisabled = 1 - + diff --git a/src/wixlib/caDecor.wxi b/src/wixlib/caDecor.wxi new file mode 100644 index 00000000..1d00df8f --- /dev/null +++ b/src/wixlib/caDecor.wxi @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/wixlib/caSuffix.wxi b/src/wixlib/caSuffix.wxi deleted file mode 100644 index a56a2393..00000000 --- a/src/wixlib/caSuffix.wxi +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/wixlib/netfx.wixproj b/src/wixlib/netfx.wixproj index d890a911..71a6488e 100644 --- a/src/wixlib/netfx.wixproj +++ b/src/wixlib/netfx.wixproj @@ -1,7 +1,7 @@ - + {45e4a6ac-3190-4e17-83f0-9935ffa5dc2b} @@ -45,9 +45,9 @@ This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - + + - + \ No newline at end of file diff --git a/src/wixlib/packages.config b/src/wixlib/packages.config index 15e9aaaa..01c05df7 100644 --- a/src/wixlib/packages.config +++ b/src/wixlib/packages.config @@ -1,6 +1,6 @@  - - + + \ No newline at end of file -- cgit v1.2.3-55-g6feb