我们希望在多台机器上更新JDK环境,所有运行的窗口都有不同的版本(XP或7)
为此,我现在正在创建一个脚本,该脚本将自动运行正确的安装程序(32/64位)。 我尝试使用以下命令运行安装程序:
jdk-8u25-windows-x64.exe /s ADDLOCAL="ToolsFeature,SourceFeature,PublicjreFeature"
这在没有安装JDK / JRE 8的机器上工作正常。但是,我遇到了一些问题:
我看过这些来源:
但他们似乎缺乏并且非常混淆什么会给我想要的结果。
答案 0 :(得分:9)
我将分别处理JDK和JRE:
JDK 不依赖于注册表项或安装程序exe执行的任何其他操作。因此,使用
在一台计算机上安装JDK - 不带公共JREjdk-8u25-windows-x64.exe /s ADDLOCAL="ToolsFeature,SourceFeature"
然后,您可以简单地压缩生成的安装,将其复制并解压缩到相同操作系统类型的其他计算机。
JRE 安装程序(从Oracle单独下载)可以使用选项和配置文件运行,如下所示:http://docs.oracle.com/javase/8/docs/technotes/guides/install/windows_installer_options.html
假设配置与安装程序exe位于同一目录中,则可以使用选项INSTALLCFG="%cd%\jre-install-options.cfg"
。否则,配置文件需要完整路径(INSTALLCFG =“c:\ path \ to \ jre-install-options.cfg”)。所以,像这样(使用日志文件并假设配置文件位于exe的同一目录中):
jre-8-windows-i586.exe INSTALLCFG="%cd%\jre-install-options.cfg" /s /L C:\TMP\jre-install.log
以下jre-install-options.txt似乎可能对您有用:
INSTALL_SILENT=Enable
REBOOT=Disable
STATIC=Enable
此处列出了配置文件选项:http://docs.oracle.com/javase/8/docs/technotes/guides/install/config.html
这里解释了最后一行的含义:http://docs.oracle.com/javase/8/docs/technotes/guides/install/windows_installer_options.html#static_installation
答案 1 :(得分:1)
我面临与/ s选项类似的问题。我发现了一个jdk bug https://bugs.openjdk.java.net/browse/JDK-8033364。我似乎已经取消了对帮助的支持。尝试/它对我有用
jdk-8u92-windows-x64.exe / qn
答案 2 :(得分:1)
支持的命令行选项似乎不断变化。对于最新的8 Update 131,我不得不放弃所有msiexec样式选项,因为它们都不起作用。我使用我下载的java版本的文档构建了到安装程序的开关。如上面的答案所示,配置文件选项可以在命令行上传递给安装程序。我在Packer中用于在Win2016 Server ami上安装Java的最后一个命令是:
Start-Process 'C:\Windows\Temp\jre-8u131-windows-x64.exe' `
-ArgumentList 'INSTALL_SILENT=Enable REBOOT=Disable SPONSORS=Disable' `
-Wait -PassThru
此命令默认情况下还会将Java添加到系统路径,但不会安装在它所安装的路径中。打开一个新的PowerShell shell,它将位于该shell的路径中(使用$env.path
进行检查)
事实来源:
http://docs.oracle.com/javase/8/docs/technotes/guides/install/windows_installer_options.html http://docs.oracle.com/javase/8/docs/technotes/guides/install/config.html#table_config_file_options
答案 3 :(得分:0)
对于JRE静默安装:
start /wait msiexec /i "%~ java8.40x64.msi " JU=0 JAVAUPDATE=0 AUTOUPDATECHECK=0 RebootYesNo=No WEB_JAVA=1 /q
您可以看到完整的帖子here。