From 6044f4fd12e4d891ccaf112a064d0db6234ddf9d Mon Sep 17 00:00:00 2001 From: Ivan Solovev Date: Mon, 3 Nov 2025 17:00:27 +0100 Subject: [PATCH] Fix java provisioning on Windows ARM The installer from Microsoft which is used for ARM machines has a different default installation path compared to the installer from Oracle that is used for x64 machines, but the provisioning script did not take it into consideration. As a result, the JAVA_HOME variable was pointing to a non-existing dir on Windows ARM machines. An attempt to adjust the installation path using TARGETDIR or INSTALLDIR properties did not work, so this patch simply hardcodes the path that is used by the current ARM installer. Amends b3f5b4fd6473e5727c4a34fa31a80e483d6a75c1 that added Java provisioning to Windows ARM. Task-number: QTBUG-138968 Pick-to: 6.10 6.8 Change-Id: I2abdc07195a9c633340c2d7b21deaa80762aee67 Reviewed-by: Alexandru Croitor --- coin/provisioning/common/windows/install-jdk.ps1 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/coin/provisioning/common/windows/install-jdk.ps1 b/coin/provisioning/common/windows/install-jdk.ps1 index 43f8e35d..7eb0d1e9 100644 --- a/coin/provisioning/common/windows/install-jdk.ps1 +++ b/coin/provisioning/common/windows/install-jdk.ps1 @@ -6,7 +6,6 @@ # This script will install Java SE # https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html $version_major = "17" -$installdir = "C:\Program Files\Java\jdk-$version_major" $cpu_arch = Get-CpuArchitecture switch ($cpu_arch) { @@ -19,6 +18,9 @@ switch ($cpu_arch) { $url_official = "https://aka.ms/download-jdk/microsoft-jdk-${version}-windows-${arch}.msi" $url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\microsoft-jdk-${version}-windows-${arch}.msi" $javaPackage = "C:\Windows\Temp\jdk-$version.msi" + # Microsoft installer does not allow to override the installation path using the regular + # TARGETDIR or INSTALLDIR properties, so just hardcode the path that it uses + $installdir = "C:\Program Files\Microsoft\jdk-17.0.11.9-hotspot" Break } x64 { @@ -28,6 +30,7 @@ switch ($cpu_arch) { $url_official = "https://download.oracle.com/java/17/archive/jdk-${version}_windows-${arch}_bin.exe" $url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\jdk-$version-windows-$arch.exe" $javaPackage = "C:\Windows\Temp\jdk-$version.exe" + $installdir = "C:\Program Files\Java\jdk-$version_major" Break } default {