From 321c30138c82390ea5ad6b0a612dff294203a877 Mon Sep 17 00:00:00 2001 From: StefanStojanovic Date: Tue, 25 Oct 2022 22:40:36 +0200 Subject: Add NetFx .NET compatibility check for MSI (#262) Adds new custom element in NetFx extension for running NetCoreCheck.exe tool from within the MSI installer - ``. The checks are run before evaluating launch conditions, so their results can be used in those conditions. There is no limitation on the number of checks that can be run, so installer may query various runtimes on different platforms and versions and with different roll forward policies. Fixes https://github.com/wixtoolset/issues/issues/6264 --- src/ext/NetFx/wixext/NetfxTableDefinitions.cs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/ext/NetFx/wixext/NetfxTableDefinitions.cs') diff --git a/src/ext/NetFx/wixext/NetfxTableDefinitions.cs b/src/ext/NetFx/wixext/NetfxTableDefinitions.cs index 57e35323..6be1abe7 100644 --- a/src/ext/NetFx/wixext/NetfxTableDefinitions.cs +++ b/src/ext/NetFx/wixext/NetfxTableDefinitions.cs @@ -22,9 +22,25 @@ namespace WixToolset.Netfx symbolIdIsPrimaryKey: true ); + public static readonly TableDefinition NetFxDotNetCompatibilityCheck = new TableDefinition( + "Wix4NetFxDotNetCheck", + NetfxSymbolDefinitions.NetFxDotNetCompatibilityCheck, + new[] + { + new ColumnDefinition("NetFxDotNetCompatibilityCheck", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "The primary key, a non-localized token.", modularizeType: ColumnModularizeType.Column), + new ColumnDefinition("RuntimeType", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Text, description: "The type of .NET runtime being checked for. Possible values: aspnet, desktop and core", modularizeType: ColumnModularizeType.Column), + new ColumnDefinition("Platform", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Text, description: "Sets the platform for the .NET runtime being checked for. Possible values: x86, x64 and arm64", modularizeType: ColumnModularizeType.Column), + new ColumnDefinition("Version", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Version, description: "The version of the .NET runtime being checked for (e.g. 3.1.10, 5.0.1).", modularizeType: ColumnModularizeType.Column), + new ColumnDefinition("RollForward", ColumnType.String, 72, primaryKey: false, nullable: true, ColumnCategory.Text, description: "Sets the roll-forward policy that the application is using. Possible values: latestmajor, major, latestminor, minor, latestpatch and disable", modularizeType: ColumnModularizeType.Column), + new ColumnDefinition("Property", ColumnType.String, 72, primaryKey: false, nullable: false, ColumnCategory.Identifier, description: "Name of the property in which to place the result of the check.", modularizeType: ColumnModularizeType.Column), + }, + symbolIdIsPrimaryKey: true + ); + public static readonly TableDefinition[] All = new[] { NetFxNativeImage, + NetFxDotNetCompatibilityCheck }; } } -- cgit v1.2.3-55-g6feb