From a9c358bbbdd3b82157135a6071bafd26242dee6d Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Tue, 19 Feb 2019 16:28:08 -0800 Subject: [PATCH] Build MSI installers for targeting pack (#7726) Part of #6501 This adds a new Windows installer for the targeting pack. It places *.dll and *.xml (docs) in `[DOTNETHOME]\packs\Microsoft.AspNetCore.App.Ref\$(version)\ref\netcoreapp3.0`. Outputs: * aspnetcore-targeting-pack-$(version).zip * aspnetcore-targeting-pack-$(version)-win-x64.exe (defaults to C:\Program Files\dotnet) * aspnetcore-targeting-pack-$(version)-win-x86.exe (defaults to C:\Program Files (x86)\dotnet) These all include the same files. These are meant to be bundled in the .NET Core SDK installer, but can be launched directly too. --- Directory.Build.props | 2 + build/repo.props | 4 + .../ref/Microsoft.AspNetCore.App.Ref.csproj | 27 +++++++ .../Windows/AspNetCoreModule-Setup/.gitignore | 2 + .../SharedFramework/SharedFramework.wixproj | 2 +- .../TargetingPack/DependencyProvider.wxs | 14 ++++ .../Windows/TargetingPack/Product.props | 11 +++ .../Windows/TargetingPack/Product.wxs | 74 +++++++++++++++++++ .../Windows/TargetingPack/Strings.wxl | 5 ++ .../TargetingPack/TargetingPack.wixproj | 67 +++++++++++++++++ 10 files changed, 207 insertions(+), 1 deletion(-) create mode 100644 src/Installers/Windows/AspNetCoreModule-Setup/.gitignore create mode 100644 src/Installers/Windows/TargetingPack/DependencyProvider.wxs create mode 100644 src/Installers/Windows/TargetingPack/Product.props create mode 100644 src/Installers/Windows/TargetingPack/Product.wxs create mode 100644 src/Installers/Windows/TargetingPack/Strings.wxl create mode 100644 src/Installers/Windows/TargetingPack/TargetingPack.wixproj diff --git a/Directory.Build.props b/Directory.Build.props index 57ff94d85b..23f27a8c72 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -172,6 +172,8 @@ $(MSBuildThisFileDirectory)src\Mvc\Mvc.Testing\src\Microsoft.AspNetCore.Mvc.Testing.targets true + + $(ArtifactsObjDir)TargetingPack.Layout\$(Configuration)\ diff --git a/build/repo.props b/build/repo.props index 6fe7f20689..d1393406d2 100644 --- a/build/repo.props +++ b/build/repo.props @@ -94,6 +94,10 @@ + + + + diff --git a/src/Framework/ref/Microsoft.AspNetCore.App.Ref.csproj b/src/Framework/ref/Microsoft.AspNetCore.App.Ref.csproj index 911bfead8a..8fa309887f 100644 --- a/src/Framework/ref/Microsoft.AspNetCore.App.Ref.csproj +++ b/src/Framework/ref/Microsoft.AspNetCore.App.Ref.csproj @@ -22,6 +22,10 @@ This package is an internal implementation of the .NET Core SDK and is not meant TargetingPack ref/$(TargetFramework)/ + $(TargetingPackLayoutRoot)packs/Microsoft.AspNetCore.App.Ref/$(PackageVersion)/$(RefAssemblyPackagePath) + aspnetcore-targeting-pack-$(PackageVersion).zip + $(InstallersOutputPath)$(ArchiveOutputFileName) + false @@ -53,6 +57,8 @@ This package is an internal implementation of the .NET Core SDK and is not meant GeneratePackageConflictManifest; _ResolveTargetingPackContent; _BatchCopyToOutputDirectory; + _BatchCopyToLayoutTargetDir; + _CreateTargetingPackArchive; @@ -117,4 +123,25 @@ This package is an internal implementation of the .NET Core SDK and is not meant UseHardlinksIfPossible="true" /> + + + + + + + + + + diff --git a/src/Installers/Windows/AspNetCoreModule-Setup/.gitignore b/src/Installers/Windows/AspNetCoreModule-Setup/.gitignore new file mode 100644 index 0000000000..6db035b42a --- /dev/null +++ b/src/Installers/Windows/AspNetCoreModule-Setup/.gitignore @@ -0,0 +1,2 @@ +Debug/ +Release/ diff --git a/src/Installers/Windows/SharedFramework/SharedFramework.wixproj b/src/Installers/Windows/SharedFramework/SharedFramework.wixproj index 242de9fcad..3e4484cdc7 100644 --- a/src/Installers/Windows/SharedFramework/SharedFramework.wixproj +++ b/src/Installers/Windows/SharedFramework/SharedFramework.wixproj @@ -54,7 +54,7 @@ - + $(InstallersOutputPath) diff --git a/src/Installers/Windows/TargetingPack/DependencyProvider.wxs b/src/Installers/Windows/TargetingPack/DependencyProvider.wxs new file mode 100644 index 0000000000..d62c3dfe7d --- /dev/null +++ b/src/Installers/Windows/TargetingPack/DependencyProvider.wxs @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Installers/Windows/TargetingPack/Product.props b/src/Installers/Windows/TargetingPack/Product.props new file mode 100644 index 0000000000..777bf589a6 --- /dev/null +++ b/src/Installers/Windows/TargetingPack/Product.props @@ -0,0 +1,11 @@ + + + Microsoft ASP.NET Core Targeting Pack + Microsoft ASP.NET Core $(PackageBrandingVersion) Targeting Pack ($(Platform)) + AspNetCore.TargetingPack + + $(DefineConstants);ProductName=$(ProductName) + $(DefineConstants);ProductNameShort=$(ProductNameShort) + $(DefineConstants);ProductNameFolder=$(ProductNameFolder) + + diff --git a/src/Installers/Windows/TargetingPack/Product.wxs b/src/Installers/Windows/TargetingPack/Product.wxs new file mode 100644 index 0000000000..ce7bda6695 --- /dev/null +++ b/src/Installers/Windows/TargetingPack/Product.wxs @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Installers/Windows/TargetingPack/Strings.wxl b/src/Installers/Windows/TargetingPack/Strings.wxl new file mode 100644 index 0000000000..8b32707853 --- /dev/null +++ b/src/Installers/Windows/TargetingPack/Strings.wxl @@ -0,0 +1,5 @@ + + + ASP.NET Core Targeting Pack + ASP.NET Core Targeting Pack + diff --git a/src/Installers/Windows/TargetingPack/TargetingPack.wixproj b/src/Installers/Windows/TargetingPack/TargetingPack.wixproj new file mode 100644 index 0000000000..3d571020c6 --- /dev/null +++ b/src/Installers/Windows/TargetingPack/TargetingPack.wixproj @@ -0,0 +1,67 @@ + + + + + + + + AspNetCoreTargetingPack + aspnetcore-targeting-pack-$(PackageVersion)-win-$(Platform) + Package + true + 0AC34F1B-8056-4FFB-A398-E6BB7D67B48D + true + 5150;5151 + true + $(IntermediateOutputPath)dn\ + $(DefineConstants);AspNetCoreTargetingPackSource=$(HarvestSource) + DDBB771F-963F-47D3-8510-9ABD04DBE1D1 + 2.0 + + + + + $(WixExtDir)\WixDependencyExtension.dll + WixDependencyExtension + + + $(WixExtDir)\WixNetFxExtension.dll + WixNetFxExtension + + + $(WixExtDir)\WixUtilExtension.dll + WixUtilExtension + + + $(WixExtDir)\WixUIExtension.dll + WixUIExtension + + + + + + + + + + + + true + CG_AspNetCoreTargetingPack + DOTNETHOME + var.AspNetCoreTargetingPackSource + + + + + + + $(InstallersOutputPath) + $(TargetingPackHarvestRoot)aspnetcore-targeting-pack-$(PackageVersion).zip + + + + + + +