aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHeikki Halmet <heikki.halmet@qt.io>2020-03-11 15:30:59 +0200
committerHeikki Halmet <heikki.halmet@qt.io>2020-03-26 11:37:38 +0200
commit704e5d56357be28db10cdfdcbb1c80310893a30b (patch)
tree8d9b00c52e680477470460775b83a20063bdaeef
parent7264214147277b5aecc6986ac90dd241fa24df80 (diff)
Update Windows 10 x86 to version 1909
These are also updated to tier1 image: msvc 2017: 15.9.21 msvc 2017 build tools: 15.0 (26228.10) msvc 2019: 16.4.6 msvc 2019 build tools: 16.4.6 Change-Id: I41ae0e287ccf74183438d7a7bff639fd78e86e7a Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
-rw-r--r--coin/platform_configs/qtsdk.yaml2
-rw-r--r--coin/platform_configs/tqtc-qt-rta.yaml2
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/README_MANUAL_INSTALLATIONS47
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/disable-defragment.ps172
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/disable-ntp.ps14
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/disable-schedule-tasks.ps188
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/disable-update-orchestrator.ps116
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/disable-windefender.ps1 (renamed from coin/pre-provisioning/qtci-windows-10-x86/msvc2015_update.ps1)61
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/disable-windows-file-protector.ps14
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/disable-windows-update-medic.ps125
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/disable-windows-updates.ps1 (renamed from coin/pre-provisioning/qtci-windows-10-x86/msvc2017.ps1)33
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/msvc2017.txt91
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/msvc2017_build_tools.txt (renamed from coin/pre-provisioning/qtci-windows-10-x86/06-msvc_2017_build_tools.ps1)18
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/msvc2019.txt69
-rw-r--r--coin/provisioning/qtci-windows-10-x86/00-disable-windefender.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86/01-disable-windows-updates.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86/02-disable-defragment.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86/02-disable-ntp.ps11
18 files changed, 475 insertions, 61 deletions
diff --git a/coin/platform_configs/qtsdk.yaml b/coin/platform_configs/qtsdk.yaml
index 754e8492..75af86fd 100644
--- a/coin/platform_configs/qtsdk.yaml
+++ b/coin/platform_configs/qtsdk.yaml
@@ -1,5 +1,5 @@
-
- Template: 'qtci-windows-10-x86-3'
+ Template: 'qtci-windows-10-x86-4'
Compiler: 'MSVC2017'
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -force-debug-info -opengl dynamic -nomake examples -nomake tests'
-
diff --git a/coin/platform_configs/tqtc-qt-rta.yaml b/coin/platform_configs/tqtc-qt-rta.yaml
index 76664d06..1bf9cf9e 100644
--- a/coin/platform_configs/tqtc-qt-rta.yaml
+++ b/coin/platform_configs/tqtc-qt-rta.yaml
@@ -9,6 +9,6 @@
Features: ['DisableTests']
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -force-debug-info -opengl dynamic -nomake examples -nomake tests'
-
- Template: 'qtci-windows-10-x86-3'
+ Template: 'qtci-windows-10-x86-4'
Compiler: 'MSVC2017'
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -force-debug-info -opengl dynamic -nomake examples -nomake tests'
diff --git a/coin/pre-provisioning/qtci-windows-10-x86/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-windows-10-x86/README_MANUAL_INSTALLATIONS
new file mode 100644
index 00000000..0099b600
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86/README_MANUAL_INSTALLATIONS
@@ -0,0 +1,47 @@
+CPU 4G
+Memory: 4G
+Hard disk: 250G
+Network: CI_NW
+Video Card - total memory: 32MB
+
+VM Options:
+Boot options/Firmware: BIOS
+
+Language: English US
+Time and currency format: Finnish (Finland)
+Keyboard: Finnish
+Windows 10 Enterprise
+Region: Finland
+Default keyboard layout: English (United States)
+
+* VMware tools (complete) installed
+* Resolution set to 1280x800
+* Coin-setup:
+ - Installing Boostrap agent
+ - Disabling fast boot
+ - Disabling firewall
+ - Disabling UAC
+ - Enabling autologin
+ - Automatic login
+ - Disabling windows updates
+* Enable 'Allow remote connections to this computer'
+* Windows Defender Antivirus turned off: Open 'gpedit.msc': 'Computer Configuration' - 'Administrative Templates' - 'Windows Components' - 'Windows Defender Antivirus'
+ - Edit 'Turn off Windows Defender Antivirus' > 'Enabled' > 'Apply' * Background defrag disabled: 'defragment and optimize drives' - 'change settings' - unchecked "run on a schedule" * Background defrag disabled: 'defragment
+ NOTE! Without this step windows defender can't be disabled!
+* 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: Coordinated 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' and set 'Screen' to 'never'
+* Turn windows features on or off -> Check the "SMB 1.0/CIFS File Sharing Support
+* Google Chrome installed for RTA
+* Turn off Virus & threat protection (all sections) manually. Without this step windows defender can't be disabled!
+ - Real-tiem protection -> off
+ - Cloud-delivered protection -> off
+ - Automatic sample submission -> off
+ - Tamper protection -> off
+* Activate Windows
+* Modify 'Windows Software Development Kit - Windows 10.0.18362.1' from 'Add or remove programs'
+ - Add feature 'Debugging Tools for Windows'
+* REBOOT the VM
diff --git a/coin/pre-provisioning/qtci-windows-10-x86/disable-defragment.ps1 b/coin/pre-provisioning/qtci-windows-10-x86/disable-defragment.ps1
new file mode 100644
index 00000000..e76f0649
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86/disable-defragment.ps1
@@ -0,0 +1,72 @@
+#############################################################################
+##
+## Copyright (C) 2019 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## 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 http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://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 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $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-x86/disable-ntp.ps1 b/coin/pre-provisioning/qtci-windows-10-x86/disable-ntp.ps1
new file mode 100644
index 00000000..22651763
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86/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-x86/disable-schedule-tasks.ps1 b/coin/pre-provisioning/qtci-windows-10-x86/disable-schedule-tasks.ps1
new file mode 100644
index 00000000..1febd88c
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86/disable-schedule-tasks.ps1
@@ -0,0 +1,88 @@
+. "$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"
+
+# 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"
+
+# SoftwareProtectionPlatform 'SvcRestartTaskNetwork' - "This task restarts the Software Protection Platform service when a new network is detected"
+DisableSchedulerTask "SoftwareProtectionPlatform\SvcRestartTaskNetwork"
+
+# UNP 'RunUpdateNotificationMgr'
+DeleteSchedulerTask "UNP\RunUpdateNotificationMgr"
+
+
+
+
diff --git a/coin/pre-provisioning/qtci-windows-10-x86/disable-update-orchestrator.ps1 b/coin/pre-provisioning/qtci-windows-10-x86/disable-update-orchestrator.ps1
new file mode 100644
index 00000000..5ae8fb0d
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86/disable-update-orchestrator.ps1
@@ -0,0 +1,16 @@
+# Disable UpdateOrchestrator
+
+$name = "UpdateOrchestrator"
+$path = "C:\Windows\System32\Tasks\Microsoft\Windows\$name"
+
+takeown /F $path /A /R
+icacls $path /grant Administrators:F /T
+SCHTASKS /Change /TN "Microsoft\Windows\$name\Reboot" /DISABLE
+del "$path\Schedule Scan"
+del "$path\Schedule Scan Static Task"
+del "$path\Backup Scan"
+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-x86/msvc2015_update.ps1 b/coin/pre-provisioning/qtci-windows-10-x86/disable-windefender.ps1
index 35f8dc3f..47e913d5 100644
--- a/coin/pre-provisioning/qtci-windows-10-x86/msvc2015_update.ps1
+++ b/coin/pre-provisioning/qtci-windows-10-x86/disable-windefender.ps1
@@ -1,6 +1,6 @@
-#############################################################################
+###########################################################################
##
-## Copyright (C) 2018 The Qt Company Ltd.
+## Copyright (C) 2019 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -30,29 +30,34 @@
## $QT_END_LICENSE$
##
#############################################################################
-. "$PSScriptRoot\..\..\provisioning\common\helpers.ps1"
-
-# Install Visual Studio $version with $update_version
-# Original download page: https://www.visualstudio.com/en-us/news/releasenotes/vs2015-update3-vs
-$version = "2015"
-$update_version = "3"
-
-# Only way to install specific Visual studio release is to use feed.xml.
-# Visual Studio $version setup will use the feed.xml that was available when $update_version released -> 'https://msdn.microsoft.com/en-us/library/mt653628.aspx'
-# These parameters will install Visual Studio Enterprise Update $update_version (the original Update $update_version without any further Update $update_version-era updates)
-$parameters = "/OverrideFeedURI http://download.microsoft.com/download/6/B/B/6BBD3561-D764-4F39-AB8E-05356A122545/20160628.2/enu/feed.xml"
-
-$msvc_web_installer = "vs" + $version + "_" + $update_version
-$package = "C:\Windows\temp\$msvc_web_installer.exe"
-$url_cache = "http://ci-files01-hki.intra.qt.io/input/windows/$msvc_web_installer.exe"
-$url_official = "https://go.microsoft.com/fwlink/?LinkId=691129"
-$sha1 = "68abf90424aff604a04d6c61fb52adcd2cab2266"
-
-echo "Fetching Visual Studio $version update $update_version..."
-Download $url_official $url_cache $package
-Verify-Checksum $package $sha1
-echo "Installing Visual studio $version update $update_version..."
-cmd /c "$package $parameters /norestart /Quiet"
-remove-item $package
-
-echo "Visual Studio = $version update $update_version" >> ~\versions.txt
+
+# 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"
+
+# 'Windows Defender Cache Maintenance' - "Periodic maintenance task."
+DisableSchedulerTask "Windows Defender\Windows Defender Cache Maintenance"
+
+# 'Windows Defender Cleanup' - "Periodic cleanup task."
+DisableSchedulerTask "Windows Defender\Windows Defender Cleanup"
+
+# 'Windows Defender Scheduled Scan' - "Periodic scan task."
+DisableSchedulerTask "Windows Defender\Windows Defender Scheduled Scan"
+
+# 'Windows Defender Verification' - "Periodic verification task."
+DisableSchedulerTask "Windows Defender\Windows Defender Verification"
+
+# 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-x86/disable-windows-file-protector.ps1 b/coin/pre-provisioning/qtci-windows-10-x86/disable-windows-file-protector.ps1
new file mode 100644
index 00000000..f1d09fb5
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86/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-x86/disable-windows-update-medic.ps1 b/coin/pre-provisioning/qtci-windows-10-x86/disable-windows-update-medic.ps1
new file mode 100644
index 00000000..6accbd3b
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86/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-10-x86/msvc2017.ps1 b/coin/pre-provisioning/qtci-windows-10-x86/disable-windows-updates.ps1
index 052ec9c6..87414f03 100644
--- a/coin/pre-provisioning/qtci-windows-10-x86/msvc2017.ps1
+++ b/coin/pre-provisioning/qtci-windows-10-x86/disable-windows-updates.ps1
@@ -1,6 +1,6 @@
############################################################################
##
-## Copyright (C) 2018 The Qt Company Ltd.
+## Copyright (C) 2017 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -31,19 +31,24 @@
##
#############################################################################
-. "$PSScriptRoot\..\common\helpers.ps1"
+# This script disables the automatic Windows updates
-# This script will install Visual Studio 2017
+$service = get-service wuauserv
+if (-not $service) {
+ Write-Host "Windows Update service not found."
+ exit 0
+}
-$version = "2017"
-$url_cache = "http://ci-files01-hki.intra.qt.io/input/windows/mu_visual_studio_professional_" + $version + "_x86_x64_10049787.exe"
-$sha1 = "8d678d27735018a99dc22ddb5412e4e6868991ae"
-$msvcPackage = "C:\Windows\Temp\$version.exe"
+if ($service.Status -eq "Stopped") {
+ Write-Host "Windows Update service already stopped."
+} else {
+ Write-Host "Stopping Windows Update service."
+ Stop-Service -Name "wuauserv" -Force
+}
-
-Download $url_cache $url_cache $msvcPackage
-Verify-Checksum $msvcPackage $sha1
-cmd /c "$msvcPackage --all --norestart --quiet --wait --add Microsoft.VisualStudio.Component.VC.Tools.ARM"
-echo "Cleaning $msvcPackage.."
-Remove-Item -Recurse -Force "$msvcPackage"
-echo "Visual Studio = $version" >> ~\versions.txt
+$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-x86/msvc2017.txt b/coin/pre-provisioning/qtci-windows-10-x86/msvc2017.txt
new file mode 100644
index 00000000..7b834a4c
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86/msvc2017.txt
@@ -0,0 +1,91 @@
+############################################################################
+##
+## Copyright (C) 2020 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## 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 http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://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 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# Visual Studio $version version $version_number was installed manually using $installer.
+
+$version = "2017"
+# Current version was manually upgraded from the installer
+$version_number = "15.9.21"
+$installer = "http://ci-files01-hki.intra.qt.io/input/windows/vs_professional__1312218103.1526017942.exe"
+
+# Following components were selected from installer:
+# Microsoft.Net.Component.4.5.TargetingPack (.NET Framework 4.5 targeting pack)
+# Microsoft.Net.Component.4.6.1.SDK (.NET Framework 4.6.1 SDK)
+# Microsoft.Component.NetFX.Native (.NET Native)
+# Microsoft.VisualStudio.Component.PortableLibrary (.NET Portable Library targeting pack)
+# Microsoft.VisualStudio.Component.SQL.CLR (CLR data types for SQL Server)
+# Microsoft.VisualStudio.Component.VisualStudioData (Data sources and service references)
+# Microsoft.Component.ClickOnce (ClickOnce Publishing)
+# Microsoft.VisualStudio.Component.AppInsights.Tools (Developer Analytics tools)
+# Microsoft.VisualStudio.Component.NuGet (NuGet package manager)
+# Microsoft.VisualStudio.Component.Static.Analysis.Tools (Static analysis tools)
+# Microsoft.VisualStudio.Component.TextTemplating (Text Template Transformation)
+# Microsoft.VisualStudio.Component.Roslyn.Compiler (C# and Visual Basic Roslyn compilers)
+# Microsoft.Component.MSBuild (MSBuild)
+# Microsoft.VisualStudio.Component.VC.Tools.x86.x64 (VC++ 2017 version 15.9 v14.16 latest v141 tools)
+# Microsoft.VisualStudio.Component.VC.Redist.14.Latest (Visual C++ 2017 Redistributable Update)
+# Microsoft.VisualStudio.Component.VC.Tools.ARM (Visual C++ compilers and libraries for ARM)
+# Microsoft.VisualStudio.Component.VC.Tools.ARM64 (Visual C++ compilers and libraries for ARM64)
+# Microsoft.VisualStudio.Component.VC.CMake.Project (Visual C++ tools for CMake)
+# Microsoft.VisualStudio.Component.DiagnosticTools (.NET profiling tools)
+# Microsoft.VisualStudio.Component.VC.DiagnosticTools (C++ profiling tools)
+# Microsoft.VisualStudio.Component.JavaScript.Diagnostics (JavaScript diagnostics)
+# Microsoft.VisualStudio.Component.Debugger.JustInTime (Just-In-Time debugger)
+# Microsoft.VisualStudio.Component.Roslyn.LanguageServices (C# and Visual Basic)
+# Microsoft.VisualStudio.Component.JavaScript.TypeScript (JavaScript and TypeScript language support)
+# Component.Microsoft.VisualStudio.RazorExtension (Razor Language Services)
+# Component.Linux.CMake (Visual C++ tools for CMake and Linux)
+# Microsoft.VisualStudio.Component.VC.CoreIde (Visual Studio C++ core features)
+# Microsoft.VisualStudio.Component.Graphics.Tools (Graphics debugger and GPU profiler for DirectX)
+# Microsoft.VisualStudio.Component.Graphics (Image and 3D model editors)
+# Microsoft.VisualStudio.Component.Graphics.Win81 (Graphics Tools Windows 8.1 SDK)
+# Microsoft.VisualStudio.Component.TypeScript.2.3 (TypeScript 2.3 SDK)
+# Microsoft.VisualStudio.Component.TypeScript.3.0 (TypeScript 3.0 SDK)
+# Microsoft.VisualStudio.Component.TypeScript.3.0 (TypeScript 3.1 SDK)
+# Microsoft.VisualStudio.Component.VC.ATL (Visual C++ ATL for x86 and x64)
+# Microsoft.VisualStudio.Component.Windows10SDK.10240 (Windows 10 SDK (10.0.10240.0))
+# Microsoft.VisualStudio.Component.Windows10SDK.10586 (Windows 10 SDK (10.0.10586.0))
+# Microsoft.VisualStudio.Component.Windows10SDK.14393 (Windows 10 SDK (10.0.14393.0))
+# Microsoft.VisualStudio.Component.Windows10SDK.15063.Desktop (Windows 10 SDK (10.0.15063.0) for Desktop C++ [x86 and x64])
+# Microsoft.VisualStudio.Component.Windows10SDK.15063.UWP (Windows 10 SDK (10.0.15063.0) for UWP: C#, VB, JS)
+# Microsoft.VisualStudio.Component.Windows10SDK.15063.UWP.Native (Windows 10 SDK (10.0.15063.0) for UWP: C++)
+# Microsoft.VisualStudio.Component.Windows10SDK.16299.Desktop (Windows 10 SDK (10.0.16299.0) for Desktop C++ [x86 and x64])
+# Microsoft.VisualStudio.Component.Windows10SDK.16299.UWP (Windows 10 SDK (10.0.16299.0) for UWP: C#, VB, JS)
+# Microsoft.VisualStudio.Component.Windows10SDK.16299.UWP.Native (Windows 10 SDK (10.0.16299.0) for UWP: C++)
+# Microsoft.VisualStudio.Component.Windows10SDK.16299.Desktop.arm (Windows 10 SDK (10.0.16299.0) for Desktop C++ [ARM and ARM64])
+# Microsoft.VisualStudio.Component.Windows10SDK.17134 (Windows 10 SDK (10.0.17134.0))
+# Microsoft.VisualStudio.Component.Windows10SDK.17763 (Windows 10 SDK (10.0.17763.0))
+
+# NOTE! Work loads were added during installation!
+
+echo "Visual Studio = $version version version_number" >> ~\versions.txt
diff --git a/coin/pre-provisioning/qtci-windows-10-x86/06-msvc_2017_build_tools.ps1 b/coin/pre-provisioning/qtci-windows-10-x86/msvc2017_build_tools.txt
index 2bb92c22..42cbb707 100644
--- a/coin/pre-provisioning/qtci-windows-10-x86/06-msvc_2017_build_tools.ps1
+++ b/coin/pre-provisioning/qtci-windows-10-x86/msvc2017_build_tools.txt
@@ -1,6 +1,6 @@
############################################################################
##
-## Copyright (C) 2018 The Qt Company Ltd.
+## Copyright (C) 2020 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -32,17 +32,9 @@
#############################################################################
. "$PSScriptRoot\..\common\helpers.ps1"
-# This script will install Visual Studio 2017 Build Tools
+# Install Visual Studio 2017 Build Tools
+# Install both build tools: Visual C++ and Web development
# https://www.visualstudio.com/downloads/#build-tools-for-visual-studio-2017
-$version = "2017_version_15.0"
-$url_cache = "http://ci-files01-hki.intra.qt.io/input/windows/mu_build_tools_for_visual_studio_" + $version + "_x86_x64_10254482.exe"
-$sha1 = "a31e099e5114fef80a21654689e6864afc544a16"
-$msvcPackage = "C:\Windows\Temp\$version.exe"
-
-Download $url_cache $url_cache $msvcPackage
-Verify-Checksum $msvcPackage $sha1
-cmd /c "$msvcPackage --all --passive --wait"
-echo "Cleaning $msvcPackage.."
-Remove-Item -Recurse -Force "$msvcPackage"
-echo "Visual Studio Build Tools = $version" >> ~\versions.txt
+$url_internal = https://www.visualstudio.com/downloads/#build-tools-for-visual-studio-2017
+$url_cache = "http://ci-files01-hki.intra.qt.io/input/windows/mu_build_tools_for_visual_studio_2017_version_15.0_x86_x64_10254482.exe"
diff --git a/coin/pre-provisioning/qtci-windows-10-x86/msvc2019.txt b/coin/pre-provisioning/qtci-windows-10-x86/msvc2019.txt
new file mode 100644
index 00000000..d8767a96
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86/msvc2019.txt
@@ -0,0 +1,69 @@
+# Visual Studio $version version $version_number was installed manually using $installer.
+
+$version = "2019"
+# Current version was manually upgraded from the installer
+$version_number = "16.4.6"
+$installer = "http://ci-files01-hki.intra.qt.io/input/windows/vs_professional__505064367.1547034421.exe"
+
+MSVC 2019 build tools (default installation, no additional selections).
+ * Install after MSVC2019 is installed!
+ * Installer: "http://ci-files01-hki.intra.qt.io/input/windows/vs_buildtools__251503345.1575372514.exe"
+ * Version: 16.4.6
+
+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.7.2 SDK
+.NET Framework 4.7.2 targeting pack
+.NET Framework 4.8 SDK
+.NET Framework 4.8 targeting pack
+.NET Native
+.NET Portable Library targeting pack
+CLR data typer 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.24)
+MSBuild
+MSVC v142 - VS 2019 C++ ARM build tools (v14.20)
+MSVC v142 - VS 2019 C++ ARM build tools (v14.24)
+MSVC v142 - VS 2019 C++ ARM64 build tools (v14.20)
+MSVC v142 - VS 2019 C++ ARM64 build tools (v14.24)
+MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.20)
+MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.24)
+.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 (x86 & x64)
+TypeScript 3.7 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)
+
+# NOTE! Work loads were added during installation!
+
diff --git a/coin/provisioning/qtci-windows-10-x86/00-disable-windefender.ps1 b/coin/provisioning/qtci-windows-10-x86/00-disable-windefender.ps1
deleted file mode 100644
index 8f94b3d5..00000000
--- a/coin/provisioning/qtci-windows-10-x86/00-disable-windefender.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\disable-windefender.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86/01-disable-windows-updates.ps1 b/coin/provisioning/qtci-windows-10-x86/01-disable-windows-updates.ps1
deleted file mode 100644
index 57428310..00000000
--- a/coin/provisioning/qtci-windows-10-x86/01-disable-windows-updates.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\disable-windows-updates.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86/02-disable-defragment.ps1 b/coin/provisioning/qtci-windows-10-x86/02-disable-defragment.ps1
deleted file mode 100644
index 10518401..00000000
--- a/coin/provisioning/qtci-windows-10-x86/02-disable-defragment.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\disable-defragment.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86/02-disable-ntp.ps1 b/coin/provisioning/qtci-windows-10-x86/02-disable-ntp.ps1
deleted file mode 100644
index ee3b3b7d..00000000
--- a/coin/provisioning/qtci-windows-10-x86/02-disable-ntp.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\disable-ntp.ps1"