具有指定路径的Java JDK静默安装
我想以静默模式(事实上,使用Chef)安装指定版本的JDK 我的问题是,当我添加INSTALLDIR参数时,Java JDK安装失败。没有它,JDK将安装在默认目录(C:/Program Files/Java/或C:/Program Files(x86)/Java/)中 我在运行命令具有指定路径的Java JDK静默安装,java,windows,installation,chef-infra,silent,Java,Windows,Installation,Chef Infra,Silent,我想以静默模式(事实上,使用Chef)安装指定版本的JDK 我的问题是,当我添加INSTALLDIR参数时,Java JDK安装失败。没有它,JDK将安装在默认目录(C:/Program Files/Java/或C:/Program Files(x86)/Java/)中 我在运行命令 jdk-7u79-windows-i586.exe /s INSTALLDIR="C:/java" 也试过了 jdk-7u79-windows-i586.exe /s INSTALLDIR:"C:/java"
jdk-7u79-windows-i586.exe /s INSTALLDIR="C:/java"
也试过了
jdk-7u79-windows-i586.exe /s INSTALLDIR:"C:/java"
是什么让Java安装显示带有参数的弹出窗口,我可以在MSI安装程序中使用这些参数
C:/java/path是现有目录
此外,我还发现了这个网站:
您可以在其中找到JDK的指定参数
我想将Chef resource windows软件包用于此安装
windows_package node['name']['JDK1.8'] do
source node['source']['JDK1.8']
installer_type :custom
action :install
options '/s INSTALLDIR=C:/java2'
end
什么是产出
Mixlib::ShellOut::ShellCommandFailed
------------------------------------
Expected process to exit with [0, 42, 127], but received '1603'
---- Begin output of start "" /wait "D:\install\jdk-7u79-windows-i586.exe" /s INSTALLDIR=C:/java & exit %%ERRORLEVEL%% ----
STDOUT:
STDERR:
---- End output of start "" /wait "D:\install\jdk-7u79-windows-i586.exe" /s INSTALLDIR=C:/java & exit %%ERRORLEVEL%% ----
Ran start "" /wait "D:\install\jdk-7u79-windows-i586.exe" /s INSTALLDIR=C:/java & exit %%ERRORLEVEL%% returned 1603
我应该补充一点,我不想安装JRE,我的目标是安装JDK
有没有简单的方法可以在静默模式下为这些安装程序设置安装路径
规格:
- 厨师长12.4.1
- 微软视窗7
- 我要安装的JDK版本:6u35、7u79和8u45
谢谢您的帮助。好的,我找到了这个问题的解决方案 而不是使用类似于:
options "/s INSTALLDIR=#{node['path']['jdk']}"
我不得不用这样的东西:
options "/v\"/qn INSTALLDIR=\\\"#{node['path']['JDK1.7'].gsub('/','\\')}\\\"\""
这种方法肯定可以jdk6和7。以下是那些想知道如何做到这一点的人的完整示例:
windows_package node['name']['JDK1.7'] do
source node['source']['JDK1.7']
action :install
installer_type :custom
options "/v\"/qn INSTALLDIR=\\\"#{node['path']['JDK1.7'].gsub('/','\\')}\\\"\""
end
JDK 8存在问题-使用这一行会导致JDK安装损坏:
对于JDK 8而言,此参数工作正常:
options "/s INSTALLDIR=\"#{node['path']['JDK1.8'].gsub('/','\\')}\""
谢谢你的努力 您是否尝试过使用
C:\Java
而不是C:/Java
?正斜杠在Windows路径中不是严格合法的,有时也不起作用。你考虑过使用社区食谱吗?据报道,它支持windows:@Harry Johnston,是的,我在path中尝试了两种斜杠方式,但都没有成功。@Mark O'Connor,我明天会研究你的解决方案,非常感谢。