Enable ARM64 installers build. (#25579)
Changes WiX toolset used to 3.14 to support ARM64 Generates targeting pack from the x86/x64 leg, as it gets produced using a zip that gets generated there. The ARM64 leg now produces all the necessary msi's, exe, and wixlib needed for the installer to generate a bundle.
This commit is contained in:
parent
31fcc8bd26
commit
dda1d33f7b
|
|
@ -51,6 +51,8 @@ variables:
|
||||||
/p:DotNetPublishUsingPipelines=$(_PublishUsingPipelines)
|
/p:DotNetPublishUsingPipelines=$(_PublishUsingPipelines)
|
||||||
/p:DotNetArtifactsCategory=$(_DotNetArtifactsCategory)
|
/p:DotNetArtifactsCategory=$(_DotNetArtifactsCategory)
|
||||||
# Do not log most Windows steps in official builds; this is the slowest job. Site extensions step always logs.
|
# Do not log most Windows steps in official builds; this is the slowest job. Site extensions step always logs.
|
||||||
|
- name: WindowsArm64LogArgs
|
||||||
|
value: -ExcludeCIBinaryLog
|
||||||
- name: Windows64LogArgs
|
- name: Windows64LogArgs
|
||||||
value: -ExcludeCIBinaryLog
|
value: -ExcludeCIBinaryLog
|
||||||
- name: Windows86LogArgs
|
- name: Windows86LogArgs
|
||||||
|
|
@ -59,12 +61,16 @@ variables:
|
||||||
value: -ExcludeCIBinaryLog
|
value: -ExcludeCIBinaryLog
|
||||||
- name: WindowsInstallersLogArgs
|
- name: WindowsInstallersLogArgs
|
||||||
value: -ExcludeCIBinaryLog
|
value: -ExcludeCIBinaryLog
|
||||||
|
- name: WindowsArm64InstallersLogArgs
|
||||||
|
value: -ExcludeCIBinaryLog
|
||||||
- ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
|
- ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
|
||||||
- name: _BuildArgs
|
- name: _BuildArgs
|
||||||
value: '/p:SkipTestBuild=true'
|
value: '/p:SkipTestBuild=true'
|
||||||
- name: _PublishArgs
|
- name: _PublishArgs
|
||||||
value: ''
|
value: ''
|
||||||
# Write binary logs for all main Windows build steps except the x86 one in public and PR builds.
|
# Write binary logs for all main Windows build steps except the x86 one in public and PR builds.
|
||||||
|
- name: WindowsArm64LogArgs
|
||||||
|
value: /bl:artifacts/log/Release/Build.arm64.binlog
|
||||||
- name: Windows64LogArgs
|
- name: Windows64LogArgs
|
||||||
value: /bl:artifacts/log/Release/Build.x64.binlog
|
value: /bl:artifacts/log/Release/Build.x64.binlog
|
||||||
- name: Windows86LogArgs
|
- name: Windows86LogArgs
|
||||||
|
|
@ -73,6 +79,8 @@ variables:
|
||||||
value: /bl:artifacts/log/Release/Build.CodeSign.binlog
|
value: /bl:artifacts/log/Release/Build.CodeSign.binlog
|
||||||
- name: WindowsInstallersLogArgs
|
- name: WindowsInstallersLogArgs
|
||||||
value: /bl:artifacts/log/Release/Build.Installers.binlog
|
value: /bl:artifacts/log/Release/Build.Installers.binlog
|
||||||
|
- name: WindowsArm64InstallersLogArgs
|
||||||
|
value: /bl:artifacts/log/Release/Build.Installers.Arm64.binlog
|
||||||
- ${{ if ne(variables['System.TeamProject'], 'internal') }}:
|
- ${{ if ne(variables['System.TeamProject'], 'internal') }}:
|
||||||
- name: _UseHelixOpenQueues
|
- name: _UseHelixOpenQueues
|
||||||
value: 'true'
|
value: 'true'
|
||||||
|
|
@ -263,18 +271,6 @@ stages:
|
||||||
jobName: Windows_arm64_build
|
jobName: Windows_arm64_build
|
||||||
jobDisplayName: "Build: Windows ARM64"
|
jobDisplayName: "Build: Windows ARM64"
|
||||||
agentOs: Windows
|
agentOs: Windows
|
||||||
buildArgs:
|
|
||||||
-arch arm64
|
|
||||||
-sign
|
|
||||||
-pack
|
|
||||||
-noBuildNodeJS
|
|
||||||
-noBuildJava
|
|
||||||
/p:DotNetSignType=$(_SignType)
|
|
||||||
/p:OnlyPackPlatformSpecificPackages=true
|
|
||||||
/p:AssetManifestFileName=aspnetcore-win-arm64.xml
|
|
||||||
$(_BuildArgs)
|
|
||||||
$(_PublishArgs)
|
|
||||||
$(_InternalRuntimeDownloadArgs)
|
|
||||||
installNodeJs: false
|
installNodeJs: false
|
||||||
installJdk: false
|
installJdk: false
|
||||||
artifacts:
|
artifacts:
|
||||||
|
|
@ -286,6 +282,47 @@ stages:
|
||||||
path: artifacts/packages/
|
path: artifacts/packages/
|
||||||
- name: Windows_arm64_Installers
|
- name: Windows_arm64_Installers
|
||||||
path: artifacts/installers/
|
path: artifacts/installers/
|
||||||
|
steps:
|
||||||
|
- script: ./build.cmd
|
||||||
|
-ci
|
||||||
|
-arch arm64
|
||||||
|
-sign
|
||||||
|
-pack
|
||||||
|
-noBuildJava
|
||||||
|
-noBuildNative
|
||||||
|
/p:DotNetSignType=$(_SignType)
|
||||||
|
/p:OnlyPackPlatformSpecificPackages=true
|
||||||
|
$(_BuildArgs)
|
||||||
|
$(_InternalRuntimeDownloadArgs)
|
||||||
|
$(WindowsArm64LogArgs)
|
||||||
|
displayName: Build ARM64
|
||||||
|
|
||||||
|
# Windows installers bundle for arm64
|
||||||
|
- script: ./build.cmd
|
||||||
|
-ci
|
||||||
|
-noBuildRepoTasks
|
||||||
|
-arch arm64
|
||||||
|
-sign
|
||||||
|
-buildInstallers
|
||||||
|
-noBuildNative
|
||||||
|
/p:DotNetSignType=$(_SignType)
|
||||||
|
/p:AssetManifestFileName=aspnetcore-win-arm64.xml
|
||||||
|
$(_BuildArgs)
|
||||||
|
$(_PublishArgs)
|
||||||
|
$(_InternalRuntimeDownloadArgs)
|
||||||
|
$(WindowsArm64InstallersLogArgs)
|
||||||
|
displayName: Build Arm64 Installers
|
||||||
|
|
||||||
|
# A few files must also go to the VS package feed.
|
||||||
|
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
|
||||||
|
- task: NuGetCommand@2
|
||||||
|
displayName: Push Visual Studio packages
|
||||||
|
inputs:
|
||||||
|
command: push
|
||||||
|
packagesToPush: 'artifacts/packages/**/VS.Redist.Common.AspNetCore.*.nupkg'
|
||||||
|
nuGetFeedType: external
|
||||||
|
publishFeedCredentials: 'DevDiv - VS package feed'
|
||||||
|
|
||||||
|
|
||||||
# Build MacOS
|
# Build MacOS
|
||||||
- template: jobs/default-build.yml
|
- template: jobs/default-build.yml
|
||||||
|
|
|
||||||
|
|
@ -296,12 +296,11 @@ if ($BuildNodeJS) { $dotnetBuildArguments += "/p:BuildNodeJS=true" }
|
||||||
# Don't bother with two builds if just one will build everything. Ignore super-weird cases like
|
# Don't bother with two builds if just one will build everything. Ignore super-weird cases like
|
||||||
# "-Projects ... -NoBuildJava -NoBuildManaged -NoBuildNodeJS". An empty `./build.ps1` command will build both
|
# "-Projects ... -NoBuildJava -NoBuildManaged -NoBuildNodeJS". An empty `./build.ps1` command will build both
|
||||||
# managed and native projects.
|
# managed and native projects.
|
||||||
$performDesktopBuild = ($BuildInstallers -or $BuildNative) -and `
|
$performDesktopBuild = ($BuildInstallers -and $Architecture -ne "arm") -or `
|
||||||
-not $Architecture.StartsWith("arm", [System.StringComparison]::OrdinalIgnoreCase)
|
($BuildNative -and -not $Architecture.StartsWith("arm", [System.StringComparison]::OrdinalIgnoreCase))
|
||||||
$performDotnetBuild = $BuildJava -or $BuildManaged -or $BuildNodeJS -or `
|
$performDotnetBuild = $BuildJava -or $BuildManaged -or $BuildNodeJS -or `
|
||||||
($All -and -not ($NoBuildJava -and $NoBuildManaged -and $NoBuildNodeJS)) -or `
|
($All -and -not ($NoBuildJava -and $NoBuildManaged -and $NoBuildNodeJS)) -or `
|
||||||
($Projects -and -not ($BuildInstallers -or $specifiedBuildNative))
|
($Projects -and -not ($BuildInstallers -or $specifiedBuildNative))
|
||||||
|
|
||||||
$foundJdk = $false
|
$foundJdk = $false
|
||||||
$javac = Get-Command javac -ErrorAction Ignore -CommandType Application
|
$javac = Get-Command javac -ErrorAction Ignore -CommandType Application
|
||||||
$localJdkPath = "$PSScriptRoot\.tools\jdk\win-x64\"
|
$localJdkPath = "$PSScriptRoot\.tools\jdk\win-x64\"
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</When>
|
</When>
|
||||||
<Otherwise>
|
<Otherwise>
|
||||||
<ItemGroup Condition=" '$(BuildInstallers)' == 'true' AND '$(TargetOsName)' == 'win' ">
|
<ItemGroup Condition=" '$(BuildInstallers)' == 'true' AND '$(TargetOsName)' == 'win' AND ('$(TargetArchitecture)' == 'x86' OR '$(TargetArchitecture)' == 'x64') ">
|
||||||
<!-- Build the ANCM custom action -->
|
<!-- Build the ANCM custom action -->
|
||||||
<ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\CustomAction\aspnetcoreCA.vcxproj" AdditionalProperties="Platform=x64" />
|
<ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\CustomAction\aspnetcoreCA.vcxproj" AdditionalProperties="Platform=x64" />
|
||||||
<ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\CustomAction\aspnetcoreCA.vcxproj" AdditionalProperties="Platform=Win32" />
|
<ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\CustomAction\aspnetcoreCA.vcxproj" AdditionalProperties="Platform=Win32" />
|
||||||
|
|
@ -64,6 +64,10 @@
|
||||||
<!-- Build the targeting pack installers -->
|
<!-- Build the targeting pack installers -->
|
||||||
<ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\TargetingPack\TargetingPack.wixproj" AdditionalProperties="Platform=x64" />
|
<ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\TargetingPack\TargetingPack.wixproj" AdditionalProperties="Platform=x64" />
|
||||||
<ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\TargetingPack\TargetingPack.wixproj" AdditionalProperties="Platform=x86" />
|
<ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\TargetingPack\TargetingPack.wixproj" AdditionalProperties="Platform=x86" />
|
||||||
|
<!-- This really shouldn't be here, but instead of harvesting from the intermediate/output directories, the targetting pack installer logic
|
||||||
|
harvests from a zip of the reference assemblies. Producing it in each leg ends up with multiple targeting packs
|
||||||
|
getting produced and the BAR will reject the build. Centralize building the targeting pack in the x86/x64 leg. -->
|
||||||
|
<ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\TargetingPack\TargetingPack.wixproj" AdditionalProperties="Platform=arm64" />
|
||||||
|
|
||||||
<!-- Build the SharedFramework installers -->
|
<!-- Build the SharedFramework installers -->
|
||||||
<ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\SharedFrameworkBundle\SharedFrameworkBundle.wixproj" AdditionalProperties="Platform=x64" />
|
<ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\SharedFrameworkBundle\SharedFrameworkBundle.wixproj" AdditionalProperties="Platform=x64" />
|
||||||
|
|
@ -77,6 +81,14 @@
|
||||||
<ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\WindowsHostingBundle\WindowsHostingBundle.wixproj" AdditionalProperties="Platform=x86" />
|
<ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\WindowsHostingBundle\WindowsHostingBundle.wixproj" AdditionalProperties="Platform=x86" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup Condition=" '$(BuildInstallers)' == 'true' AND '$(TargetOsName)' == 'win' AND '$(TargetArchitecture)' == 'arm64' ">
|
||||||
|
<!-- We don't build the bundle here because we'd have to bundle the x86 installer which gets built in a different leg.
|
||||||
|
Instead we only provide the ARM64 MSI-->
|
||||||
|
|
||||||
|
<!-- Build the SharedFramework wixlib -->
|
||||||
|
<ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\SharedFrameworkLib\SharedFrameworkLib.wixproj" AdditionalProperties="Platform=arm64" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup Condition="'$(BuildInstallers)' == 'true' AND '$(TargetRuntimeIdentifier)' == 'linux-x64'">
|
<ItemGroup Condition="'$(BuildInstallers)' == 'true' AND '$(TargetRuntimeIdentifier)' == 'linux-x64'">
|
||||||
<ProjectToBuild Condition=" '$(LinuxInstallerType)' == 'deb' "
|
<ProjectToBuild Condition=" '$(LinuxInstallerType)' == 'deb' "
|
||||||
Include="$(RepoRoot)src\Installers\Debian\**\*.*proj" />
|
Include="$(RepoRoot)src\Installers\Debian\**\*.*proj" />
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,8 @@
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<SchemaVersion>2.0</SchemaVersion>
|
<SchemaVersion>2.0</SchemaVersion>
|
||||||
<ProductVersion>3.11</ProductVersion>
|
<ProductVersion>3.14</ProductVersion>
|
||||||
<WixVersion>3.11.1</WixVersion>
|
<WixVersion>3.14.0-dotnet</WixVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||||
<Product Id="$(var.ProductCode)" Name="$(var.ProductName)" Language="1033" Version="$(var.Version)"
|
<Product Id="$(var.ProductCode)" Name="$(var.ProductName)" Language="1033" Version="$(var.Version)"
|
||||||
Manufacturer="Microsoft Corporation" UpgradeCode="$(var.UpgradeCode)">
|
Manufacturer="Microsoft Corporation" UpgradeCode="$(var.UpgradeCode)">
|
||||||
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
|
<Package InstallerVersion="$(var.InstallerVersion)" Compressed="yes" InstallScope="perMachine" />
|
||||||
|
|
||||||
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." Schedule="afterInstallFinalize" />
|
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." Schedule="afterInstallFinalize" />
|
||||||
<Media Id="1" Cabinet="$(var.Cabinet)" CompressionLevel="high" EmbedCab="$(var.EmbedCab)" />
|
<Media Id="1" Cabinet="$(var.Cabinet)" CompressionLevel="high" EmbedCab="$(var.EmbedCab)" />
|
||||||
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
<?if $(var.Platform)=x86?>
|
<?if $(var.Platform)=x86?>
|
||||||
<?define PFilesFolder=ProgramFilesFolder?>
|
<?define PFilesFolder=ProgramFilesFolder?>
|
||||||
<?elseif $(var.Platform)=x64?>
|
<?elseif $(var.Platform)=x64 or $(var.Platform)=arm64?>
|
||||||
<?define PFilesFolder=ProgramFiles64Folder?>
|
<?define PFilesFolder=ProgramFiles64Folder?>
|
||||||
<?else?>
|
<?else?>
|
||||||
<?error Invalid Platform ($(var.Platform))?>
|
<?error Invalid Platform ($(var.Platform))?>
|
||||||
|
|
|
||||||
|
|
@ -61,12 +61,16 @@
|
||||||
<!-- TODO: https://github.com/dotnet/aspnetcore/issues/6304. Harvest shared frameworks from a project reference -->
|
<!-- TODO: https://github.com/dotnet/aspnetcore/issues/6304. Harvest shared frameworks from a project reference -->
|
||||||
<Target Name="ExtractIntermediateSharedFx" BeforeTargets="PrepareForBuild">
|
<Target Name="ExtractIntermediateSharedFx" BeforeTargets="PrepareForBuild">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
<SharedFrameworkArm64HarvestRootPath Condition="'$(SharedFrameworkArm64HarvestRootPath)' == ''">$(InstallersOutputPath)</SharedFrameworkArm64HarvestRootPath>
|
||||||
<SharedFrameworkX64HarvestRootPath Condition="'$(SharedFrameworkX64HarvestRootPath)' == ''">$(InstallersOutputPath)</SharedFrameworkX64HarvestRootPath>
|
<SharedFrameworkX64HarvestRootPath Condition="'$(SharedFrameworkX64HarvestRootPath)' == ''">$(InstallersOutputPath)</SharedFrameworkX64HarvestRootPath>
|
||||||
<SharedFrameworkX86HarvestRootPath Condition="'$(SharedFrameworkX86HarvestRootPath)' == ''">$(InstallersOutputPath)</SharedFrameworkX86HarvestRootPath>
|
<SharedFrameworkX86HarvestRootPath Condition="'$(SharedFrameworkX86HarvestRootPath)' == ''">$(InstallersOutputPath)</SharedFrameworkX86HarvestRootPath>
|
||||||
|
<IntermediateArm64SharedFxZip>$(SharedFrameworkArm64HarvestRootPath)aspnetcore-runtime-internal-$(PackageVersion)-win-arm64.zip</IntermediateArm64SharedFxZip>
|
||||||
<IntermediateX64SharedFxZip>$(SharedFrameworkX64HarvestRootPath)aspnetcore-runtime-internal-$(PackageVersion)-win-x64.zip</IntermediateX64SharedFxZip>
|
<IntermediateX64SharedFxZip>$(SharedFrameworkX64HarvestRootPath)aspnetcore-runtime-internal-$(PackageVersion)-win-x64.zip</IntermediateX64SharedFxZip>
|
||||||
<IntermediateX86SharedFxZip>$(SharedFrameworkX86HarvestRootPath)aspnetcore-runtime-internal-$(PackageVersion)-win-x86.zip</IntermediateX86SharedFxZip>
|
<IntermediateX86SharedFxZip>$(SharedFrameworkX86HarvestRootPath)aspnetcore-runtime-internal-$(PackageVersion)-win-x86.zip</IntermediateX86SharedFxZip>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<Unzip Condition="'$(Platform)' == 'arm64'"
|
||||||
|
SourceFiles="$(IntermediateArm64SharedFxZip)" DestinationFolder="$(HarvestSource)" />
|
||||||
<Unzip Condition="'$(Platform)' == 'x64'"
|
<Unzip Condition="'$(Platform)' == 'x64'"
|
||||||
SourceFiles="$(IntermediateX64SharedFxZip)" DestinationFolder="$(HarvestSource)" />
|
SourceFiles="$(IntermediateX64SharedFxZip)" DestinationFolder="$(HarvestSource)" />
|
||||||
<Unzip Condition="'$(Platform)' == 'x86'"
|
<Unzip Condition="'$(Platform)' == 'x86'"
|
||||||
|
|
|
||||||
|
|
@ -43,6 +43,8 @@
|
||||||
<PackageGroupRef Id="PG_AspNetCoreSharedFramework_x86"/>
|
<PackageGroupRef Id="PG_AspNetCoreSharedFramework_x86"/>
|
||||||
<?elseif $(var.Platform)=x64?>
|
<?elseif $(var.Platform)=x64?>
|
||||||
<PackageGroupRef Id="PG_AspNetCoreSharedFramework_x64"/>
|
<PackageGroupRef Id="PG_AspNetCoreSharedFramework_x64"/>
|
||||||
|
<?elseif $(var.Platform)=arm64?>
|
||||||
|
<PackageGroupRef Id="PG_AspNetCoreSharedFramework_arm64"/>
|
||||||
<?endif?>
|
<?endif?>
|
||||||
</Chain>
|
</Chain>
|
||||||
</Bundle>
|
</Bundle>
|
||||||
|
|
|
||||||
|
|
@ -29,20 +29,35 @@
|
||||||
<Content Include="thm.xml" />
|
<Content Include="thm.xml" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<Choose>
|
||||||
<ProjectReference Include="..\SharedFrameworkLib\SharedFrameworkLib.wixproj" SetPlatform="Platform=x86">
|
<When Condition="'$(Platform)' == 'arm64'">
|
||||||
<Name>SharedFrameworkLib</Name>
|
<ItemGroup>
|
||||||
<Project>{5244BC49-2568-4701-80A6-EAB8950AB5FA}</Project>
|
<ProjectReference Include="..\SharedFrameworkLib\SharedFrameworkLib.wixproj" SetPlatform="Platform=arm64">
|
||||||
<Private>True</Private>
|
<Name>SharedFrameworkLib</Name>
|
||||||
<DoNotHarvest>True</DoNotHarvest>
|
<Project>{5244BC49-2568-4701-80A6-EAB8950AB5FA}</Project>
|
||||||
</ProjectReference>
|
<Private>True</Private>
|
||||||
<ProjectReference Include="..\SharedFrameworkLib\SharedFrameworkLib.wixproj" SetPlatform="Platform=x64">
|
<DoNotHarvest>True</DoNotHarvest>
|
||||||
<Name>SharedFrameworkLib</Name>
|
</ProjectReference>
|
||||||
<Project>{5244BC49-2568-4701-80A6-EAB8950AB5FA}</Project>
|
</ItemGroup>
|
||||||
<Private>True</Private>
|
</When>
|
||||||
<DoNotHarvest>True</DoNotHarvest>
|
<Otherwise>
|
||||||
</ProjectReference>
|
<ItemGroup>
|
||||||
</ItemGroup>
|
<ProjectReference Include="..\SharedFrameworkLib\SharedFrameworkLib.wixproj" SetPlatform="Platform=x86">
|
||||||
|
<Name>SharedFrameworkLib</Name>
|
||||||
|
<Project>{5244BC49-2568-4701-80A6-EAB8950AB5FA}</Project>
|
||||||
|
<Private>True</Private>
|
||||||
|
<DoNotHarvest>True</DoNotHarvest>
|
||||||
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\SharedFrameworkLib\SharedFrameworkLib.wixproj" SetPlatform="Platform=x64">
|
||||||
|
<Name>SharedFrameworkLib</Name>
|
||||||
|
<Project>{5244BC49-2568-4701-80A6-EAB8950AB5FA}</Project>
|
||||||
|
<Private>True</Private>
|
||||||
|
<DoNotHarvest>True</DoNotHarvest>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
|
</Otherwise>
|
||||||
|
</Choose>
|
||||||
|
|
||||||
|
|
||||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), Directory.Build.targets))\Directory.Build.targets" />
|
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), Directory.Build.targets))\Directory.Build.targets" />
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,9 @@
|
||||||
<?elseif $(var.Platform)=x64?>
|
<?elseif $(var.Platform)=x64?>
|
||||||
<?define SharedFrameworkInstallCondition=VersionNT64 AND (NOT OPT_NO_SHAREDFX)?>
|
<?define SharedFrameworkInstallCondition=VersionNT64 AND (NOT OPT_NO_SHAREDFX)?>
|
||||||
<?define DotNetHome=DOTNETHOME_X64?>
|
<?define DotNetHome=DOTNETHOME_X64?>
|
||||||
|
<?elseif $(var.Platform)=arm64?>
|
||||||
|
<?define SharedFrameworkInstallCondition=VersionNT64 AND (NOT OPT_NO_SHAREDFX)?>
|
||||||
|
<?define DotNetHome=DOTNETHOME_ARM64?>
|
||||||
<?endif?>
|
<?endif?>
|
||||||
|
|
||||||
<MsiPackage Id="AspNetCoreSharedFramework_$(var.Platform)"
|
<MsiPackage Id="AspNetCoreSharedFramework_$(var.Platform)"
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||||
<Product Id="$(var.ProductCode)" Name="$(var.ProductName)" Language="1033" Version="$(var.Version)"
|
<Product Id="$(var.ProductCode)" Name="$(var.ProductName)" Language="1033" Version="$(var.Version)"
|
||||||
Manufacturer="Microsoft Corporation" UpgradeCode="$(var.UpgradeCode)">
|
Manufacturer="Microsoft Corporation" UpgradeCode="$(var.UpgradeCode)">
|
||||||
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
|
<Package InstallerVersion="$(var.InstallerVersion)" Compressed="yes" InstallScope="perMachine" />
|
||||||
|
|
||||||
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." Schedule="afterInstallFinalize" />
|
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." Schedule="afterInstallFinalize" />
|
||||||
<Media Id="1" Cabinet="$(var.Cabinet)" CompressionLevel="high" EmbedCab="$(var.EmbedCab)" />
|
<Media Id="1" Cabinet="$(var.Cabinet)" CompressionLevel="high" EmbedCab="$(var.EmbedCab)" />
|
||||||
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
<?if $(var.Platform)=x86?>
|
<?if $(var.Platform)=x86?>
|
||||||
<?define PFilesFolder=ProgramFilesFolder?>
|
<?define PFilesFolder=ProgramFilesFolder?>
|
||||||
<?elseif $(var.Platform)=x64?>
|
<?elseif $(var.Platform)=x64 or $(var.Platform)=arm64?>
|
||||||
<?define PFilesFolder=ProgramFiles64Folder?>
|
<?define PFilesFolder=ProgramFiles64Folder?>
|
||||||
<?else?>
|
<?else?>
|
||||||
<?error Invalid Platform ($(var.Platform))?>
|
<?error Invalid Platform ($(var.Platform))?>
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,11 @@
|
||||||
<_FileRevisionVersion Condition=" '$(_FileRevisionVersion)' == '' ">42424</_FileRevisionVersion>
|
<_FileRevisionVersion Condition=" '$(_FileRevisionVersion)' == '' ">42424</_FileRevisionVersion>
|
||||||
<BundleVersion>$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).$(AspNetCorePatchVersion).$(_FileRevisionVersion)</BundleVersion>
|
<BundleVersion>$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).$(AspNetCorePatchVersion).$(_FileRevisionVersion)</BundleVersion>
|
||||||
|
|
||||||
|
<!-- ARM64 MSIs require the installer version to be at least 500. -->
|
||||||
|
<!-- See: https://docs.microsoft.com/en-us/windows/win32/msi/64-bit-windows-installer-packages -->
|
||||||
|
<DefineConstants Condition=" '$(Platform)' == 'arm64' ">$(DefineConstants);InstallerVersion=500</DefineConstants>
|
||||||
|
<DefineConstants Condition=" '$(Platform)' != 'arm64' ">$(DefineConstants);InstallerVersion=200</DefineConstants>
|
||||||
|
|
||||||
<DefineConstants>$(DefineConstants);MajorVersion=$(AspNetCoreMajorVersion)</DefineConstants>
|
<DefineConstants>$(DefineConstants);MajorVersion=$(AspNetCoreMajorVersion)</DefineConstants>
|
||||||
<DefineConstants>$(DefineConstants);MinorVersion=$(AspNetCoreMinorVersion)</DefineConstants>
|
<DefineConstants>$(DefineConstants);MinorVersion=$(AspNetCoreMinorVersion)</DefineConstants>
|
||||||
<DefineConstants>$(DefineConstants);Version=$(Version)</DefineConstants>
|
<DefineConstants>$(DefineConstants);Version=$(Version)</DefineConstants>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue