aboutsummaryrefslogtreecommitdiffstats
path: root/coin/provisioning/common/windows/exceutequeueditems.ps1
diff options
context:
space:
mode:
Diffstat (limited to 'coin/provisioning/common/windows/exceutequeueditems.ps1')
-rw-r--r--coin/provisioning/common/windows/exceutequeueditems.ps127
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"
+ }
}