nsis - 通过NSIS安装时如何使用后台进程安装jre?

标签 nsis java

我尝试通过在我的exe中安装jre引用这个link

Function installjre
SetOutPath '$TEMP'
SetOverwrite on
File lib\jre.exe
Exec $TEMP\jre.exe $0
FunctionEnd

我已经使用过上面的内容并且效果很好。

问题:

  1. 如何在后台进程安装jre?可以以静默模式安装jre吗?
  2. 默认情况下,jre 将采用 c:\program files\java\jre,我需要在运行静默模式时将此路径更改为 $INSTDir\jre

我尝试过以下命令,但似乎不起作用

Exec /silent $TEMP\jre.exe $0

如何解决以上两个问题?

最佳答案

JRE Installer Options 的在线文档中人们可以阅读:

<jre>.exe [/lang=] [/s] [IEXPLORER=1] [MOZILLA=1] [INSTALLDIR=:\] [STATIC=1]

  1. 选项的详细信息:

    /s, if used, indicates silent installation

  2. 还有

    INSTALLDIR, if used, specifies the drive and path of the installation If INSTALLDIR is not specified, the installation will go into C:\Program Files\java\jre1.6.0 (default location).

因此,jre 设置的正确调用是

ExecWait '"$TEMP\jre.exe" /s INSTALLDIR=$INSTDir\jre'

注意 ExecWait 和引号的用法。

引用此link也来自转义引号。

关于nsis - 通过NSIS安装时如何使用后台进程安装jre?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16960051/

相关文章:

java - 如何找到不属于任何套件的单元测试?

java - 将值从 Controller 传递到过滤器

cmake - CPack:如何执行多个 CPACK_NSIS_EXTRA_INSTALL_COMMANDS?

以静默模式安装 .NET Framework 4

windows - 如何使用 ExecDos 命令隐藏命令提示符窗口

NSIS 多个 if 条件

MySQL 静默安装(使用 NSIS)无法正常工作

java - GWT 和泛型

java - 通过数组使用 XML 创建 JSP

java - "PickList"的 Swing/AWT 实现