首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有指定路径的Java静默安装

具有指定路径的Java静默安装
EN

Stack Overflow用户
提问于 2015-07-31 15:12:51
回答 1查看 2.4K关注 0票数 3

我希望在指定版本中以静默模式(实际上使用Chef)安装JDK。

我的问题是,当我添加INSTALLDIR参数时,Java安装失败。没有它,JDK将安装在默认目录中(C:/Program /Java/或C:/Program (x86)/Java/)。

我在执行命令

代码语言:javascript
复制
jdk-7u79-windows-i586.exe /s INSTALLDIR="C:/java"

也尝试过

代码语言:javascript
复制
jdk-7u79-windows-i586.exe /s INSTALLDIR:"C:/java"

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

C:/java/ path是现有目录。

此外,我还找到了这个站点:https://docs.oracle.com/javase/7/docs/webnotes/install/windows/jdk-installation-windows.html,您可以在这里找到JDK的指定参数。

我想使用主厨资源windows-包进行此安装。

代码语言:javascript
复制
windows_package node['name']['JDK1.8'] do
    source                  node['source']['JDK1.8']
    installer_type          :custom
    action                  :install
    options                 '/s INSTALLDIR=C:/java2'
end

是什么使输出

代码语言:javascript
复制
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

我应该补充一下,我不想安装--我的目标是安装JDK。

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

规格:

  • 厨师12.4.1
  • Microsoft 7
  • JDK的版本希望安装:6u357u798u45

我会感谢你的帮助,谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-03 08:37:38

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

而不是使用类似于:

代码语言:javascript
复制
options     "/s INSTALLDIR=#{node['path']['jdk']}"

我不得不用这样的方法:

代码语言:javascript
复制
options     "/v\"/qn INSTALLDIR=\\\"#{node['path']['JDK1.7'].gsub('/','\\')}\\\"\""

这种方法可以肯定地运行JDK 67。以下是那些想知道如何做到这一点的人的完整例子:

代码语言:javascript
复制
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,很好地处理了这个参数:

代码语言:javascript
复制
options     "/s INSTALLDIR=\"#{node['path']['JDK1.8'].gsub('/','\\')}\""

谢谢你的努力!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31749598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档