aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTero Heikkinen <[email protected]>2025-04-15 08:33:48 +0300
committerTero Heikkinen <[email protected]>2025-07-03 15:31:23 +0300
commit657ac0bcbbdeb4589e5c37afce43c0c38d2a2017 (patch)
tree6fe550e189dfca2d19f576feb516cc9d3f7f3758
parente1ca774333f8be610fa4e82f931cecb1b5a72039 (diff)
Add Windows 11 23h2 ARM with non-blocking tests in CIHEADdev
New targets: - windows-11_23h2-arm64-msvc2022 - windows-11-x86_64-arm64-tests-23H2 With latest versions - Visual Studio Professional 2022: 17.14.7 - MSVC: 14.44.35207 OpenGL is still disabled, but 'OpenCL, OpenGL, and Vulkan Compatibility pack' has been installed to WoA 11 23h2 Tier1 image to support OpenGL usage with QtWebengine, Qt3D etc. These targets will be added later: - windows-11_23h2-arm64-msvc2022-minimal-static-test - Windows-MSVC2022-arm64_Static-23H2 [CI Platforms] Task-number: QTQAINFRA-6973 Change-Id: I049f84ad7df91cd62e7f40044d8ef40705ac34e1 Reviewed-by: Simo Fält <[email protected]>
-rw-r--r--coin/platform_configs/cmake_platforms.yaml21
-rw-r--r--coin/pre-provisioning/qtci-windows-11_23H2-aarch64/README_MANUAL_INSTALLATIONS90
-rw-r--r--coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-clean-manager.ps18
-rw-r--r--coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-defragment.ps142
-rw-r--r--coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-ntp.ps14
-rw-r--r--coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-schedule-tasks.ps172
-rw-r--r--coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-smart-app-control.ps14
-rw-r--r--coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-update-orchestrator.ps113
-rw-r--r--coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-windefender.ps121
-rw-r--r--coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-windows-file-protector.ps14
-rw-r--r--coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-windows-update-medic.ps125
-rw-r--r--coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-windows-updates.ps124
-rw-r--r--coin/pre-provisioning/qtci-windows-11_23H2-aarch64/msvc2022.txt81
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/00-certificate-updates.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/00-install-sevenzip.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/01-allow-remote-desktop-access.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/01-change-resolution.ps128
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/01-disable-notifications.ps19
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/01-disable-runtimebroker.ps14
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/01-disable-windows-delivery-optimization.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/01-disable-windows-mdns.ps15
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/01-disable-windows-telemetry.ps17
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/01-enable-guest-logon.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/01-install_telegraf.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/01-mount-vcpkg-cache-drive.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/01-set-proxy.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/02-disable-autoreboot.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/02-disable-sleep.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/03-nodejs.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/05-enable-devmode.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/05-wsearch-off.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/06-longpath.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/06-mesa_llvmpipe.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/06-ninja.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/08-install-git.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/08-install-jdk.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/08-libclang.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/08-python3.ps19
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/09-install-dependencywalker.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/09-install-openssh.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/09-install-sed.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/09-openssl-arm64.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/09-openssl.ps14
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/09-set-network-test-server.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/09-vulkansdk.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/10-install-msys2.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/100-winappsdk.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/12-install-golang.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/22-mqtt_broker.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/23-winrtrunner.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/25-llvm-mingw.ps120
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/29-libusb.ps13
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/35-install-breakpad.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/36-install-gnuwin32.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/60-jom.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/70-cmake.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/85-disable_quickedit_powershell.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/90-3dstudio_3rdparty.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/90-install-dotnet.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/90-install-ffmpeg.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/90-install-notepad++.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/90-install-stm32cubeprogrammer.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/90-libusb.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/90-python-modules.ps15
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/90-squish.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/91-install-azure-tool.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/93-install-vcpkg.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/94-install-vcpkg-ports.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/96-disable-windows-module-installer.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/98-unset-proxy.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/99-share-test-folders.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-aarch64/99-version.ps11
72 files changed, 557 insertions, 0 deletions
diff --git a/coin/platform_configs/cmake_platforms.yaml b/coin/platform_configs/cmake_platforms.yaml
index 23be2d413..1ace2b28d 100644
--- a/coin/platform_configs/cmake_platforms.yaml
+++ b/coin/platform_configs/cmake_platforms.yaml
@@ -200,6 +200,20 @@ Configurations:
'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}',
]
-
+ Id: 'windows-11_23h2-arm64-msvc2022'
+ Template: 'qtci-windows-11_23H2-aarch64-53'
+ Compiler: 'MSVC2022'
+ Features: ['DebugAndRelease', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
+ Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib -no-opengl -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer'
+ Environment variables: [
+ 'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_arm64}}\..',
+ 'NON_QTBASE_CMAKE_ARGS= -DFEATURE_clangcpp=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC_ARM64}} -DQT_DEPLOY_FFMPEG=TRUE',
+ 'VCPKG_HOST_TRIPLET=arm64-windows-qt',
+ 'VCPKG_TARGET_TRIPLET=arm64-windows-qt',
+ 'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
+ 'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}',
+ ]
+-
Id: 'windows-11_24H2-msvc2022-arm64'
Template: 'qtci-windows-11_24H2-x86_64-71'
Compiler: 'MSVC2022'
@@ -227,6 +241,13 @@ Configurations:
Configure arguments: '-no-opengl -cross-compiled'
Platform dependency: 'windows-11_24H2-msvc2022-arm64'
-
+ Id: 'windows-11-x86_64-arm64-tests-23H2'
+ Template: 'qtci-windows-11_23H2-aarch64-53'
+ Compiler: 'MSVC2022'
+ Features: ['TestOnly', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
+ Configure arguments: '-no-opengl -cross-compiled'
+ Platform dependency: 'windows-11_24H2-msvc2022-arm64'
+-
Id: 'windows-11_24H2-msvc2022-developer-build'
Template: 'qtci-windows-11_24H2-x86_64-71'
Compiler: 'MSVC2022'
diff --git a/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/README_MANUAL_INSTALLATIONS
new file mode 100644
index 000000000..01bb28ff1
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/README_MANUAL_INSTALLATIONS
@@ -0,0 +1,90 @@
+# Follow manual pre-setup from intra to install Windows 11 ARM and virtio drivers:
+# "How to create a Windows 11 ARM tier1 image using Qemu"
+
+# Configure Windows after pre-setup
+* Enable Remote Desktop:
+ - Settings - System - Remote Desktop - On
+ - Note: Display settings cannot be changed by remote
+* Resolution set to 1280x800
+ - System > Display > Custom scaling > Advanced display
+ - 1024 x 768 is unchangable by default
+* Coin-setup:
+ - Download from https://[Coin_IP_from_build_logs]/coin/setup --> Windows Setup ARM64 .exe
+ - Open PowerShell as Administrator
+ - Run Windows Setup ARM64 .exe
+ - Verify from output that all these are OK
+ - Installing Boostrap agent
+ - Disabling fast boot
+ - Disabling firewall
+ - Disabling UAC
+ - Enabling autologin
+ - Automatic login
+ - Disabling windows updates
+* Turn off Windows defender:
+ - Microsoft Defender Antivirus turned off: Open 'gpedit.msc': 'Computer Configuration' - 'Administrative Templates' - 'Windows Components' - 'Microsoft Defender Antivirus'
+ - Edit 'Turn off Microsoft Defender Antivirus' > 'Enabled' > 'Apply'
+ - Reboot on Safe mode:
+ - Open msconfig - Boot tab - enable “Safe boot“ - apply - restart
+ - In Safe mode:
+ - Take Ownership of Defender:
+ - Open properties - Right click "C:\Program Files\Windows Defender\Platform" and select 'Properties'
+ - Open Security tab - Advanced - Owner: Change - Advanced - Find now - Select Administrators - Ok - Ok - Apply
+ - Close 'Platform Properties' window for actions to take effect and open 'Properties' again
+ - This should get 'Disable inheritance' available for the next step
+ - Remove all Permissions: Permissions tab - Select 'Disable inheritance'
+ - Remove all entries
+ -Select 'Remove all inherited permissions from this object'
+ -Select 'Replace all child object permi…' - Apply
+ - Disable Windows defender also from RegEdit:
+ - Open regedit - Navigate to 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services'
+ - Change the following folders the key Start to 4
+ - Sense (Windows defender advanced threat protection)
+ - WdBoot (Windows defender boot)
+ - WdFilter (Microsoft antimalware file system filter driver)
+ - WdNisDrv (Windows Defender Network Inspection Driver)
+ - WdNisSvc (Windows Defender Network Inspection Service)
+ - WinDefend (Windows Defender Antivirus Service)
+ - mpssvc (Windows Defender Firewall)
+ - NOTE! Without these step windows defender can't be disabled!
+ - Reboot back to normal mode
+* Background defrag disabled: 'Defragment And Optimize Drives' - 'change settings' - unchecked "run on a schedule"
+ - Run in terminal: 'schtasks /Delete /TN "Microsoft\Windows\Defrag\ScheduledDefrag"'
+ - (Running optimize drivers doesn't seem to fix the status, if there's a 10% space optimization recommended)
+* Time:
+ - Settings - System - Date & time - Time zone: '(UTC) Coordinated Universal Time'
+ - Settings - System - Date & time - "Set the time automatically: Off"
+* Regional format:
+ - Settings - Time & language - Language and region - regional format - English (United States)
+* Power saver:
+ - Settings - System - Power - Screen and sleep: set 'When plugged in, turn off my screen after' to 'never'
+* Windows search disabled:
+ - 'C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\Services' - 'Windows search' - stop & disable
+* Sysmain disabled:
+ - 'C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\Services' - 'SysMain' - stop & disable
+* Windows update:
+ - Settings - Windows Update - run available updates
+ - (Windows update2025-06 Cumulative Update for Windows 11 Version 23H2 for arm64-based Systems (KB5060999))
+ - After reboot disable windows updates:
+ - 'C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\Services' - 'Windows update' - stop & disable
+* Turn windows features on or off -> Check the "SMB 1.0/CIFS File Sharing Support"
+* Disable Windows Restore Points: Search 'Create a restore point' -> 'System Protection' tab -> Configure C: drive -> Disable & Delete restore points.
+* Disable widgets: Right click the task bar -> 'Taskbar settings' -> toggle off anything related to widgets.
+* (Restart Windows: shutdown /r)
+* Google Chrome installed for RTA
+* Virus & threat protection settings:
+ * Check that there's no active antivirus providers
+* Run .NET runtime optimization service: open terminal and run:
+ Start-Process -NoNewWindow -FilePath "C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\ngen.exe" -ArgumentList ExecuteQueuedItems -Wait
+ - It may be needed to rerun after installing Visual Studio. Just run it until it prints:
+ "All compilation targets are up to date."
+* Activate Windows
+
+# Next
+Install Visual Studio 2022 by following msvc2022.txt
+
+Proceed to install pre-provisioning scripts manually to Tier1 image
+ * Copying scripts happens easiest via Remote Desktop
+ * Ensure to have sourced scripts e.g. helpers.ps1 included
+ * If running scripts is restricted: Use these to allow scripts in Tier1
+ * Get-ExecutionPolicy -List # To check the status
+ * Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
diff --git a/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-clean-manager.ps1 b/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-clean-manager.ps1
new file mode 100644
index 000000000..45ce141f7
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-clean-manager.ps1
@@ -0,0 +1,8 @@
+# This script will disable automatic disk cleanup
+
+. "$PSScriptRoot\..\..\provisioning\common\windows\helpers.ps1"
+
+Run-Executable "reg.exe" "ADD `"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy`" /V 04 /T REG_dWORD /D 0 /F"
+
+# Maintenance task used by the system to launch a silent auto disk cleanup when running low on free disk space.
+DisableSchedulerTask "DiskCleanup\SilentCleanup"
diff --git a/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-defragment.ps1 b/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-defragment.ps1
new file mode 100644
index 000000000..f8834f35f
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-defragment.ps1
@@ -0,0 +1,42 @@
+# Copyright (C) 2025 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# Windows 7 does not have Get-ScheduledTask and Unregister-ScheduledTask
+# thus needing its own version.
+Write-Host "Disabling defragmentation"
+$version = Get-CimInstance Win32_OperatingSystem | Select-Object -ExpandProperty Caption
+if ($version -like '*Windows 7*'){
+ $pi = New-Object System.Diagnostics.ProcessStartInfo
+ $pi.FileName = "C:\Windows\System32\schtasks.exe"
+ $pi.RedirectStandardError = $true
+ $pi.UseShellExecute = $false
+ $pi.Arguments = "/Delete /TN `"\Microsoft\Windows\Defrag\ScheduledDefrag`" /F"
+ $prog = New-Object System.Diagnostics.Process
+ $prog.StartInfo = $pi
+ $prog.Start() | Out-Null
+ $err = $prog.StandardError.ReadToEnd()
+ $prog.WaitForExit()
+ if ($prog.ExitCode -eq 0){
+ Write-Host "Scheduled defragmentation removed"
+ } else {
+ if ($err -like '*cannot find the file*'){
+ Write-Host "No scheduled defragmentation task found"
+ exit 0
+ } else {
+ Write-Host "Error while deleting scheduled defragmentation task: $err"
+ }
+ }
+}
+else {
+ try {
+ $state = (Get-ScheduledTask -ErrorAction Stop -TaskName "ScheduledDefrag").State
+ Write-Host "Scheduled defragmentation task found in state: $state"
+ }
+ catch {
+ Write-Host "No scheduled defragmentation task found"
+ exit 0
+ }
+ Write-Host "Unregistering scheduled defragmentation task"
+ Unregister-ScheduledTask -ErrorAction Stop -Confirm:$false -TaskName ScheduledDefrag
+ Write-Host "Scheduled Defragmentation task was cancelled"
+}
diff --git a/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-ntp.ps1 b/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-ntp.ps1
new file mode 100644
index 000000000..226517633
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-ntp.ps1
@@ -0,0 +1,4 @@
+. "$PSScriptRoot\..\..\provisioning\common\windows\helpers.ps1"
+
+# Disable the NTP from syncing
+Run-Executable "w32tm.exe" "/config /syncfromflags:NO"
diff --git a/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-schedule-tasks.ps1 b/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-schedule-tasks.ps1
new file mode 100644
index 000000000..88b838795
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-schedule-tasks.ps1
@@ -0,0 +1,72 @@
+. "$PSScriptRoot\..\..\provisioning\common\windows\helpers.ps1"
+
+# This script will remove unneeded Tasks from Task Scheduler
+
+# Application Experience 'Microsoft Compatibility Appraiser' - "Collects program telemetry information if opted-in to the Microsoft Customer Experience Improvement Program."
+DisableSchedulerTask "Application Experience\Microsoft Compatibility Appraiser"
+
+# Application Experience 'ProgramDataUpdater' - "Collects program telemetry information if opted-in to the Microsoft Customer Experience Improvement Program"
+DisableSchedulerTask "Application Experience\ProgramDataUpdater"
+
+# Autochk 'Proxy' - "This task collects and uploads autochk SQM data if opted-in to the Microsoft Customer Experience Improvement Program."
+DisableSchedulerTask "Autochk\Proxy"
+
+# Chkdsk 'ProactiveScan' - "NTFS Volume Health Scan"
+DisableSchedulerTask "Chkdsk\ProactiveScan"
+
+# Chkdsk 'SyspartRepair'
+DeleteSchedulerTask "Chkdsk\SyspartRepair"
+
+# Customer Experience Improvement Program 'Consolidator' - "If the user has consented to participate in the Windows Customer Experience Improvement Program, this job collects and sends usage data to Microsoft."
+DisableSchedulerTask "Customer Experience Improvement Program\Consolidator"
+
+# Customer Experience Improvement Program 'sbCeip' - "The USB CEIP (Customer Experience Improvement Program) task collects Universal Serial Bus related statistics and information about your machine and sends it to the Windows Device Connectivity engineering group at Microsoft. The information received is used to help improve the reliability, stability, and overall functionality of USB in Windows. If the user has not consented to participate in Windows CEIP, this task does not do anything."
+DisableSchedulerTask "Customer Experience Improvement Program\UsbCeip"
+
+# Device Information 'Device'
+DisableSchedulerTask "Device Information\Device"
+
+# Diagnosis 'Scheduled' - "The Windows Scheduled Maintenance Task performs periodic maintenance of the computer system by fixing problems automatically or reporting them through Security and Maintenance."
+DisableSchedulerTask "Diagnosis\Scheduled"
+
+# DiskDiagnostic 'Microsoft-Windows-DiskDiagnosticDataCollector' - "The Windows Disk Diagnostic reports general disk and system information to Microsoft for users participating in the Customer Experience Program."
+DisableSchedulerTask "DiskDiagnostic\Microsoft-Windows-DiskDiagnosticDataCollector"
+
+# ExploitGuard 'ExploitGuard MDM policy Refresh' - "Task for applying changes to the machine's Exploit Protection settings."
+DisableSchedulerTask "ExploitGuard\ExploitGuard MDM policy Refresh"
+
+# Feedback/Siuf 'DmClient'
+DisableSchedulerTask "Feedback\Siuf\DmClient"
+
+# Feedback/Siuf 'DmClient'OnScenarioDownload'
+DisableSchedulerTask "Feedback\Siuf\DmClientOnScenarioDownload"
+
+# File Classification Infrastructure 'Property Definition Sync'
+DisableSchedulerTask "File Classification Infrastructure\Property Definition Sync"
+
+# InstallService 'ScanForUpdates'
+DisableSchedulerTask "InstallService\ScanForUpdates"
+
+# InstallService 'ScanForUpdatesAsUser'
+DisableSchedulerTask "InstallService\ScanForUpdatesAsUser"
+
+# LanguageComponentsInstaller 'Installation' - "Install language components that match the user's language list."
+DisableSchedulerTask "LanguageComponentsInstaller\Installation"
+
+# LanguageComponentsInstaller 'ReconcileLanguageResources' - "Install language components that match the user's language list."
+DisableSchedulerTask "LanguageComponentsInstaller\ReconcileLanguageResources"
+
+# PI 'Secure-Boot-Update' - "This task updates the Secure Boot variables."
+DisableSchedulerTask "PI\Secure-Boot-Update"
+
+# PI 'Sqm-Tasks' - "This task gathers information about the Trusted Platform Module (TPM), Secure Boot, and Measured Boot."
+DisableSchedulerTask "PI\Sqm-Tasks"
+
+# Power Efficiency Diagnotics 'AnalyzeSystem' - "This task analyzes the system looking for conditions that may cause high energy use."
+DisableSchedulerTask "PushToInstall\Registration"
+
+# Servicing 'StartComponentCleanup'
+DisableSchedulerTask "Servicing\StartComponentCleanup"
+
+# SoftwareProtectionPlatform 'SvcRestartTaskNetwork' - "This task restarts the Software Protection Platform service when a new network is detected"
+DisableSchedulerTask "SoftwareProtectionPlatform\SvcRestartTaskNetwork"
diff --git a/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-smart-app-control.ps1 b/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-smart-app-control.ps1
new file mode 100644
index 000000000..27c7d0789
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-smart-app-control.ps1
@@ -0,0 +1,4 @@
+# Disable Smart app control
+# Smart app control makes installations extremely slow after defender is disabled.
+reg.exe ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CI\Policy" /V VerifiedAndReputablePolicyState /T REG_dWORD /D 0 /F
+# Verify: Settings -> Privacy & security -> Windows security -> App & browser control -> Smart App Control settings -> Off
diff --git a/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-update-orchestrator.ps1 b/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-update-orchestrator.ps1
new file mode 100644
index 000000000..72473d8f6
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-update-orchestrator.ps1
@@ -0,0 +1,13 @@
+# Disable UpdateOrchestrator
+
+$name = "UpdateOrchestrator"
+$path = "C:\Windows\System32\Tasks\Microsoft\Windows\$name"
+
+takeown /F $path /A /R
+icacls $path /grant Administrators:F /T
+del "$path\Schedule Scan"
+del "$path\Schedule Scan Static Task"
+del "$path\USO_UxBroker"
+
+# Disable Update orchestrator service
+reg.exe ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UsoSvc" /V Start /T REG_dWORD /D 4 /F
diff --git a/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-windefender.ps1 b/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-windefender.ps1
new file mode 100644
index 000000000..36258f638
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-windefender.ps1
@@ -0,0 +1,21 @@
+# Copyright (C) 2025 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# Turning off win defender.
+#
+# If disabled manually, windows will automatically enable it after
+# some period of time. Disabling it speeds up the builds.
+# NOTE! Windows Defender Antivirus needs to be turned off!
+# Open 'gpedit.msc': 'Computer Configuration' - 'Administrative Templates' - 'Windows Components' - 'Windows Defender Antivirus'
+# Edit 'Turn off Windows Defender Antivirus' > 'Enabled' > 'Apply'
+
+. "$PSScriptRoot\..\..\provisioning\common\windows\helpers.ps1"
+
+Run-Executable "reg.exe" "ADD `"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender`" /V DisableAntiSpyware /T REG_dWORD /D 1 /F"
+Run-Executable "reg.exe" "ADD `"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender`" /V DisableRoutinelyTakingAction /T REG_dWORD /D 1 /F"
+
+# Disable 'QueueReporting' - "Windows Error Reporting task to process queued reports."
+DisableSchedulerTask "Windows Error Reporting\QueueReporting"
+
+# Disable WindowsUpdate from Task Scheduler
+DisableSchedulerTask "WindowsUpdate\Scheduled Start"
diff --git a/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-windows-file-protector.ps1 b/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-windows-file-protector.ps1
new file mode 100644
index 000000000..f1d09fb5b
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-windows-file-protector.ps1
@@ -0,0 +1,4 @@
+# Disable Windows File Protection
+# Windows File Protection feature in Microsoft Windows prevents programs from replacing critical Windows system files.
+
+reg.exe ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /V SFCDisable /T REG_dWORD /D 0xffffff9d /F
diff --git a/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-windows-update-medic.ps1 b/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-windows-update-medic.ps1
new file mode 100644
index 000000000..6accbd3ba
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-windows-update-medic.ps1
@@ -0,0 +1,25 @@
+# Windows Update Medic Service (WaaSMedicSvc)'PerformRemediation' helps recover update-related services to the supported configuration.
+# WaasMedicSvc keeps re-starting Windows Update, even if it disabled manually.
+# Even Admin user don't have privileged to disable PerformRemediation from Task Scheduler which means that WaaSMedicSvc.dll need's to be removed from the system
+
+$limit = (Get-Date).AddMinutes(20)
+$path = "C:\Windows\System32\WaaSMedicSvc.dll"
+
+DO {
+ takeown /F $path
+ icacls $path /grant Administrators:f
+ Write-host "Deleting $path"
+
+ Try {
+ del $path
+ }
+ Catch [System.UnauthorizedAccessException] {
+ Write-host "Access to the path '$path' is denied."
+ Continue
+ }
+
+ if ((Get-Date) -gt $limit) {
+ exit 1
+ }
+
+}while (Test-Path -Path "$path")
diff --git a/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-windows-updates.ps1 b/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-windows-updates.ps1
new file mode 100644
index 000000000..62e19814c
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-windows-updates.ps1
@@ -0,0 +1,24 @@
+# Copyright (C) 2017 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script disables the automatic Windows updates
+
+$service = get-service wuauserv
+if (-not $service) {
+ Write-Host "Windows Update service not found."
+ exit 0
+}
+
+if ($service.Status -eq "Stopped") {
+ Write-Host "Windows Update service already stopped."
+} else {
+ Write-Host "Stopping Windows Update service."
+ Stop-Service -Name "wuauserv" -Force
+}
+
+$startup = Get-WmiObject Win32_Service | Where-Object {$_.Name -eq "wuauserv"} | Select -ExpandProperty "StartMode"
+if ($startup -ne "Disabled") {
+ set-service wuauserv -startup disabled
+} else {
+ Write-Host "Windows Update service startup already disabled."
+}
diff --git a/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/msvc2022.txt b/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/msvc2022.txt
new file mode 100644
index 000000000..3a5bd3ecb
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/msvc2022.txt
@@ -0,0 +1,81 @@
+### Visual Studio Professional 2022 Official release ###
+Visual Studio Professional 2022 version 17.14.7 was installed manually using installer: http://ci-files01-hki.ci.qt.io/input/windows/vs_professional__msvc2022_1339502178.1525841376.exe
+This VS installer 17.14.7 version sets (Latest) MSVC version as: 14.44.35207
+
+Installed MSVC-2022 Components:
+
+.NET Framework 4.8.1 targeting pack
+.NET Framework 4.8.1 SDK
+.NET Framework 4.8 targeting pack
+.NET Framework 4.8 SDK
+.NET Native
+.NET Portable Library targeting pack
+CLR data types for SQL Server
+Data sources for SQL Server support
+SQL Server Command Linne Utilities
+SQL Server Data Tools
+SQL Server Express 2019 LocalDB
+SQL Server ODBC Driver
+ClickOnce Publishing
+Developer Analytics tools
+NuGet package manager
+Text Template Transformation
+C# and Visual Basic Roslyn compilers
+C++ 2022 Redistributable Update
+C++ Cmake tools for Windows
+C++/CLI support for v143 build tools (14.44-17.14)
+C++/CLI support for v143 build tools (Latest)
+MSBuild
+MSVC v143 - VS 2022 C++ ARM64/ARM64EC build tools (Latest)
+MSVC v143 - VS 2022 C++ ARM64/ARM64EC build tools (v14.44-17.14)
+.NET profiling tools
+C++ profiling tools
+JavaScript diagnostics
+Just-In-Time debugger
+C# and Visual Basic
+C++ core features
+JavaScript and TypeScript language support
+Razor Language Services
+Image and 3D model editors
+C++ ATL for latest v143 build tools (ARM)
+C++ ATL for latest v143 build tools (ARM64/ARM64EC)
+TypeScript Server
+Windows 10 SDK (10.0.18362.0)
+Windows 10 SDK (10.0.19041.0)
+Windows 10 SDK (10.0.20348.0)
+Windows 11 SDK (10.0.22000.0)
+Windows 11 SDK (10.0.22621.0)
+Windows 11 SDK (10.0.26100.3916) # This was available --> installed for COIN-1206 (see later comment)
+Windows Universal C Runtime
+
+Windows SDK (10.0.26100.1742) has been earlier downloaded for WoA 22h2 and installed from:
+https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/
+# COIN-1206
+
+These Components were not found for WoA:
+
+Connectivity and publishing tools
+Graphics debugger and GPU profiler for DirectX
+TypeScript 4.7 SDK
+
+# NOTE! Workloads were added during installation!
+
+############################################################
+### Visual Studio 2022 build tools ###
+
+ Visual studio 2022 build tools version 17.14.7 was installed manually using installer: "http://ci-files01-hki.ci.qt.io/input/windows/vs_BuildTools_msvc2022.exe"
+ * Only default installation, no additional selections
+
+# NOTE! Installing Visual Studio on ARM-powered device is not supported
+ * Otherwise Visual Studio might be slow or unusable
+ * Installer recommends "remote targeting" which is suitable for cross-platform development
+ * VS 2022 build tools has been installed as it is - VS has ARM support since 17.4, but not full support with some workloads
+ * https://learn.microsoft.com/en-us/visualstudio/install/visual-studio-on-arm-devices?view=vs-2022#supported-workloads
+
+############################################################
+### Debugging tools ###
+
+* Check that debugging tools are installed in all installed Windows SDK versions
+ * Modify 'Windows Software Development Kit - Windows <version number>' from 'Add or remove programs'
+ - Add feature 'Debugging Tools for Windows'
+############################################################
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/00-certificate-updates.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/00-certificate-updates.ps1
new file mode 100644
index 000000000..3691baf20
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/00-certificate-updates.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\certificate-updates.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/00-install-sevenzip.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/00-install-sevenzip.ps1
new file mode 100644
index 000000000..a90442568
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/00-install-sevenzip.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-sevenzip.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/01-allow-remote-desktop-access.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/01-allow-remote-desktop-access.ps1
new file mode 100644
index 000000000..af05e838e
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/01-allow-remote-desktop-access.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\allow-remote-desktop-access.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/01-change-resolution.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/01-change-resolution.ps1
new file mode 100644
index 000000000..c1e73a62d
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/01-change-resolution.ps1
@@ -0,0 +1,28 @@
+$x_value = "1280"
+$y_value = "800"
+
+Function ChangeResolution {
+ Param (
+ [string]$driver
+ )
+
+ $path = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration"
+
+ reg.exe ADD "$path\$driver\00\" /V PrimSurfSize.cx /T REG_dWORD /D $x_value /F
+ reg.exe ADD "$path\$driver\00\" /V PrimSurfSize.cy /T REG_dWORD /D $y_value /F
+ reg.exe ADD "$path\$driver\00\00" /V DwmClipBox.bottom /T REG_dWORD /D $y_value /F
+ reg.exe ADD "$path\$driver\00\00" /V DwmClipBox.right /T REG_dWORD /D $x_value /F
+ reg.exe ADD "$path\$driver\00\00" /V PrimSurfSize.cx /T REG_dWORD /D $x_value /F
+ reg.exe ADD "$path\$driver\00\00" /V PrimSurfSize.cy /T REG_dWORD /D $y_value /F
+ reg.exe ADD "$path\$driver\00\00" /V ActiveSize.cy /T REG_dWORD /D $y_value /F
+ reg.exe ADD "$path\$driver\00\00" /V ActiveSize.cx /T REG_dWORD /D $x_value /F
+
+}
+
+Write-Host "Changing the resolution to ${x_value}x${y_value}"
+ChangeResolution "MSBDD_NOEDID_1234_1111_00000000_00020000_0^E3701873EC28AFCFF631E725354CDC2D"
+ChangeResolution "MSBDD_NOEDID_15AD_0405_00000000_000F0000_0^C13AE38966E73205F75BFACA84EB83A5"
+ChangeResolution "MSBDD_RHT12340_2A_07DE_3A_1234_1111_00000000_00020000_0^EC6E4468E7627A114F1F86EA72F3C134"
+ChangeResolution "MSBDD_RHT12340_2A_07DE_3D_1234_1111_00000000_00010000_0^4189234F4C5A30C0FE2E08AED7E5F516"
+ChangeResolution "MSBDD_RHT12340_2A_07DE_3D_1234_1111_00000000_00020000_0^0E45B5CD7061674FC90A8064A6FE81F4"
+ChangeResolution "MSNILNOEDID_1414_008D_FFFFFFFF_FFFFFFFF_0^030B4FCE00727AC1593E5B6FD18648D6"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/01-disable-notifications.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/01-disable-notifications.ps1
new file mode 100644
index 000000000..ada20147d
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/01-disable-notifications.ps1
@@ -0,0 +1,9 @@
+# Windows 'Notifications & actions'
+# Disable 'Get notifications from apps and other senders'
+reg.exe ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\PushNotifications" /V ToastEnabled /T REG_dWORD /D 0 /F
+
+# Disable 'Show me the Windows welcome experience after udpates and occasionally when I sign in to highlight what's new and suggested'
+reg.exe ADD "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /V SubscribedContent-310093Enabled /T REG_dWORD /D 0 /F
+
+# Disable 'Get tips, tricks and suggestions as you use Windows'
+reg.exe ADD "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /V SubscribedContent-338389Enabled /T REG_dWORD /D 0 /F
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/01-disable-runtimebroker.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/01-disable-runtimebroker.ps1
new file mode 100644
index 000000000..8ae8190d2
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/01-disable-runtimebroker.ps1
@@ -0,0 +1,4 @@
+# Disable RunTime Broker
+# The RunTime Broker is a Windows system process, which helps to manage app permissions on your pc between Windows apps and ensures apps are behaving themselves.
+# Coordinates execution of background work for WinRT application. If this service is stopped or disabled, then background work might not be triggered.
+reg.exe ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TimeBrokerSvc" /V Start /T REG_dWORD /D 4 /F
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/01-disable-windows-delivery-optimization.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/01-disable-windows-delivery-optimization.ps1
new file mode 100644
index 000000000..908df46fd
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/01-disable-windows-delivery-optimization.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-windows-delivery-optimization.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/01-disable-windows-mdns.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/01-disable-windows-mdns.ps1
new file mode 100644
index 000000000..bffb9f054
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/01-disable-windows-mdns.ps1
@@ -0,0 +1,5 @@
+# Copyright (C) 2025 The Qt Company Ltd
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# QTQAINFRA-6761
+. "$PSScriptRoot\..\common\windows\disable-windows-mdns.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/01-disable-windows-telemetry.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/01-disable-windows-telemetry.ps1
new file mode 100644
index 000000000..3f5a75f47
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/01-disable-windows-telemetry.ps1
@@ -0,0 +1,7 @@
+# Disable Connected User Experiences and Telemetry service
+# The Connected User Experiences and Telemetry service enables features that support in-application and connected user experiences.
+# Additionally, this service manages the event driven collection and transmission of diagnostic and usage information
+# (used to improve the experience and quality of the Windows Platform) when the diagnostics and usage privacy option settings are enabled under Feedback and Diagnostics.
+reg.exe ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Data Collection" /V AllowTelemetry /T REG_dWORD /D 0 /F
+stop-service diagtrack
+set-service diagtrack -startuptype disabled
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/01-enable-guest-logon.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/01-enable-guest-logon.ps1
new file mode 100644
index 000000000..3cf989d37
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/01-enable-guest-logon.ps1
@@ -0,0 +1,2 @@
+# Allow SMB client guest logons to SMB server.
+reg.exe ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /V AllowInsecureGuestAuth /T REG_dWORD /D 1 /F
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/01-install_telegraf.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/01-install_telegraf.ps1
new file mode 100644
index 000000000..77fa8cbfe
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/01-install_telegraf.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install_telegraf.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/01-mount-vcpkg-cache-drive.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/01-mount-vcpkg-cache-drive.ps1
new file mode 100644
index 000000000..97dbd7d6b
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/01-mount-vcpkg-cache-drive.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\mount-vcpkg-cache-drive.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/01-set-proxy.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/01-set-proxy.ps1
new file mode 100644
index 000000000..13b1ec602
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/01-set-proxy.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\set-proxy.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/02-disable-autoreboot.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/02-disable-autoreboot.ps1
new file mode 100644
index 000000000..73430b761
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/02-disable-autoreboot.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-autoreboot.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/02-disable-sleep.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/02-disable-sleep.ps1
new file mode 100644
index 000000000..5bf811efb
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/02-disable-sleep.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-sleep.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/03-nodejs.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/03-nodejs.ps1
new file mode 100644
index 000000000..6032e9456
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/03-nodejs.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\nodejs.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/05-enable-devmode.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/05-enable-devmode.ps1
new file mode 100644
index 000000000..01e6f8b0b
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/05-enable-devmode.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\win10-enable-devmode.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/05-wsearch-off.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/05-wsearch-off.ps1
new file mode 100644
index 000000000..eed6b734f
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/05-wsearch-off.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\wsearch-off.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/06-longpath.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/06-longpath.ps1
new file mode 100644
index 000000000..6561d57b1
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/06-longpath.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\longpath.ps1"
+
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/06-mesa_llvmpipe.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/06-mesa_llvmpipe.ps1
new file mode 100644
index 000000000..1b1a07e9f
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/06-mesa_llvmpipe.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\mesa_llvmpipe.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/06-ninja.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/06-ninja.ps1
new file mode 100644
index 000000000..ba571a1ef
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/06-ninja.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\ninja.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/08-install-git.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/08-install-git.ps1
new file mode 100644
index 000000000..38106de75
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/08-install-git.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-git.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/08-install-jdk.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/08-install-jdk.ps1
new file mode 100644
index 000000000..15065b55c
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/08-install-jdk.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-jdk.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/08-libclang.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/08-libclang.ps1
new file mode 100644
index 000000000..516adaf06
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/08-libclang.ps1
@@ -0,0 +1,2 @@
+# Do not set the default LLVM_INSTALL_DIR for mingw, leave it with msvc for compat
+. "$PSScriptRoot\..\common\windows\libclang.ps1" arm64 vs2022
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/08-python3.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/08-python3.ps1
new file mode 100644
index 000000000..74cb6997f
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/08-python3.ps1
@@ -0,0 +1,9 @@
+# Parameters:
+# - Arch 32/64
+# - installer sha1
+# - install target dir
+# - version
+# - Optional true/false if set as default with PYTHON3/PIP3_PATH variables, default false
+
+# Downloading https://www.python.org/ftp/python/3.11.9/python-3.11.9-arm64.exe
+. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "9e0487af5f0472978b7b6d4f4d3d8fd56865ff97" "C:\Python311_64" "3.11.9" $true
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/09-install-dependencywalker.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/09-install-dependencywalker.ps1
new file mode 100644
index 000000000..331de4895
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/09-install-dependencywalker.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-dependencywalker.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/09-install-openssh.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/09-install-openssh.ps1
new file mode 100644
index 000000000..9de844da1
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/09-install-openssh.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-openssh.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/09-install-sed.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/09-install-sed.ps1
new file mode 100644
index 000000000..b3c8fded3
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/09-install-sed.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-sed.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/09-openssl-arm64.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/09-openssl-arm64.ps1
new file mode 100644
index 000000000..c1bbf2710
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/09-openssl-arm64.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\openssl-arm64.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/09-openssl.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/09-openssl.ps1
new file mode 100644
index 000000000..db3013e05
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/09-openssl.ps1
@@ -0,0 +1,4 @@
+# Windows ARM has own common script
+# - "$PSScriptRoot\..\common\windows\openssl-arm64.ps1"
+# - need to check should these be combined or excluded
+#. "$PSScriptRoot\..\common\windows\openssl.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/09-set-network-test-server.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/09-set-network-test-server.ps1
new file mode 100644
index 000000000..7918fabfa
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/09-set-network-test-server.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\set-network-test-server.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/09-vulkansdk.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/09-vulkansdk.ps1
new file mode 100644
index 000000000..54a3d563d
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/09-vulkansdk.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\vulkansdk.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/10-install-msys2.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/10-install-msys2.ps1
new file mode 100644
index 000000000..be9a36349
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/10-install-msys2.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-msys2.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/100-winappsdk.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/100-winappsdk.ps1
new file mode 100644
index 000000000..0d20b1eed
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/100-winappsdk.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\winappsdk.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/12-install-golang.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/12-install-golang.ps1
new file mode 100644
index 000000000..c68f16a15
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/12-install-golang.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-golang.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/22-mqtt_broker.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/22-mqtt_broker.ps1
new file mode 100644
index 000000000..71deb0d48
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/22-mqtt_broker.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\mqtt_broker.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/23-winrtrunner.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/23-winrtrunner.ps1
new file mode 100644
index 000000000..078f862ef
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/23-winrtrunner.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\winrtrunner.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/25-llvm-mingw.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/25-llvm-mingw.ps1
new file mode 100644
index 000000000..9ce915213
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/25-llvm-mingw.ps1
@@ -0,0 +1,20 @@
+# Copyright (C) 2024 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+. "$PSScriptRoot\..\common\windows\helpers.ps1"
+
+# This script installs LLVM-Mingw by mstorsjo
+# https://github.com/mstorsjo/llvm-mingw/releases/tag/20240320
+
+$zip = Get-DownloadLocation "llvm-mingw-20240320-ucrt-aarch64.zip"
+$url_cache = "http://ci-files01-hki.ci.qt.io/input/windows/llvm-mingw-20240320-ucrt-aarch64.zip"
+$url_official = "https://github.com/mstorsjo/llvm-mingw/releases/download/20240320/llvm-mingw-20240320-ucrt-aarch64.zip"
+
+Download $url_official $url_cache $zip
+Verify-Checksum $zip "1ea4870551a6aaf0d51332be1ea10ce776ee3b42"
+Extract-7Zip $zip C:\
+
+Rename-Item C:\llvm-mingw-20240320-ucrt-aarch64 C:\llvm-mingw
+
+Write-Output "llvm-mingw = 18.1.2" >> ~/versions.txt
+Remove-Item -Path $zip
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/29-libusb.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/29-libusb.ps1
new file mode 100644
index 000000000..6035912d0
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/29-libusb.ps1
@@ -0,0 +1,3 @@
+
+
+. "$PSScriptRoot\..\common\windows\libusb.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/35-install-breakpad.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/35-install-breakpad.ps1
new file mode 100644
index 000000000..9360a326c
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/35-install-breakpad.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-breakpad.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/36-install-gnuwin32.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/36-install-gnuwin32.ps1
new file mode 100644
index 000000000..0e2abbac2
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/36-install-gnuwin32.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\install-gnuwin32.ps1"
+
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/60-jom.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/60-jom.ps1
new file mode 100644
index 000000000..b246ce256
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/60-jom.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\jom.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/70-cmake.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/70-cmake.ps1
new file mode 100644
index 000000000..73dc7bc29
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/70-cmake.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\cmake.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/85-disable_quickedit_powershell.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/85-disable_quickedit_powershell.ps1
new file mode 100644
index 000000000..547e15a88
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/85-disable_quickedit_powershell.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-quickedit.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/90-3dstudio_3rdparty.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/90-3dstudio_3rdparty.ps1
new file mode 100644
index 000000000..114f52f99
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/90-3dstudio_3rdparty.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\3dstudio_3rdparty.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/90-install-dotnet.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/90-install-dotnet.ps1
new file mode 100644
index 000000000..a2ecfba2b
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/90-install-dotnet.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\install-dotnet.ps1"
+
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/90-install-ffmpeg.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/90-install-ffmpeg.ps1
new file mode 100644
index 000000000..cd8df72f9
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/90-install-ffmpeg.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-ffmpeg.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/90-install-notepad++.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/90-install-notepad++.ps1
new file mode 100644
index 000000000..455d92bf0
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/90-install-notepad++.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-notepad++.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/90-install-stm32cubeprogrammer.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/90-install-stm32cubeprogrammer.ps1
new file mode 100644
index 000000000..25c2bb422
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/90-install-stm32cubeprogrammer.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-stm32cubeprogrammer.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/90-libusb.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/90-libusb.ps1
new file mode 100644
index 000000000..29a1cfa40
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/90-libusb.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\libusb.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/90-python-modules.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/90-python-modules.ps1
new file mode 100644
index 000000000..adf9e30b5
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/90-python-modules.ps1
@@ -0,0 +1,5 @@
+. "$PSScriptRoot\..\common\windows\helpers.ps1"
+
+# Needed by packaging scripts
+$scriptsPath = [System.Environment]::GetEnvironmentVariable('PIP3_PATH', [System.EnvironmentVariableTarget]::Machine)
+Run-Executable "$scriptsPath\pip3.exe" "install bs4"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/90-squish.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/90-squish.ps1
new file mode 100644
index 000000000..ff7588459
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/90-squish.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\squishInstall.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/91-install-azure-tool.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/91-install-azure-tool.ps1
new file mode 100644
index 000000000..f1d5acc39
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/91-install-azure-tool.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-azure-tool.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/93-install-vcpkg.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/93-install-vcpkg.ps1
new file mode 100644
index 000000000..55d573fad
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/93-install-vcpkg.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-vcpkg.ps1" -arch arm64
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/94-install-vcpkg-ports.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/94-install-vcpkg-ports.ps1
new file mode 100644
index 000000000..c2c36f3f1
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/94-install-vcpkg-ports.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-vcpkg-ports.ps1" -arch arm64
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/96-disable-windows-module-installer.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/96-disable-windows-module-installer.ps1
new file mode 100644
index 000000000..fb8ec5415
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/96-disable-windows-module-installer.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-windows-module-installer.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/98-unset-proxy.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/98-unset-proxy.ps1
new file mode 100644
index 000000000..0c25a0fb1
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/98-unset-proxy.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\unset-proxy.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/99-share-test-folders.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/99-share-test-folders.ps1
new file mode 100644
index 000000000..576fcfdc3
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/99-share-test-folders.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\share-test-folders.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-aarch64/99-version.ps1 b/coin/provisioning/qtci-windows-11_23H2-aarch64/99-version.ps1
new file mode 100644
index 000000000..36e498bcf
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-aarch64/99-version.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\version.ps1"