diff --git a/src/redist/targets/BundledManifests.targets b/src/redist/targets/BundledManifests.targets
index db6c2c6e5..89ccd630f 100644
--- a/src/redist/targets/BundledManifests.targets
+++ b/src/redist/targets/BundledManifests.targets
@@ -1,84 +1,95 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
+
+
+
+
+ $(Architecture)
+
-
- [%(Version)]
-
-
-
-
-
-
-
- $(NuGetPackageRoot)$([MSBuild]::ValueOrDefault('%(Identity)', '').ToLower())/$([MSBuild]::ValueOrDefault('%(Version)', '').ToLower())
+
+ %(Identity).Manifest-%(FeatureBand)
+ %(Identity).Manifest-%(FeatureBand).Msi.$(MsiArchitectureForWorkloadManifests)
+ $(NuGetPackageRoot)$([MSBuild]::ValueOrDefault('%(NupkgId)', '').ToLower())/$([MSBuild]::ValueOrDefault('%(Version)', '').ToLower())
+ $(NuGetPackageRoot)$([MSBuild]::ValueOrDefault('%(MsiNupkgId)', '').ToLower())/$([MSBuild]::ValueOrDefault('%(Version)', '').ToLower())
+ $([MSBuild]::NormalizePath('%(RestoredMsiNupkgContentPath)/data/%(NupkgId).%(Version)-$(MsiArchitectureForWorkloadManifests).msi'))
-
+
+
+
+ [%(Version)]
+
+
+
+
+
+ [%(Version)]
+
-
+
+
+
+
+
+
+ $(PkgMicrosoft_DotNet_SignCheck)\tools\Microsoft.DotNet.SignCheck.exe
+ $(ArtifactsLogDir)\workloadmanifestsigncheck.log
+ $(ArtifactsLogDir)\workloadmanifestsigncheck.errors.log
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
- $(ArtifactsNonShippingPackagesDir)dotnet-sdkmanifests-$(FullNugetVersion)-$(ProductMonikerRid)$(InstallerExtension)
- SDK_Manifests_$([MSBuild]::ValueOrDefault('$(Version)', '').Replace('-', '_'))
- Microsoft .NET SDK Workload Manifests $(Version)
- $(BaseOutputPath)$(Configuration)\sdk-manifests
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/redist/targets/GenerateMSIs.targets b/src/redist/targets/GenerateMSIs.targets
index e0e948128..52652e642 100644
--- a/src/redist/targets/GenerateMSIs.targets
+++ b/src/redist/targets/GenerateMSIs.targets
@@ -38,9 +38,6 @@
$(ArtifactsNonShippingPackagesDir)VS.Redist.Common.NetCore.SdkPlaceholder.$(Architecture).$(FullNugetVersion).nupkg
$(MSBuildThisFileDirectory)packaging/windows/clisdk/VS.Tools.Net.Core.SDK.nuspec
$(ArtifactsNonShippingPackagesDir)VS.Tools.Net.Core.SDK.$(Architecture).$(FullNugetVersion).nupkg
-
- $(MSBuildThisFileDirectory)packaging/windows/clisdk/VS.Redist.Common.NetCore.Manifest.nuspec
- $(ArtifactsNonShippingPackagesDir)VS.Redist.Common.NetCore.Manifest.$(Architecture).$(FullNugetVersion).nupkg
$(ArtifactsDir)bin/SdkResolver/$(Configuration)
$(MSBuildThisFileDirectory)packaging/windows/clisdk/VS.Tools.Net.Core.SDK.Resolver.nuspec
@@ -283,49 +280,36 @@
-
-
+
- $(MSBuildThisFileDirectory)packaging/windows/clisdk/generatemanifestsmsi.ps1
+ $(IntermediateOutputPath)WorkloadManifests.wxs
+
+
+
+
+
+
+ @(BundledManifests->'
+
+ ', '
+ ')
+
+
+
+]]>
+
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
- VS.Redist.Common.NetCore.Manifest.$ARCH$
- 1.0.0
- VS.Redist.Common.NetCore.Manifest.$ARCH$
- Microsoft
- Microsoft
- https://www.microsoft.com/net/dotnet_library_license.htm
- https://github.com/dotnet/core-sdk
- true
- .NET Core $MAJOR_MINOR$ SDK Manifests ($ARCH$) Windows Installer MSI as a .nupkg for internal Visual Studio build consumption
- © Microsoft Corporation. All rights reserved.
-
-
-
-
-
diff --git a/src/redist/targets/packaging/windows/clisdk/bundle.wxs b/src/redist/targets/packaging/windows/clisdk/bundle.wxs
index 926929aa6..ac9261a94 100644
--- a/src/redist/targets/packaging/windows/clisdk/bundle.wxs
+++ b/src/redist/targets/packaging/windows/clisdk/bundle.wxs
@@ -194,10 +194,7 @@
-
-
-
-
+
diff --git a/src/redist/targets/packaging/windows/clisdk/generatebundle.ps1 b/src/redist/targets/packaging/windows/clisdk/generatebundle.ps1
index d68bf8441..4cf3d5697 100644
--- a/src/redist/targets/packaging/windows/clisdk/generatebundle.ps1
+++ b/src/redist/targets/packaging/windows/clisdk/generatebundle.ps1
@@ -2,6 +2,7 @@
# Licensed under the MIT license. See LICENSE file in the project root for full license information.
param(
+ [Parameter(Mandatory=$true)][string]$WorkloadManifestWxsFile,
[Parameter(Mandatory=$true)][string]$CLISDKMSIFile,
[Parameter(Mandatory=$true)][string]$ASPNETRuntimeWixLibFile,
[Parameter(Mandatory=$true)][string]$SharedFxMSIFile,
@@ -18,7 +19,6 @@ param(
[Parameter(Mandatory=$true)][string]$WindowsDesktopTargetingPackMSIFile,
[Parameter(Mandatory=$true)][string]$FinalizerExe,
[Parameter(Mandatory=$true)][string]$TemplatesMSIFile,
- [Parameter(Mandatory=$true)][string]$ManifestsMSIFile,
[Parameter(Mandatory=$true)][string]$DotnetBundleOutput,
[Parameter(Mandatory=$true)][string]$WixRoot,
[Parameter(Mandatory=$true)][string]$ProductMoniker,
@@ -78,7 +78,7 @@ function RunCandleForBundle
-ext WixBalExtension.dll `
-ext WixUtilExtension.dll `
-ext WixTagExtension.dll `
- "$AuthWsxRoot\bundle.wxs"
+ "$AuthWsxRoot\bundle.wxs" "$WorkloadManifestWxsFile"
Write-Information "Candle output: $candleOutput"
@@ -97,11 +97,14 @@ function RunLightForBundle
$result = $true
pushd "$WixRoot"
+ $WorkloadManifestWixobjFile = [System.IO.Path]::GetFileNameWithoutExtension($WorkloadManifestWxsFile) + ".wixobj"
+
Write-Information "Running light for bundle.."
$lightOutput = .\light.exe -nologo `
-cultures:en-us `
bundle.wixobj `
+ $WorkloadManifestWixobjFile `
$ASPNETRuntimeWixlibFile `
-ext WixBalExtension.dll `
-ext WixUtilExtension.dll `
diff --git a/src/redist/targets/packaging/windows/clisdk/generatemanifestsmsi.ps1 b/src/redist/targets/packaging/windows/clisdk/generatemanifestsmsi.ps1
deleted file mode 100644
index bef841dc2..000000000
--- a/src/redist/targets/packaging/windows/clisdk/generatemanifestsmsi.ps1
+++ /dev/null
@@ -1,153 +0,0 @@
-# Copyright (c) .NET Foundation and contributors. All rights reserved.
-# Licensed under the MIT license. See LICENSE file in the project root for full license information.
-
-param(
- [Parameter(Mandatory=$true)][string]$inputDir,
- [Parameter(Mandatory=$true)][string]$DotnetMSIOutput,
- [Parameter(Mandatory=$true)][string]$WixRoot,
- [Parameter(Mandatory=$true)][string]$ProductMoniker,
- [Parameter(Mandatory=$true)][string]$DotnetMSIVersion,
- [Parameter(Mandatory=$true)][string]$SDKBundleVersion,
- [Parameter(Mandatory=$true)][string]$DotnetCLINugetVersion,
- [Parameter(Mandatory=$true)][string]$UpgradeCode,
- [Parameter(Mandatory=$true)][string]$DependencyKeyName,
- [Parameter(Mandatory=$true)][string]$Architecture
-)
-
-$InstallFileswsx = ".\manifest-install-files.wxs"
-$InstallFilesWixobj = "manifest-install-files.wixobj"
-
-function RunHeat
-{
- $result = $true
- pushd "$WixRoot"
-
- Write-Information "Running heat.."
-
- $heatOutput = .\heat.exe dir `"$inputDir`" -template fragment `
- -sreg -ag `
- -var var.DotnetSrc `
- -cg InstallFiles `
- -srd `
- -dr DOTNETHOME `
- -out manifest-install-files.wxs
-
- Write-Information "Heat output: $heatOutput"
-
- if($LastExitCode -ne 0)
- {
- $result = $false
- Write-Information "Heat failed with exit code $LastExitCode."
- }
-
- popd
- Write-Information "RunHeat result: $result"
- return $result
-}
-
-function RunCandle
-{
- $result = $true
- pushd "$WixRoot"
-
- Write-Information "Running candle.."
-
- $candleOutput = .\candle.exe -nologo `
- -dDotnetSrc="$inputDir" `
- -dMicrosoftEula="$PSScriptRoot\dummyeula.rtf" `
- -dProductMoniker="$ProductMoniker" `
- -dBuildVersion="$DotnetMSIVersion" `
- -dSDKBundleVersion="$SDKBundleVersion" `
- -dNugetVersion="$DotnetCLINugetVersion" `
- -dUpgradeCode="$UpgradeCode" `
- -dDependencyKeyName="$DependencyKeyName" `
- -arch "$Architecture" `
- -ext WixDependencyExtension.dll `
- "$PSScriptRoot\manifests.wxs" `
- "$PSScriptRoot\provider.wxs" `
- "$PSScriptRoot\dotnethome_x64.wxs" `
- $InstallFileswsx
-
- Write-Information "Candle output: $candleOutput"
-
- if($LastExitCode -ne 0)
- {
- $result = $false
- Write-Information "Candle failed with exit code $LastExitCode."
- }
-
- popd
- return $result
-}
-
-function RunLight
-{
- $result = $true
- pushd "$WixRoot"
-
- Write-Information "Running light.."
- $CabCache = Join-Path $WixRoot "cabcache"
-
- $lightOutput = .\light.exe -nologo -ext WixUIExtension -ext WixDependencyExtension -ext WixUtilExtension `
- -cultures:en-us `
- manifests.wixobj `
- provider.wixobj `
- dotnethome_x64.wixobj `
- $InstallFilesWixobj `
- -b "$inputDir" `
- -b "$PSScriptRoot" `
- -reusecab `
- -cc "$CabCache" `
- -out $DotnetMSIOutput
-
- Write-Information "Light output: $lightOutput"
-
- if($LastExitCode -ne 0)
- {
- $result = $false
- Write-Information "Light failed with exit code $LastExitCode."
- }
-
- popd
- return $result
-}
-
-if(!(Test-Path $inputDir))
-{
- throw "$inputDir not found"
-}
-
-Write-Information "Creating manifests MSI at $DotnetMSIOutput"
-
-if([string]::IsNullOrEmpty($WixRoot))
-{
- Exit -1
-}
-
-if(-Not (RunHeat))
-{
- Write-Information "Heat failed"
- Exit -1
-}
-
-if(-Not (RunCandle))
-{
- Write-Information "Candle failed"
- Exit -1
-}
-
-if(-Not (RunLight))
-{
- Write-Information "Light failed"
- Exit -1
-}
-
-if(!(Test-Path $DotnetMSIOutput))
-{
- throw "Unable to create the manifests MSI."
- Exit -1
-}
-
-Write-Information "Successfully created manifests MSI - $DotnetMSIOutput"
-
-exit $LastExitCode