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 b3f5b4fd64 that added Java
provisioning to Windows ARM.

Task-number: QTBUG-138968
Pick-to: 6.10 6.8
Change-Id: I2abdc07195a9c633340c2d7b21deaa80762aee67
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This commit is contained in:
Ivan Solovev
2025-11-03 17:00:27 +01:00
parent 5293a1638e
commit 6044f4fd12

View File

@@ -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 {