aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHeikki Halmet <heikki.halmet@qt.io>2021-12-27 18:10:44 +0200
committerHeikki Halmet <heikki.halmet@qt.io>2021-12-29 08:42:22 +0200
commitc34960c8bd5de5887caca5a8f1a65d2f2d3ef2ca (patch)
treead227a84b6493bbf091658a08ccbb27f795fdc0e
parentc38679a51e7c9414f35696001465a8660dc32af1 (diff)
Add pre-provisioning files for Windows 10 21H2
Change-Id: I9e6e1423b1e287aff0be8ea2b29c95838ed10de5 Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H2-x86_64/01-enable-dotnet-framework.ps122
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H2-x86_64/README_MANUAL_INSTALLATIONS51
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-clean-manager.ps18
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-defragment.ps178
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-ntp.ps14
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-schedule-tasks.ps186
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-update-orchestrator.ps114
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-windefender.ps157
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-windows-file-protector.ps14
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-windows-update-medic.ps125
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-windows-updates.ps160
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H2-x86_64/msvc2015_update.txt15
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H2-x86_64/msvc2019.txt77
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H2-x86_64/msvc2022.txt72
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H2-x86_64/virtio.txt31
15 files changed, 604 insertions, 0 deletions
diff --git a/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/01-enable-dotnet-framework.ps1 b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/01-enable-dotnet-framework.ps1
new file mode 100644
index 00000000..e7f4c248
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/01-enable-dotnet-framework.ps1
@@ -0,0 +1,22 @@
+# The DirectX SDK installer requires .Net framework 3.5 which isn't installed
+# by default
+
+$netFeature = "NetFx3"
+try {
+ $netFeatureState = (Get-WindowsOptionalFeature -Online -FeatureName "$netFeature").State
+ if ($netFeatureState -eq "Enabled") {
+ Write-Host ".Net Framework is already installed"
+ exit 0
+ }
+} catch {
+ Write-Host "Could not find .Net Framework Windows feature."
+ exit 1
+}
+
+Write-Host "Installing .Net Framework client"
+try {
+ Enable-WindowsOptionalFeature -Online -FeatureName "$netFeature" -All -NoRestart
+} catch {
+ Write-Host "Could not install .Net framework"
+ exit 1
+}
diff --git a/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/README_MANUAL_INSTALLATIONS
new file mode 100644
index 00000000..6867aa76
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/README_MANUAL_INSTALLATIONS
@@ -0,0 +1,51 @@
+# List about manual pre-installations to Tier1 image:
+
+VM Options:
+Boot options/Firmware: BIOS
+
+Language to install: English UK
+Time and currency format: English UK
+Keyboard or input method: United Kingdom
+location: finnish
+Windows 10 Enterprise
+Region: Finland
+Keyboard layout: United Kingdom
+
+* Let Microsoft and apps use your location: no
+* Find my devicer: no
+* Send diagnostic data to Microsoft: Send required diagnostic data
+* Imporve inking & typing: no
+* Get tailored expreriences with diagnostic data: no
+* Let apps use advertising ID: no
+
+* Resolution set to 1280x800
+* Coin-setup:
+ - Installing Boostrap agent
+ - Disabling fast boot
+ - Disabling firewall
+ - Disabling UAC
+ - Enabling autologin
+ - Automatic login
+ - Disabling windows updates
+* 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'
+ - NOTE! Without this step windows defender can't be disabled!
+* Remote connections allowed:
+ - Enable Remote Desktop
+* Background defrag disabled: 'Defragment And Optimize Drives' - 'change settings' - unchecked "run on a schedule"
+ - Run in terminal: 'schtasks /Delete /TN "Microsoft\Windows\Defrag\ScheduledDefrag"'
+* Time zone: 'Co-ordinated Universal Time'
+* Windows search disabled: 'Control Panel\System and Security\Administrative Tools\Services' - 'Windows search' - stop & disable
+* Sysmain disabled: 'Control Panel\System and Security\Administrative Tools\Services' - 'SysMain' - stop & disable
+* Power saver disabled: Open 'Power & sleep settings'
+ - Power & sleep - Never
+* Turn windows features on or off -> Check the "SMB 1.0/CIFS File Sharing Support
+* (Restart Windows)
+* Google Chrome installed for RTA
+* Virus & threat protection settings:
+ * Check that there's no active antivirus providers
+* From 'Region Settings'
+ * Set Regional format: English (United States)
+* Defragment and Optimize Drives
+ * Change settings - Uncheck "Run on schedule"
+* Activate Windows
diff --git a/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-clean-manager.ps1 b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-clean-manager.ps1
new file mode 100644
index 00000000..45ce141f
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/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-10_21H2-x86_64/disable-defragment.ps1 b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-defragment.ps1
new file mode 100644
index 00000000..fd7870c2
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-defragment.ps1
@@ -0,0 +1,78 @@
+#############################################################################
+##
+## Copyright (C) 2019 The Qt Company Ltd.
+## Contact: https://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see https://www.qt.io/terms-conditions. For further
+## information use the contact form at https://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 3 as published by the Free Software
+## Foundation and appearing in the file LICENSE.LGPL3 included in the
+## packaging of this file. Please review the following information to
+## ensure the GNU Lesser General Public License version 3 requirements
+## will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+##
+## GNU General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU
+## General Public License version 2.0 or (at your option) the GNU General
+## Public license version 3 or any later version approved by the KDE Free
+## Qt Foundation. The licenses are as published by the Free Software
+## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+## included in the packaging of this file. Please review the following
+## information to ensure the GNU General Public License requirements will
+## be met: https://www.gnu.org/licenses/gpl-2.0.html and
+## https://www.gnu.org/licenses/gpl-3.0.html.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# 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-10_21H2-x86_64/disable-ntp.ps1 b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-ntp.ps1
new file mode 100644
index 00000000..22651763
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/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-10_21H2-x86_64/disable-schedule-tasks.ps1 b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-schedule-tasks.ps1
new file mode 100644
index 00000000..666ec81e
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-schedule-tasks.ps1
@@ -0,0 +1,86 @@
+. "$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"
+
+# Ones below can't be found from Windows 10 21H1
+
+# SettingSync 'BackgroundUploadTask'
+# DeleteSchedulerTask "SettingSync\BackgroundUploadTask"
+
+# SoftwareProtectionPlatform 'SvcRestartTask' - "This task restarts the Software Protection Platform service at the specified time"
+# DeleteSchedulerTask "SoftwareProtectionPlatform\SvcRestartTask"
+
+# SoftwareProtectionPlatform 'SvcRestartTaskLogon' - "This task restarts the Software Protection Platform service at the specified time"
+# DisableSchedulerTask "SoftwareProtectionPlatform\SvcRestartTaskLogon"
+
+# UNP 'RunUpdateNotificationMgr'
+# DeleteSchedulerTask "UNP\RunUpdateNotificationMgr"
diff --git a/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-update-orchestrator.ps1 b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-update-orchestrator.ps1
new file mode 100644
index 00000000..1022c798
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-update-orchestrator.ps1
@@ -0,0 +1,14 @@
+# 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\UpdateModelTask"
+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-10_21H2-x86_64/disable-windefender.ps1 b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-windefender.ps1
new file mode 100644
index 00000000..ef44e6d4
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-windefender.ps1
@@ -0,0 +1,57 @@
+###########################################################################
+##
+## Copyright (C) 2020 The Qt Company Ltd.
+## Contact: https://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see https://www.qt.io/terms-conditions. For further
+## information use the contact form at https://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 3 as published by the Free Software
+## Foundation and appearing in the file LICENSE.LGPL3 included in the
+## packaging of this file. Please review the following information to
+## ensure the GNU Lesser General Public License version 3 requirements
+## will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+##
+## GNU General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU
+## General Public License version 2.0 or (at your option) the GNU General
+## Public license version 3 or any later version approved by the KDE Free
+## Qt Foundation. The licenses are as published by the Free Software
+## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+## included in the packaging of this file. Please review the following
+## information to ensure the GNU General Public License requirements will
+## be met: https://www.gnu.org/licenses/gpl-2.0.html and
+## https://www.gnu.org/licenses/gpl-3.0.html.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# 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-10_21H2-x86_64/disable-windows-file-protector.ps1 b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-windows-file-protector.ps1
new file mode 100644
index 00000000..f1d09fb5
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/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-10_21H2-x86_64/disable-windows-update-medic.ps1 b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-windows-update-medic.ps1
new file mode 100644
index 00000000..e8210ea3
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/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\WaaSMedicAgent.exe"
+
+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-10_21H2-x86_64/disable-windows-updates.ps1 b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-windows-updates.ps1
new file mode 100644
index 00000000..37150fc2
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-windows-updates.ps1
@@ -0,0 +1,60 @@
+############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Contact: https://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see https://www.qt.io/terms-conditions. For further
+## information use the contact form at https://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 3 as published by the Free Software
+## Foundation and appearing in the file LICENSE.LGPL3 included in the
+## packaging of this file. Please review the following information to
+## ensure the GNU Lesser General Public License version 3 requirements
+## will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+##
+## GNU General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU
+## General Public License version 2.0 or (at your option) the GNU General
+## Public license version 3 or any later version approved by the KDE Free
+## Qt Foundation. The licenses are as published by the Free Software
+## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+## included in the packaging of this file. Please review the following
+## information to ensure the GNU General Public License requirements will
+## be met: https://www.gnu.org/licenses/gpl-2.0.html and
+## https://www.gnu.org/licenses/gpl-3.0.html.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# 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-10_21H2-x86_64/msvc2015_update.txt b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/msvc2015_update.txt
new file mode 100644
index 00000000..b863f91a
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/msvc2015_update.txt
@@ -0,0 +1,15 @@
+### Visual Studio 2015 ###
+Visual Studio 2015 version 14.0.25420.1 Update 3 was installed manually using ISO-image: http://ci-files01-hki.intra.qt.io/input/windows/en_visual_studio_professional_2015_with_update_3_x86_x64_dvd_8923272.iso
+(Mount the ISO-image by double clicking it and run 'vs_professional.exe')
+
+default plus following components were selected:
+* Programming Languages
+ * Visual C++
+ - Common Tools for Visual C++ 2015
+* Universal Windows App Development Tools
+ - Tools (1.4.1) and Windows SDK (10.0.14393)
+ - Windows 10 SDK (10.0.10586)
+ - Windows 10 SDK (10.0.10240)
+* Common Tools
+ -Visual Studio Extensibility Tools Update 3
+
diff --git a/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/msvc2019.txt b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/msvc2019.txt
new file mode 100644
index 00000000..fc554fcd
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/msvc2019.txt
@@ -0,0 +1,77 @@
+### Visual Studio 2019 ###
+Visual Studio 2019 version 16.11.7 was installed manually using installer: http://ci-files01-hki.intra.qt.io/input/windows/vs_professional__505064367.1547034421.exe
+
+Installed MSVC-2019 Components:
+
+.NET Framework 4.5 targeting pack
+.NET Framework 4.5.1 targeting pack
+.NET Framework 4.5.2 targeting pack
+.NET Framework 4.6.1 SDK
+.NET Framework 4.6.1 targeting pack
+.NET Framework 4.6.2 SDK
+.NET Framework 4.6.2 targeting pack
+.NET Framework 4.8 SDK
+.NET Framework 4.8 targeting pack
+.NET Native
+.NET Portable Library targeting pack
+CLR data types for SQL Sever
+Connectivity and publishing tools
+Data sources for SQL Server support
+SQL ADAL runtime
+SQL Server Command Linne Utilities
+SQL Server Data Tools
+SQL Server Express 2016 LocalDB
+SQL Server ODBC Driver
+ClickOnce Publishing
+Developer Analytics tools
+NuGet package manager
+Text Template Transformation
+C# and Visual Basic Roslyn compilers
+C++ 2019 Redistributable Update
+C++ Cmake tools for Windows
+C++/CLI support for v142 build tools (14.29-16.10)
+MSBuild
+MSVC v142 - VS 2019 C++ ARM build tools (v14.20)
+MSVC v142 - VS 2019 C++ ARM build tools (v14.29-16.10)
+MSVC v142 - VS 2019 C++ ARM64 build tools (Latest)
+MSVC v142 - VS 2019 C++ ARM64 build tools (v14.20)
+MSVC v142 - VS 2019 C++ ARM64 build tools (v14.29-16.10)
+MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.20)
+MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.29-16.10)
+MSVC v142 - VS 2019 C++ x64/x86 build tools (Latest)
+.NET profiling tools
+C++ profiling tools
+JavaScript diagnostics
+Just-In-Time debugger
+C# and Visual Basic
+C++ core features
+JavaSript and TypeScript language support
+Razor Language Services
+Graphics debugger and GPU profiler for DirectX
+Image and 3D model editors
+C++ ATL for latest v142 build tools (ARM)
+C++ ATL for latest v142 build tools (ARM64)
+C++ ATL for latest v142 build tools (x86 & x64)
+TypeScript 4.3 SDK
+Windows 10 SDK (10.0.16299.0)
+Windows 10 SDK (10.0.17134.0)
+Windows 10 SDK (10.0.17763.0)
+Windows 10 SDK (10.0.18362.0)
+Windows 10 SDK (10.0.19041.0)
+Windows 10 SDK (10.0.20348.0)
+Windows 10 SDK (10.0.22000.0)
+
+# NOTE! Work loads were added during installation!
+
+############################################################
+### Visual Studio 2019 build tools ###
+
+Visual studio 2019 build tools version 16.11.7 was installed manually using installer: "http://ci-files01-hki.intra.qt.io/input/windows/vs_buildtools__251503345.1575372514.exe"
+ * Only default installation, no additional selections
+
+############################################################
+### Debugging tools ###
+
+* Modify 'Windows Software Development Kit - Windows 10.0.18362.1' from 'Add or remove programs'
+ - Add feature 'Debugging Tools for Windows'
+############################################################
diff --git a/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/msvc2022.txt b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/msvc2022.txt
new file mode 100644
index 00000000..4ae0327d
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/msvc2022.txt
@@ -0,0 +1,72 @@
+### Visual Studio 2022 Official release ###
+Visual Studio 2022 version 17.0.1 was installed manually using installer: http://ci-files01-hki.intra.qt.io/input/windows/vs_professional__msvc2022_1339502178.1525841376.exe
+
+Installed MSVC-2022 Components:
+
+.NET Framework 4.6.1 SDK
+.NET Framework 4.6.1 targeting pack
+.NET Framework 4.6.2 SDK
+.NET Framework 4.6.2 targeting pack
+.NET Framework 4.8 SDK
+.NET Framework 4.8 targeting pack
+.NET Native
+.NET Portable Library targeting pack
+CLR data types for SQL Sever
+Connectivity and publishing tools
+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.30-17.0)
+C++/CLI support for v143 build tools (Latest)
+MSBuild
+MSVC v143 - VS 2022 C++ ARM build tools (Latest)
+MSVC v143 - VS 2022 C++ ARM build tools (v14.30-17.0)
+MSVC v143 - VS 2022 C++ ARM64 build tools (Latest)
+MSVC v143 - VS 2022 C++ ARM64 build tools (v14.30-17.0)
+MSVC v143 - VS 2022 C++ x64/x86 build tools (Latest)
+MSVC v143 - VS 2022 C++ x64/x86 build tools (v14.30-17.0)
+.NET profiling tools
+C++ profiling tools
+JavaScript diagnostics
+Just-In-Time debugger
+C# and Visual Basic
+C++ core features
+JavaSript and TypeScript language support
+Razor Language Services
+Graphics debugger and GPU profiler for DirectX
+Image and 3D model editors
+C++ ATL for latest v143 build tools (ARM)
+C++ ATL for latest v143 build tools (ARM64)
+C++ ATL for latest v143 build tools (x86 & x64)
+TypeScript 4.4 SDK
+TypeScript Server
+Windows 10 SDK (10.0.18362.0)
+Windows 10 SDK (10.0.19041.0)
+Windows 10 SDK (10.0.20348.0)
+Windows 10 SDK (10.0.22000.0)
+Windows Universal C Runtime
+
+# NOTE! Work loads were added during installation!
+
+############################################################
+### Visual Studio 2022 build tools ###
+
+ Visual studio 2022 build tools version 17.0.1 was installed manually using installer: "http://ci-files01-hki.intra.qt.io/input/windows/vs_BuildTools_msvc2022.exe"
+ * Only default installation, no additional selections
+
+############################################################
+### Debugging tools ###
+
+* Check that debugging tools are installed
+ * Modify 'Windows Software Development Kit - Windows 10.0.18362.1' from 'Add or remove programs'
+ - Add feature 'Debugging Tools for Windows'
+############################################################
diff --git a/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/virtio.txt b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/virtio.txt
new file mode 100644
index 00000000..c3008ae9
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/virtio.txt
@@ -0,0 +1,31 @@
+Install virtio
+
+Our vanilla images are pre-installed in VMware where we have networking available. In KVM we can
+use the VMware installed vmxnet3 NIC to fetch VirtIO drivers, install them, and only then switch
+to using the VirtIO NIC in KVM.
+
+NOTE! Install these Virtio drivers in Opennebula when using Windows 10 20H2
+* Download https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.204-1/virtio-win-0.1.204.iso
+ cache: http://ci-files01-hki.intra.qt.io/input/windows/virtio/virtio-win-0.1.204.iso
+* Mount virtio-win-0.1.185.iso by double clicking it.
+* Right click 'E:\NetKVM\w10\amd64\netkvm.inf' and select Install
+* Right click 'E:\Balloon\w10\amd64\balloon.inf' and select Install
+* Right click 'E:\vioscsi\w10\amd64\vioscsi.inf' and select Install
+* Right click 'E:\vioserial\w10\amd64\vioser.inf' and select Install
+* Navigate to E:\guest-agent directory and double click qemu-ga-x86_64
+
+Because vioscsi does not install the entries in windows registry before we actually
+have a VirtIO device installed, and we can't boot with a VirtIO device before
+the driver is installed, we have to blindly install the registry entries:
+
+* Download https://bugreports.qt.io/secure/attachment/95685/95685_vioscsi.reg
+ cache: http://ci-files01-hki.intra.qt.io/input/windows/virtio/vioscsi.reg
+
+However, we've seen that the Owner in the registry can be wrong. This entry
+sets it to oem11.inf, but we've seen it be oem10.inf in one case and it has
+to be corrected so that it will boot from the VirtIO driver. This was found out
+by having 2 devices installed simultaneously and having the drivers install
+properly into the registry.
+
+* Eject the mounting
+* Remove downloaded virtio-win-0.1.171.iso