Hallo,
Ich habe immer wieder Probleme mit dem Java 32-bit exe Installer auf Windows 64-bit Systeme.
Die Installation über OPSI ist meistens fehlgeschlagen.
Zuletzt hatte ich das Problem mit Java 8 Update 60 (1.8.0.60) 32-bit auf Windows 7 64-bit
Anhand dieser Quelle:
https://harryjohnston.wordpress.com/201 ... ows-7-x64/
konnte ich das Problem endgültig beheben und möchte hier die notwendige Anpassung im Installationsskript mit euch teilen
Hier die wichtigsten Anpassungen im Installationsskript.
(Das komplette Skript ist hier zu finden:
http://sourceforge.net/p/opsiupdater/co ... em_javavm/)
setup.ins
Code: Alles auswählen
[Actions]
DefVar $ProductVersion$
DefVar $InstVersion$
DefVar $ProductShortVersion$
Set $ProductVersion$ = "1.8.0.60"
Set $InstVersion$ = "1.8.0_60"
Set $ProductShortVersion$ = "8u60"
Winbatch_install_64_1 /TimeOutSeconds 500
Winbatch_install_64_2 /TimeOutSeconds 500
[Winbatch_install_64_1]
;; There is an issue with Java 32-bit exe Installer on 64-Bit OS
;; The Installer looks for the extracted msi at the wrong location
;; To fix this, a Symlink will be created
;; it extracts to: C:\Windows\syswow64\config\systemprofile\AppData\LocalLow\Sun\Java\jre$InstVersion$
;; but looks for msi in: C:\Windows\system32\config\systemprofile\AppData\LocalLow\Oracle\Java\jre$InstVersion$
;; so we create a link in system32 that points to syswow64
;; Source: https://harryjohnston.wordpress.com/2011/02/20/installing-32-bit-software-as-system-in-windows-7-x64/
"cmd.exe" /c mkdir "%Systemroot%\syswow64\config\systemprofile\AppData\LocalLow\Oracle\Java\jre$InstVersion$"
"cmd.exe" /c mkdir "%Systemroot%\syswow64\config\systemprofile\AppData\LocalLow\Sun\Java\jre$InstVersion$"
; Use cmd64.exe for mklink - Doesn't work with cmd.exe
"cmd64.exe" /c mklink /J %Systemroot%\system32\config\systemprofile\AppData\LocalLow\Oracle\Java\jre$InstVersion$ %Systemroot%\syswow64\config\systemprofile\AppData\LocalLow\Oracle\Java\jre$InstVersion$
"cmd64.exe" /c mklink /J %Systemroot%\system32\config\systemprofile\AppData\LocalLow\Sun\Java\jre$InstVersion$ %Systemroot%\syswow64\config\systemprofile\AppData\LocalLow\Sun\Java\jre$InstVersion$
"%ScriptPath%\files\jre-$ProductShortVersion$-windows-i586.exe" /s /L C:\opsi.org\log\java32_$InstVersion$.log
[Winbatch_install_64_2]
"%ScriptPath%\files\jre-$ProductShortVersion$-windows-x64.exe" /s /L C:\opsi.org\log\java64_$InstVersion$.log