This is an old revision of the document!


Java (java_1.8.0.112-4.2.5)

Feel free to contact me :)

Tested with Opsi 4.0.7.17
Tested with Winst 4.11.5.20
Tested with Server 2016 x64
Tested with 10 Pro x64
Tested with 8.1 Pro x64
Tested with 7 Pro x64
Tested with 7 Pro x86
Tested with Java 6u10 - 8u112
requiredWinstVersion >= 4.11.5
By Compilenix@compilenix.org 2016-10-23

Download: All in one - installable opsi package (~ 1.9 GiB)
Checksum's and detached pgp signatures: https://compilenix.org/public/opsi/localboot/java/

Source Code: Code repository
Check if you have the JCE installed: jceCheck.jar (detached pgp signature)

All downloads are pgp signed with:
Compilenix Compilenix@compilenix.org
Validity: from 2015-01-09 11:29 until forever or revoked
Certificate type: 4,096-bit RSA
Key-ID: E763633D
Fingerprint: CC6047FA5B4449F28940636910B6666EE763633D
https://compilenix.org/public/certificates/pgp/compilenix%40compilenix.org%20%280xE763633D%29.asc

Download: my Notepad++ Syntax Highlighting
Download: my Visual Studio Code Syntax Highlighting

Tree:
├── CLIENT_DATA
│   ├── UnlimitedJCEPolicy
│   │   ├── JCE_PATCHED
│   │   ├── README.txt
│   │   ├── US_export_policy.jar
│   │   └── local_policy.jar
│   ├── setup_data
│   │   ├── msi
│   │   │   ├── jdk1.8.0_111
│   │   │   │   ├── jdk1.8.0_111.msi
│   │   │   │   ├── sj180111.cab
│   │   │   │   ├── ss180111.cab
│   │   │   │   ├── st180111.cab
│   │   │   │   └── sz180111.cab
│   │   │   ├── jdk1.8.0_111_x64
│   │   │   │   ├── jdk1.8.0_11164.msi
│   │   │   │   ├── sj180111.cab
│   │   │   │   ├── ss180111.cab
│   │   │   │   ├── st180111.cab
│   │   │   │   └── sz180111.cab
│   │   │   ├── jdk1.8.0_112
│   │   │   │   ├── jdk1.8.0_112.msi
│   │   │   │   ├── sj180112.cab
│   │   │   │   ├── ss180112.cab
│   │   │   │   ├── st180112.cab
│   │   │   │   └── sz180112.cab
│   │   │   ├── jdk1.8.0_112_x64
│   │   │   │   ├── jdk1.8.0_11264.msi
│   │   │   │   ├── sj180112.cab
│   │   │   │   ├── ss180112.cab
│   │   │   │   ├── st180112.cab
│   │   │   │   └── sz180112.cab
│   │   │   ├── jre1.8.0_111
│   │   │   │   └── jre1.8.0_111.msi
│   │   │   ├── jre1.8.0_111_x64
│   │   │   │   └── jre1.8.0_11164.msi
│   │   │   ├── jre1.8.0_112
│   │   │   │   └── jre1.8.0_112.msi
│   │   │   └── jre1.8.0_112_x64
│   │   │       └── jre1.8.0_11264.msi
│   │   ├── License.txt
│   │   ├── License.url
│   │   ├── jdk-8u111-windows-i586.exe
│   │   ├── jdk-8u111-windows-x64.exe
│   │   ├── jdk-8u112-windows-i586.exe
│   │   ├── jdk-8u112-windows-x64.exe
│   │   ├── jre-8u111-windows-i586.exe
│   │   ├── jre-8u111-windows-x64.exe
│   │   ├── jre-8u112-windows-i586.exe
│   │   └── jre-8u112-windows-x64.exe
│   ├── Sub_UpdateVariables.ins
│   ├── check_msi-exitcode.ins
│   ├── check_uninstall.ins
│   ├── delsub.ins
│   ├── java.png
│   ├── setup.ins
│   └── uninstall.ins
├── OPSI
│   ├── control
│   ├── postinst
│   └── preinst
├── LICENSE
├── Opsi-Wiki.wiki
├── README.md
├── jceCheck.jar
├── sha256sum.txt
├── sha256sum.txt.asc
├── shasum.sh
└── shasum_verify.sh

What it does, and what not

It Does:

  1. Handle install: x64 and x86, JRE and JDK
  2. Handle uninstall: x64 and x86, JRE of Java 1.6.0.10 until 1.8.0.112, JDK of Java 1.7.0.0 until 1.8.0.112
  3. Installation of Java 8
  4. Add the JCE Patch to every Java installation; see: JCE Documentation
  5. Use the check_msi-exitcode script from “Der-Matze”: check_msi-exitcode (modified)

It Does NOT:

  1. Uninstall Java versions older then 1.6.0.10, because in update 10 was a new installer dropped which uses an other schema of GUID´s at the Windows Registry
  2. Uninstall Java JDK`s older then 1.7.0.0

Notes

The package includes the MSI installer for the JRE and JDK x86, because if you want to install Java JRE/JDK x86 on a x64 System the EXE installer will “crash” if it was called in a SYSTEM user context. Calling it by hand will work and my package is designed to manage both cases.

It “crashes” in a SYSTEM user environment, because the x86 installer of Java would exteact a MSI package on a x86 System into “C:\Windows\System32\config\systemprofile\AppData\LocalLow\Sun\Java” and call a MSI file and will install Java.
But on a x64 System the Java installer want to extract the MSI package into the same directory. At this point Windows (x64) redirect the request to “C:\Windows\SysWOW64\config\systemprofile\AppData\LocalLow\Sun\Java”. The x86 Java installer does NOT notice the important redirect and still try to call the MSI file and explode with a, File not found, exeption.

There is no error-reporting or handling by the Java (EXE) installer done, but msiexec.exe does report an 1619 (PACKAGE_OPEN_FAILED) exitcode.

This happends only on x64 System`s. My package will ever prefer of using the EXE installer, the MSI files were only called in a fallback case!

Change Log

java (1.8.0.112-4.2.5)
  -- Kevin Weis <Compilenix@compilenix.org> 2016-10-23
  * update

TODO

  1. Add feature; Install X.509 (root) Certificates into the Java Certificate chain.
  2. Change uninstall procedure using WMCI or Powershell, to avoid generating wrong uninstall strings. (Thanks Andreas)
  3. Nothing else at the moment.. If you have any suggestions, let me know :)

control

control.txt
[Package]
version: 4.2.5
depends:
incremental: False
 
[Product]
type: localboot
id: java
name: Java
description: 
advice: 
version: 1.8.0.112
priority: -95
licenseRequired: False
productClasses: 
setupScript: setup.ins
uninstallScript: uninstall.ins
updateScript: 
alwaysScript: 
onceScript: 
customScript: 
userLoginScript: 
 
[ProductProperty]
type: unicode
name: vm-type
multivalue: False
editable: False
description: Install the Development Kit (JDK) or just the Java Runtime (JRE).
values: ["jdk", "jre"]
default: ["jre"]
 
[ProductProperty]
type: unicode
name: patchjce
multivalue: False
editable: False
description: Apply patch For JCE (Java Cryptography Extension); see also: https://en.wikipedia.org/wiki/Java_Cryptography_Extension
values: ["Off", "On"]
default: ["On"]
 
[ProductProperty]
type: unicode
name: webjava
multivalue: False
editable: False
description: Install Webplugins.
values: ["Off", "On"]
default: ["On"]
 
[ProductProperty]
type: unicode
name: webjava-security_level
multivalue: False
editable: False
description: Set default security level, for remote execution of Java content.
values: ["H", "M", "VH"]
default: ["VH"]
 
[ProductProperty]
type: unicode
name: java-updater
multivalue: False
editable: False
description: Toggle the Java-Updater and Update-Notifications.
values: ["Off", "On"]
default: ["Off"]
 
[ProductProperty]
type: unicode
name: 32bitonly
multivalue: False
editable: False
description: Toggle if on a 64bit OS only the 32bit JRE/JDK will be installed.
values: ["False", "True"]
default: ["False"]
 
[ProductProperty]
type: unicode
name: 64bitonly
multivalue: False
editable: False
description: Toggle if on a 64bit OS only the 64bit JRE/JDK will be installed.
values: ["False", "True"]
default: ["False"]
 
[ProductProperty]
type: unicode
name: updatebranch
multivalue: False
editable: False
description: Toggle between Critical Patch Update (CPU) and Patch Set Update (PSU)
values: ["CPU", "PSU"]
default: ["CPU"]
 
[Changelog]
java (1.8.0.112-4.2.5)
  -- Kevin Weis <Compilenix@compilenix.org> 2016-10-23
  * update
 
java (1.8.0.102-4.2.5)
  -- Kevin Weis <Compilenix@compilenix.org> 2016-07-25
  * update
  * update/create symbolic links at C:\ProgramData\Oracle\Java\javapath\. prefering x64 jre if possible.
 
java (1.8.0.92-4.2.4)
  -- Kevin Weis <Compilenix@compilenix.org> 2016-05-03
  * update
 
java (1.8.0.77.3-4.2.4)
  -- Kevin Weis <Compilenix@compilenix.org> 2016-03-30
  * update
 
java (1.8.0.74.2-4.2.4)
  -- Kevin Weis <Compilenix@compilenix.org> 2016-03-14
  * update
 
java (1.8.0.72.15-4.2.4)
  -- Kevin Weis <Compilenix@compilenix.org> 2015-10-26
  * update
  * add Product "updateBranch" choose between 8u71 and 8u72 (more info: http://www.oracle.com/technetwork/java/javase/cpu-psu-explained-2331472.html)
  * add Product Property "64bitonly" (default: False)
 
java (1.8.0.66.17-4.2.3)
  -- Kevin Weis <Compilenix@compilenix.org> 2015-10-26
  * update
 
java (1.8.0.60.27-4.2.3)
  -- Kevin Weis <Compilenix@compilenix.org> 2015-09-09
  * update
 
java (1.8.0.51.16-4.2.3)
  -- Kevin Weis <Compilenix@compilenix.org> 2015-07-20
  * update
 
java (1.8.0.45.14-4.2.3)
  -- Kevin Weis <Compilenix@compilenix.org> 2015-04-15
  * update
 
java (1.8.0.40.26-4.2.3)
  -- Kevin Weis <Compilenix@compilenix.org> 2015-03-19
  * fixed: installation of Java JRE x86 on a x64 OS does not work (exit code 3)
 
java (1.8.0.40.26-4.2.2)
  -- Kevin Weis <Compilenix@compilenix.org> 2015-03-16
  * update
 
java (1.8.0.31.13-4.2.2)
  -- Kevin Weis <kevinweis@gmx.de> 2015-01-21
  * update
 
java (1.8.0.25.18-4.2.2)
  -- Kevin Weis <kevinweis@gmx.de> 2014-10-20
  * update
  * add ProductProperty "PatchJCE"; see also: https://en.wikipedia.org/wiki/Java_Cryptography_Extension and http://docs.oracle.com/javase/8/docs/technotes/guides/security/crypto/CryptoSpec.html
  * Java 7 setup support droped (uninstalling of future Java 7 versions are still supported)
 
java (1.8.0.11.12-4.2.1)
  -- Kevin Weis <kevinweis@gmx.de> 2014-08-14
  * update; Java 1.0.7.65 build 19 to 1.0.7.67 build 1
 
java (1.8.0.11.12-4.2)
  -- Kevin Weis <kevinweis@gmx.de> 2014-07-21
  * update; Java 1.0.7.60 build 19 to 1.0.7.65 build 19
 
java (1.8.0.05.13-4.2)
  -- Kevin Weis <kevinweis@gmx.de> 2014-06-14
  * update; Java 1.0.7.55 to 1.0.7.60 build 19
  * add ProductProperty "32bitOnly". The functionality of this option will be extended with the next Java 8 update.
  * since this update (Java 7u60 JRE x64/x86) the MSI-GUID has changed at one charcter (from "8" to "0"), no idea why -> ask Oracle -.- (see "check_uninstall.ins" from line 69 - 74)
  Minor changes:
    * add killing Opera.exe, before in-/uninstall.
    * little Bug-fix which caused an installation abort with the (expected at this point) error code 1619.
 
java (1.8.0.05.13-4.1) urgency=high
  -- Kevin Weis <kevin.weis@faw.de> 2014-04-17
  * update
  * add JRE and JDK of Java 7 (ProductProperty "Version")
  * add discriptions to all ProductPropertys
  * change default of ProductProperty "VM-Type" from "jdk" to "jre" (if winst script is called by hand "jdk" is the default)
  * change default of ProductProperty "WebJava-Security_Level" from "M" to "VH"
  * NOTE: I´m using the JCE patch for Java 8, this work for Java 7 too (tested, no unwanted behaviour with SHA384, SHA512, AES192 and AES256)
  Minor changes:
    * Apply new variables nomination
    * Fix check for minnimum Microsoft Windows Version (Java 8 is not supported on Windows XP, minnimum is Windows Vista >= 6.0)
    * If some fatal error occours, the error will now be displayed (as a Message), too.
    * clean up check_msi-exitcode; remove dead code and display fatal errors.
    * automate get last version of Java 7 and 8 (StringList)
 
java (1.8.0-4) urgency=high
  -- Kevin Weis <kevin.weis@faw.de> 2014-03-25.1933
  * update
  * switch install procedure to exe, insted deprecated use of the msi-package
  * drop install procedure using the msi-package
  * add support for in- and uninstall both (jdk and jre), jce patched of cause ;)
  * switch message locale from german to english
  * Use the check_msi-exitcode script from “Der-Matze”: https://forum.opsi.org/wiki/userspace:check_msi-exitcode
 
see also: http://www.oracle.com/technetwork/java/javase/8train-relnotes-latest-2153846.html
 
java (7.0.51-3) urgency=high
  -- Kevin Weis <kevin.weis@faw.de> 2014-01-17.1220
  * update
  * add patch for JCE (Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 7)
  * find installed versions of JRE now by using a for loop (supporting deinstallation since java 6u10 x64 and x32)
  * serval other little impovments
 
java (7.0.40-2.2) urgency=high
 -- Kevin Weis <kevin.weis@faw.de> 2013-10-14.1009
        update java version to 7.0.40
        SetLogLevel=4
        check_uninstall.ins:
                add explicit declaration for >=java-7.0.10 of "GetRegistryStringValue32" and "GetRegistryStringValue64"
 
java (7.0.25-2.1) urgency=high
 -- Kevin Weis <kevin.weis@faw.de> 13:39 02.04.2013
        * check_uninstall.ins:4-9
 
java (7.0.17-2.1) urgency=high
 -- Kevin Weis <kevin.weis@faw.de> 13:39 02.04.2013
        - Bugfix bugfix = hing fest bei der Installation/Deinstallation
 
java (7.0.9-2.0) urgency=high
 -- Kevin Weis <kevin.weis@faw.de> 12:19 12.11.2012
        - Umstellung auf MSI
        - Automatische Entscheidung zwischen x86 und x64
        - autoupdate = off
        - Bugfix = hing fest bei der Installation/Deinstallation
 
java (7.0-7) testing; urgency=low
 
java (7.0-4) testing; urgency=low
 -- Kevin Weis <kevinweis@gmx.de> 12:39 05.11.2012
  * Initial package

QR Code
QR Code userspace:java-ng (generated for current page)