diff options
Diffstat (limited to 'coin/provisioning/common/windows/exceutequeueditems.ps1')
-rw-r--r-- | coin/provisioning/common/windows/exceutequeueditems.ps1 | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/coin/provisioning/common/windows/exceutequeueditems.ps1 b/coin/provisioning/common/windows/exceutequeueditems.ps1 index 28ed007f..0d6a7267 100644 --- a/coin/provisioning/common/windows/exceutequeueditems.ps1 +++ b/coin/provisioning/common/windows/exceutequeueditems.ps1 @@ -2,8 +2,29 @@ # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only . "$PSScriptRoot\helpers.ps1" -Start-Process -NoNewWindow -FilePath "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\ngen.exe" -ArgumentList ExecuteQueuedItems -Wait +function ngen() { + Param ( + [ValidateSet("Framework","Framework64","FrameworkArm64")][string]$framework + ) + Start-Process -NoNewWindow -FilePath "C:\WINDOWS\Microsoft.NET\$framework\v4.0.30319\ngen.exe" -ArgumentList ExecuteQueuedItems -Wait +} -if( (is64bitWinHost) -eq 1 ) { - Start-Process -NoNewWindow -FilePath "C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\ngen.exe" -ArgumentList ExecuteQueuedItems -Wait +$cpu_arch = Get-CpuArchitecture +switch ($cpu_arch) { + arm64 { + ngen("FrameworkArm64") + Break + } + x64 { + ngen("Framework") + ngen("Framework64") + Break + } + x86 { + ngen("Framework") + Break + } + default { + throw "Unknown architecture $cpu_arch" + } } |