环境: 虚拟机vbox, 虚拟系统 win7_x64
jdk-6u45-windows-x64.exe
Java 安装是使用 Microsoft Window Installer (MSI) 2.0 技术构建的。MSI 包含对静默或无人参与安装的内置支持。
JDK silent install 使用的command line为:
start /w \\VBOXSVR\tools\tools\jdk-6u45-windows-x64.exe /lang=<语言代码> /L "d:\tool\Java\installjava.log"
/s ADDLOCAL="ToolsFeature,SourceFeature,PublicjreFeature" INSTALLDIR=D:\tool\Java\jdk1.6.0_45x64\
/INSTALLDIRPUBJRE=\"D:\tool\Java\jre6_x64\" WEB_JAVA=0 AUTO_UPDATE=0
参数paramter:
/lang=<语言代码> 安装特定语言包,2052--为中文
/L=D:\tool\Java\installJava.log 记录日志
/s 表示静默安装
ADDLOCAL = [[ToolsFeature],[SourceFeature],[PublicjreFeature]] 选择附加组件包各个参数可独立使用也可以组合使用
ADDLOCAL = ["ToolsFeature,SourceFeature,PublicjreFeature"] 安装开发工具/源代码/JRE
ADDLOCAL = ["ToolsFeature,SourceFeature"] 安装开发工具和源代码
/INSTALLDIRPUBJRE public jre安装路径,格式为/INSTALLDIRPUBJRE=\"D:\tool\Java\jre6_x64\"
WEB_JAVA = 1|0 Java浏览器支持: 1启用 0禁用
SPONSORS= 1|0 绕过赞助商,如浏览器插件,实测发现完整安装了JDK
WEB_JAVA_SECURITY_LEVEL = VH|H|M|L 浏览器中运行的未签名 Java 应用程序的安全级别 非常高|高|中|低
AUTO_UPDATE= 1|0 JDK自动检测更新 1启用 0禁用
NOSTARTMENU= 1|0 创建开始菜单 1禁用 0 启动
注意参数的写法:
installdir=d:\..., 不能加引号
/installdirpubjre=\"d:\...", public jre的安装需要引号,确在前面加上反斜杠.
在JDK的安装中,除了安装JDK外,还可以安装JRE。此时的JRE是作为public jre, JDK里包含private jre,但是这两个jre的大小不一样,
private JRE文件夹的大小 101 MB, public JRE的大小为 98.4 MB。
通过指定addlocal=[publicjreFeature] ,才可以安装public jre,才可以指定 公共的jre安装路径,/installdirpubjre=\"C:\Program File".
现在整理成bat文件
@echo off
cls
echo *******************************
echo.
echo 一键安装 Java SE Development Kit 到本地
echo.
echo ******************************
pause
set jdkPath=\\VBOXSVR\tools\tools\jdk-6u45-windows-x64.exe
rem 设置jdk安装路径,jre安装路径
set commonPath=d:\tool\Java
set jdkinstallPath=%commonPath%\jdk1.6.0_45_x64\
set jreinstallPath="%commonPath%\jre6_x64"
echo jdk和jre安装路径
echo %jdkinstallPath%
echo %jreinstallPath%
echo.
echo 正在安装jdk,请不要执行其他操作
echo.
echo 请稍后,这个时候需要二、三分钟
echo.
echo start /w %jdkPath% /L "%commonPath%\installjava.log"
/s ADDLOCAL="ToolsFeature,SourceFeature,PublicjreFeature"
INSTALLDIR=%jdkinstallPath% /INSTALLDIRPUBJRE=\"%jreinstallPath%"
WEB_JAVA=0 AUTO_UPDATE=0
start /w %jdkPath% /L "%commonPath%\installjava.log" /s
ADDLOCAL="ToolsFeature,SourceFeature,PublicjreFeature"
INSTALLDIR=%jdkinstallPath% /INSTALLDIRPUBJRE=\"%jreinstallPath%"
WEB_JAVA=0 AUTO_UPDATE=0
pause
参考:
Installing With a Configuration File
Java 8 SE Documentation
How do I arrange a silent (unattended) Java installation?
Language IDs
Installing the JDK Silently
[原创]自定义参数静默方式安装JDK1.8
How to silently install Java JDK into a specific directory on windows