Java Runtime Environment (JRE) 1.6.0.31: Installation-Options?
What options can be used and with which results when installing JRE 1.6u31?
Using the MSI-File and the parameters mentioned below I find errors in the
log-file and have other problems:
1) Install:
Call MsiExec /I "%SRC%\jre1.6.0_31.msi" AUTOUPDATECHECK="0" COMPANYNAME="Companyname, Devisionname" EULA="0" ENDDIALOG="0" JAVAUPDATE="0" JU="0" TRANSFORMS="%SRC%\jre1031.MST" REBOOT=REALLYSUPPRESS ARPSYSTEMCOMPONENT=1 /qr /Li "%MSILogFile%"
1.1) This should be a non-static-installation; older existing versions should
be removed as this one should be removed with the next update.
Does anybody therefore uses /STATIC=0 (or /STATIC="0" with quotation
marks?)?
1.2) The parameters /ADDLOCAL, /IEXPLORE and /MOZILLA are deprecated
since version 1.6u10 so I don't use them any more; cf.:
https://www.java.com/en/download/help/silent_install.xml
1.3) /ARPSYSTEMCOMPONENT=1 or /ARPSYSTEMCOMPONENT="1"?
Do I have to use quotation marks, where shouldn't or mustn't I use them
with such options?
And even more I don't really understand the meaning, the aim of this
option ARPSYSTEMCOMPONENT=1. When I tried to understand it after
searching the web I set the value to '0' - but found the value '1' being
used with many other installations.
1.4) In the Jusched.log.-file I found:
'...:: MSICheckPendingFileRenameOperations: RegOpenKeyEx() failed with ERROR_FILE_NOT_FOUND: 2, Error Code: 6'
To me this seems to be OK as there should be no Java-Update-Scheduler
up running. But maybe this error is a hint to look for other problems?
1.5) In the MSI-log I found:
'Aktion gestartet um 15:25:26: LicenseAgreement.
[Action started at 15:...]
DEBUG: Error 2726: Action not found: LicenseAgreement
Interner Fehler 2726. LicenseAgreement
[Internal error 2726...]
Aktion beendet um 15:25:26: LicenseAgreement. Rückgabewert 0.'
[Action terminated at 15:... Return value 0.]
[Usually the return codes are '1'.]
Because of these entries in the log-file I added the option /EULA="0" but
haven't checked yet if this error is still logged.
2) Repair:
Call MsiExec /femus "%SRC%\jre1.6.0_31.msi" AUTOUPDATECHECK="0" COMPANYNAME="Companyname, Devisionname" EULA="0" ENDDIALOG="0" JAVAUPDATE="0" JU="0" TRANSFORMS="%SRC%\jre1031.MST" REBOOT=REALLYSUPPRESS ARPSYSTEMCOMPONENT=1 /qr /Li "%MSILogFile%"
2.1) I am using /femus instead of /Fvomus as I had found suggestions
that /Fvemos causes trouble with a JRE-(repair-)installation.
2.2 MSI-log:
DEBUG: Error 2726: Action not found: reinstalldialog
Interner Fehler 2726. reinstalldialog
[Internal error 2726...]
Aktion beendet um 19:13:10: reinstalldialog. Rückgabewert 0.
[Action terminated at 19:... Returnvalue 0]
Aktion gestartet um 19:13:10: MaintenanceWelcome.
[Action started at 19:...]
DEBUG: Error 2726: Action not found: MaintenanceWelcome
Interner Fehler 2726. MaintenanceWelcome
[Internal error 2726...]
Aktion beendet um 19:13:10: MaintenanceWelcome. Rückgabewert 0.
[Action terminated at 19:... Returnvalue 0]
3) Uninstall:
Call MsiExec /X {26A24AE4-039D-4CA4-87B4-2F83216031FF} REBOOT=REALLYSUPPRESS /qr /Li "%MSILogFile%"
As the installation (and a repair) don't work properly (which might result
out of other errors I've made within the script for the deployment-tool
we use), I haven't really checked this uninstallation yet.
But it would be very helpful if there would be a list of supported options
(including which value to use to get what result)!
Thank you!
Regards
Bernd Leutenecker
Answers (3)
the best advice I can give you is to use a (system level) deployment.properties and deployment.config file when packaging any JRE
Have a look here for more info: http://docs.oracle.com/javase/1.5.0/docs/guide/deployment/deployment-guide/properties.html
To my knowledge it's the only dependable way to disable auto-updates for example.
Also, beware of using ARPSYSTEMCOMPONENT, read this very interesting blog for more info: http://blogs.msdn.com/b/heaths/archive/2005/08/05/448198.aspx
I'm not entirely sure if it was this property, but it might be enough just to set it in your package (regardless of the actual value) to have it take effect.
Comments:
-
Why cant you just include this properties in your jre1031.MST. You won`t have to worry about using quotations to those properties then. If not am I missing anything here. - akki 12 years ago
If you set *any* value for the ARPSYSTEMCOMPONENT property, Windows Installer (WI) will install the product as a system component. If you don't want that, then remove the property completely.
ADDLOCAL is a property, not an argument. Thus, "/ADDLOCAL" will be ignored. You should be using "ADDLOCAL=[feature],[next_feature],[some_other_feature]"
WI treats everything as a string so quotes around values are superfluous EXCEPT when specifying OS paths with spaces in their names.
Lastly, remember that the JRE MSI is not a proper MSI. All it does is extract a bunch of compressed files and then runs a set of Custom Actions to uncompress then execute them.
Comments:
-
good point on the addlocal, and I guess this confirms what I thought about ARPSYSTEMCOMPONENT :-) - pjgeutjens 12 years ago