Java msi installer
Все о реестре Regedit / All about registry
Тихая установка Java 8 Update 66 / How Silent Install Java 8 Update 66 ?
Казалось бы установка такого продукта как Java не должна вызывать больших вопросов.
На деле тихая автоматизированная установка непростое дело.
A) Запустите дистрибутив под вашей учетной записью, не устанавливайте его
B) С папки в профиле вашего пользователя, а именно
Если у вас 32 разрядная ОС —
Если у вас 64 разрядная ОС
Где %Имя пользователя% — ваш логин входа в систему
С) Найдите файл jre1.8.0_66.msi скопируйте msi файл в директорию с дистрибутивом Java
D) Создайте конфигурационный файл и сохраните в папке с дистрибутивом JAVA
java.settings.cfg
В конфигурационном файле пропишите —
AUTO_UPDATE=0
INSTALL_SILENT=1
NOSTARTMENU=1
SPONSORS=0
WEB_ANALYTICS=0
E) Перед установкой необходимо скопировать msi файл из директории с дистрибутивом в директорию —
xcopy jre1.8.0_66.msi «C:windowssystem32configsystemprofileAppDataLocalLowOracleJava»* /I /S /Y /C /R
F) Устанавливаем саму программу с exe файла
Если у вас 32 разрядная ОС —
jre-8u66-windows-i586.exe /s INSTALL_SILENT=1 STATIC=1 AUTO_UPDATE=0 WEB_ANALYTICS=0 REBOOT=0 NOSTARTMENU=1 SPONSORS=0
Если у вас 64 разрядная ОС —
jre-8u66-windows-x64.exe /s INSTALL_SILENT=1 STATIC=1 AUTO_UPDATE=0 WEB_ANALYTICS=0 REBOOT=0 NOSTARTMENU=1 SPONSORS=0
G) Скопируйте конфигурационный файл java.settings.cfg из папки с дистрибутивом в директорию
C:ProgramDataOracleJava
I thought that Install Application Java in silent mode is easy, however practic result it appeared absolutely another
A) Download witch official site Java distributive Java 8 Update 66 and run it, but not INSTALL
B) If you install Java in 32 bit Operation System goto folder —
If you install Java in 64 bit Operation System goto folder
Where %You username% is you login in Windows
C) Find file jre1.8.0_66.msi and copy to filder witch you distributive
D) Before install create file java.settings.cfg and paste to file —
AUTO_UPDATE=0
INSTALL_SILENT=1
NOSTARTMENU=1
SPONSORS=0
WEB_ANALYTICS=0
E) Copy msi file to folder —
xcopy jre1.8.0_66.msi «C:windowssystem32configsystemprofileAppDataLocalLowOracleJava»* /I /S /Y /C /R
F) Install application
If you install Java in 32 bit Operation System —
jre-8u66-windows-i586.exe /s INSTALL_SILENT=1 STATIC=1 AUTO_UPDATE=0 WEB_ANALYTICS=0 REBOOT=0 NOSTARTMENU=1 SPONSORS=0
If you install Java in 64 bit Operation System
jre-8u66-windows-x64.exe /s INSTALL_SILENT=1 STATIC=1 AUTO_UPDATE=0 WEB_ANALYTICS=0 REBOOT=0 NOSTARTMENU=1 SPONSORS=0
G) Copy java.settings.cfg to folder —
C:ProgramDataOracleJava
Java msi installer
There are two methods to deploying Java Clients, using MSI or Offline Installation files. This guide will step you through the process of gathering and using both.
Offline EXE Silent Installation Instructions
You will need to use the Offline Installer that is available from our Java MSI Archive and then add on the parameters that you require for your own environment.
Below are the parameters, switches and examples for a Java silent install. The Java Windows offline installer command has following syntax:
.exe [/s] [INSTALLDIR= : ] [STATIC=1] [WEB_JAVA=0/1] [WEB_JAVA_SECURITY_LEVEL=VH/H/M/L]
where:
- .exe is the single executable installer for Java
- /s, if used, indicates silent installation
- INSTALLDIR, if used, specifies the drive and path of the JRE.
- If INSTALLDIR is not specified, the installation will go into C:Program Filesjavajre (default location).
- STATIC=1, if used, specifies a static installation.
- WEB_JAVA=0, if used, disables any Java application from running in the browser.
- WEB_JAVA=1, the default, enables Java applications in the browser.
- WEB_JAVA_SECURITY_LEVEL: if used, sets the security level of unsigned Java apps running in a browser. The possible values for this field are V (very high), H (high), M (medium, the default) or L (low).
Example 1
Suppose the Java installer is jre-7-windows-i586.exe and you want to install the following configuration:
- Perform a Windows Installation
- Install the JRE core, additional fonts, colors, and Soundbank
The command to install the above mentioned configuration is as follows:
Example 2
Suppose the JRE installer is jre-7-windows-i586.exe and you want to install the following configuration:
- Perform a Windows Offline Installation and install the JRE on D: drive at javajre
- Have all features of the JRE installed
The command to install the above mentioned configuration is as follows:
jre-7-windows-i586.exe /s INSTALLDIR=D:javajre
To keep the MS-DOS window open, until the installation of Java is complete use the start /w command as follows:
start /w jre-7-windows-i586.exe /s
Creating a Log File
Log file can be used to verify if an installation succeeded. To create a log file describing the installation append /L C:setup.log to the install command and scroll to the end of the log file to verify.
The following is an example for installation:
jre-7-windows-i586.exe /s /L C:setup.log
The above command causes the log to be written to the setup.log file, this is our personal favourite and we have the log file point to a server share so that we can keep an eye on any failed log file installations.
MSI Installation Instructions
If you want to run the MSI installers as silent, then you can use the following command:
msiexec.exe /i “javainstaller.msi” /q /norestart
where:
- msiexec.exe — this starts the MSI installer engine
- /i — this tells the msiexec.exe to run an install
- “javainstaller.msi” — filename of the MSI installer
- /q — tells the msiexec.exe to run as silent
- /norestart — tells the msiexec.exe to not allow an automatic restart after installation completion
Uninstalling the old version of Java Client using MSI Installer
Run the following command to uninstall the JRE:
32-bit JRE:
msiexec /x 26A24AE4–039D-4CA4–87B4–2F83218025F0 /qb /norestart
64-bit JRE:
msiexec /x 26A24AE4–039D-4CA4–87B4–2F86418025F0 /qb /norestart
The value in curly braces is the MSI product code for the JRE you want to uninstall. The text in blue, 18025, correlates to the JRE version 1.8.0_25. Modify the MSI product code accordingly depending on the JRE version that you want to uninstall.
Using the old version of Java Client using Offline EXE Installer
You can use this simple command to carry out the uninstall of old versions of Java Client (silently due to the /s variable):
jre1.8.0_91.exe /s REMOVEOUTOFDATEJRES=1
But if you want to carry out more advanced changes, you will need to create a configuration file to use alongside the offline EXE installer. So, create a text file, save it as a .cfg extension and you should use the options below to carry out what you want to do with your installer:
You also have all of these options to add to your configuration file:
- INSTALL_SILENT=Enable, Disable
- INSTALLDIR=PATH
- AUTO_UPDATE=Enable, Disable
- WEB_JAVA=Enable, Disable
- WEB_JAVA_SECURITY_LEVEL=H (high), VH (very high)
- EULA=Enable, Disable
- REBOOT=Enable, Disable
- NOSTARTMENU=Enable, Disable
- SPONSORS=Enable, Disable
The command line you would then use to run the offline installer and configuration file would be:
Extraction
If you wish to extract the MSI file yourself from the offline installer for Java, then you can follow this simple guide:
Once you have the executable installer you should launch the file until you get to the “Welcome to Java” dialogue page. You should not click the Install button, instead, navigate to your local appdata folder (the user Application Data folder). The location of the local appdata folder is different for each Windows platform.
Note: You can navigate directly to your appdata folder by typing from a run box:
The different locations for the local appdata folders per operating system are below:
NOTE: from version 8 update 60, replace “Sun” with “Oracle” for this part.
Windows Vista and Windows 7
Version 8 update 60 onward
Windows XP
C:Documents and Settings Local SettingsApplicationDataSunJavajre
Version 8 update 60 onward
C:Documents and Settings Local SettingsApplicationDataOracleJavajre
Windows 2000
C:Documents and Settings ApplicationDataSunJavajre
Version 8 update 60 onward
C:Documents and Settings ApplicationDataSunOraclejre
The jre folder will contain two files (one MSI file version 8 update 60 onwards):
Copy the MSI and CAB files from the appdata folder and into a new folder on your desktop (or any other temporary location).
Now, going back to your Java installation, click the Cancel button to terminate the installation. There is no need to continue installation after the MSI and CAB files have been extracted.
You can now use these two files to distribute over your network in your preferred method.
Version 8 Update 60 and above — MSI tweak for deployment
You may notice that using the extracted MSI files from version 8 update 60 and above, does not work. This is due to a setting within the MSI that needs to be changed.
Using Orca, edit the MSI file and go to the CustomAction table and look for “installexe”. Then look for the Type — this should be 1042 like below:
Click to enlarge
This needs to be changed to “3090” and then save the MSI file like below:
Click to enlarge
Uninstall Previous Versions
There is also a change that has to be made to the MSI to enable the new version to uninstall the old version. To do this, edit the MSI in Orca like above, then go down to the InstallExecuteSequence secetion on the left side menu, then go to RemoveExistingProducts and change the value to:
Save the MSI and then you can then use this MSI file for network distribution.
Feedback
If you have any questions or feedback about this guide, please feel free to leave us a message below in our comments section.
Java8.msi
Eventhough the EXE installer is internally still based on an MSI-file, like version 7, Oracle has removed the description from their web page how to extract the MSI-file, and they warn to not use this method any more.
They write that they cannot guarantee that Java will work correctly if installed like this, and that they may change the install method in future versions to make this method not work any more at all.
The alternative is to run the exe installer with a settings file, to make it run silent and set the required parameters. This can probably be done by wrapping it into an MSI with a install-script, but I have not yet done this, and can thus not provide a description.
SORRY!
Even worse, they have modified the MSI file such that it really does not work any more. It is theoretically possible to fix these errors, then it does work. But I decided to not provide this info here, to prevent receiving a cease and desist letter. Thanks Adobe for making me nervous.
Gone are the golden days in which it was officially allowed to work around copy protections «to make things interoperable». Today working around so called copy protections is illegal, and companies can declare arbitrarily what they declare to be a copy protection. At least that is the current state here in Germany.
Download the offline installer
Use the offline installer, instead of the normal installer. This has the added benefit that it doesn’t include the Ask-toolbar.
The easiest method is to use these direct download links.
If that page does not yet list the latest version, go to java.com, but ignore the big download buttons. Instead click in the header on download, and on the next page on ‘all java downloads’. The english version of that page is here, the german one here.
Change Security Settings (optional)
The browser plugin of Java version 1.7.51 (January 2014) and later will only run applets, which are signed with a digital certificate. This can be changed by creating a Deployment Rule Set, a whitelist («Exception List»), or by changing the security level from high to medium. More details here.
Maintaining a whitelist is more work, but provides much higher security, and should thus be preferred. The security level can be set by individual users in the Java Control Panel, and can be deployed to all users with the install option WEB_JAVA_SECURITY_LEVEL=M . This option can either be specified on the command line, or as entry in the properties table of the msi-file (name «WEB_JAVA_SECURITY_LEVEL», value «M»). For maximum security set it to «H».
Disable Browser-Plugin (optional)
For security reasons many people recommend to not use Java any more at all, or only when absolutely necessary. If you need Java only to run local apps, then you should disable the web browser plugin. This prevents that security vulnerabilities can be exploited by planting malware on web pages.
Note: If you want to keep using local jnlp-files (Java Web Start), do not tell Java to disable all browser plugins (first item below), instead disable it specifically in the web browser (second item).
prevent installation of browser-plugin
Starting with Java version 1.7.10, the installation of the plugin can be disabled by specifying WEB_JAVA=0 either as command line argument for the installer (found in this technote), or as property in the MSI-file. Oracle does not tell that this also works as property in the MSI-file, thanks Miles for this great find and for telling me.
If you ever want to switch back to a version with plugins, it is not enough to just uninstall the MSI with WEB_JAVA=0, and then install one without this property. Instead you must either install one with WEB_JAVA=1, or remove the registry key HKLMSOFTWAREOracleJavaDeploy that remains in the registry after the uninstall, especially the values WebDeployJava and deployment.webjava.enabled inside this key.
prevent use of browser-plugin by Internet Explorer
Remove these registry keys:
- HKLMSOFTWAREJavaSoftJava Plug-in
- HKLMSOFTWAREWow6432NodeJavaSoftJava Plug-in
(This appears to be outdated, does not have an effect on Internet Explorer version 11).
prevent use of browser-plugin by Firefox
Firefox searches the Java plugin with two methods. Both must be disabled:
- Set the preference plugin.scan.sunJRE in Firefox to a number higher than the current versison number of Java, for example 9.9 (Java 7u11 has internally the version number 1.7.11, so 9 is a lot higher).
- Remove the registry keys HKLMSOFTWAREMozillaPlugins@java.com *
The actual registry keys are version specific. For Java version 1.8.65 they are:
- @java.com/DTPlugin,version=11.65.2
- @java.com/JavaPlugin,version=11.65.2
Remove Old Versions
You should check all computers for old versions, because in the past the installers for Java did not automatically remove them. Oracle warns that leaving them on the computer ‘presents a serious security risk’. The Washington Post explains that this is because a ‘web site set up by a bad guy could be made to pick and choose which version of Java should be used.’
Version Numbers
Sun could not decide on a version number format, and Oracle does not dare to fix it, because it would break many things.
Depending on where you look, you will find several different version numbers for the same release, for example:
8.51 = 8.0.510 = 1.8.51 = jre1.8.0_u51
If you think that this is confusing, wait until you see their version numbering scheme.
Installation
AdoptOpenJDK binaries are available for download in the following types of installation package:
The binaries are supported on the architectures and operating systems listed in Supported Platforms. If you’re migrating to AdoptOpenJDK, you can learn about the differences between Oracle JDK and AdoptOpenJDK in our Migration Guide and any steps that you might need to take. For example, how to use IcedTea-Web as an alternative to Web Start.
Archive files
Platform:
Checksum
Installers
Installers are currently available for Windows®, Linux®, and macOS® JDK and JRE packages. Installation steps are covered in the following sections:
Windows MSI installer packages
AdoptOpenJDK Windows installer packages are available as standard .msi files, which can be run with an interactive user interface or run silently from the command line. The installer is designed for use on a per-machine basis, not per-user basis, so you can have only one installation of the MSI on a machine for all users.
Note: Windows installer packages are supported only on Windows x64 systems.
GUI installation
Instructions for running an interactive installation using the Windows MSI installer.
1. Download the .msi file. Open it to launch the installation program.
2. Read and accept the license if you are happy with the terms.
3. On the Custom Setup screen you can choose the features that you want to install and optionally change the default installation directory. By default, AdoptOpenJDK installs to c:Program FilesAdoptOpenJDK
with the following features, which you can deselect, if necessary:
- Add the installation to the PATH environment variable
- Associate .jar files with Java applications
Additional features can be selected by clicking on the directory tree where you see a check mark (x). These features include:
- Updating the JAVA_HOME environment variable
- Installing IcedTea-Web (AdoptOpenJDK 8 only)
- Associate .jnlp files with the IcedTea-Web application (AdoptOpenJDK 8 only)
4. When you have chosen the features that you want to install, click Next.
5. Click Install to begin the installation.
6. When the installation is finished, click Finish to close the program.
Command-line installation
A silent installation allows you to install the Windows package with pre-selected features without user interaction, which can be useful for widescale deployment. Follow these steps:
1. Download the .msi file.
2. Choose the features that you want to install, which are shown in the following table:
Java msi installer
Java Runtime Environment (JRE) - это исполнительная среда, позволяющая запускать приложения, написанные на языке Java.
Для скачивания с серверов Oracle идём в раздел Java Platform, Standard Edition выбираем кнопку JDK или JRE и нажимаем нужную, далее на открывшейся странице закачки в таблице Java SE Runtime Environment . | Java SE Development Kit . (для JDK документация и примеры скачивается там же, но отдельным архивом), обязательно! помечаем чекбокс Accept License Agreement и только тогда сервер разрешит нам скачать нужное. Никакие "прямые ссылки" там не работают! По умолчанию с Java.com скачивается онлайн установщик ставящий нужный пакет с удалённого сервера, если вам нужен обычный (автономный, оффлайн) установщик то выберите offline установщик.
Server JRE это специальный вариант предназначенный для работы в качестве сервера приложений и потому не имеющий многих функций обычного JRE (с ним некоторые программы могут не работать!).
Просьба! Шапку не портить и не вписывать в неё заведомо одноразовые "прямые ссылки"! Приведённые сейчас ссылки специально выбраны с учётом структуры серверов Oracle и будут работать пока там не переделают механизм адресации страниц закачки, а прямое указание URL страницы часто работает в лучшем случае до следующей её правки.
После завершения выпуска публичных обновлений для устаревших версий (в настоящий момент это версии 5, 6, 7) обновления доступны только корпоративным клиентам в их личном кабинете на Oracle TechNetwork по специальному контракту с продлённым сроком техподдержки конкретной версии и в открытом доступе ссылок на их скачивание Oracle не публикует.
Critical Patch Updates (CPU) - набор исправлений критических ошибок в системе безопасности и исправлений некритических ошибок исправленных в PSU предыдущей версии, рекомендуется для большинства установок.
Patch Set Updates (PSU) - полный набор исправлений обнаруженных к моменту его выхода ошибок. Включает все исправления входящие в CPU и оперативное исправления более редко встречающихся (частных) ошибок в т.ч. и признанных не критическими. Его стоит ставить если вы уверены что у вас могут проявится не только критические, но частные ошибки. Оперативные исправления текущего PSU войдут в CPU следующей версии.
Bundled Patch Release (BPR) - сборки для корпоративных клиентов с расширенным сроком поддержки. Набор и политика исправлений аналогичны PSU. В публичном доступе нет.
Какая именно сборка обновления содержит CPU (Critical Patch Updates), а какая PSU (Patch Set Updates) смотрим вверху страницы загрузки Java SE (номера версий JDK, Java SE и Server JRE совпадают).
Согласно странице сайта Оракла новые версии следует ожидать в первый четверг после 17-го января, апреля, июля и октября, а после 17-го февраля, мая, августа и ноября старая версия (если вы её не обновили) будет сообщать о необходимости обновления.
Список исправлений обычно публикуется для JDK т.к. JRE/JRE SE включают подмножество его возможностей.