gpt4 book ai didi

指定路径的Java JDK静默安装

转载 作者:可可西里 更新时间:2023-11-01 09:28:32 25 4
gpt4 key购买 nike

我想以静默模式(实际上是使用 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"

是什么让 Java 安装显示带有我可以在 MSI 安装程序中使用的参数的弹出窗口。

C:/java/ 路径是现有目录。

另外,我发现了这个网站: https://docs.oracle.com/javase/7/docs/webnotes/install/windows/jdk-installation-windows.html您可以在其中找到 JDK 的指定参数。

我想为此安装使用 Chef 资源 windows-package

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。

有没有什么简单的方法可以在静默模式下为这些安装程序设置安装路径?


规范:

  • Chef 12.4.1
  • 微软 Windows 7
  • 我要安装的 JDK 版本:6u357u798u45

我将不胜感激任何帮助,谢谢。

最佳答案

好的,我找到了解决这个问题的方法。

而不是使用类似的东西:

options     "/s INSTALLDIR=#{node['path']['jdk']}"

我不得不使用这样的东西:

options     "/v\"/qn INSTALLDIR=\\\"#{node['path']['JDK1.7'].gsub('/','\\')}\\\"\""

这种方式肯定适用于 JDK 67。对于那些想知道如何做的人来说,这是完整的例子:

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 installation fail

对于JDK 8,此参数运行良好:

options     "/s INSTALLDIR=\"#{node['path']['JDK1.8'].gsub('/','\\')}\""

感谢大家的努力!

关于指定路径的Java JDK静默安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31749598/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com