Java JDK 指定路径静默安装

Java JDK silent installation with specified path

我想在指定版本中以静默模式(实际上是使用 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 安装显示弹出窗口 window 以及我可以在 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.

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


规格:


如果有任何帮助,我将不胜感激。

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

而不是使用类似的东西:

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 8这个参数工作正常:

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

感谢大家的努力!