0

我已经为我的 java 应用程序创建了一个带有 NSIS 的安装程序,它工作正常。我想在安装程序末尾添加运行选项复选框。该应用程序使用.bat文件启动。

经过几次谷歌搜索后,将其添加到我的 NSIS 脚本中:

!define MUI_FINISHPAGE_RUN
!define MUI_FINISHPAGE_RUN_NOTCHECKED
!define MUI_FINISHPAGE_RUN "$INSTDIR\path\to\myApp.bat"
!define MUI_FINISHPAGE_RUN_TEXT "Run My App"
!insertmacro MUI_PAGE_FINISH

我得到了错误Windows cannot find 'javaw'. Make sure you've typed the name correctly, then try again,据此需要设置 javaw 路径,但我正在启动一个 bat 反过来调用javaw. 然而,当我简单地手动运行 .bat 时,它工作正常。

有没有办法在 NSIS 安装程序中设置 java 路径而无需编辑 .bat 本身?

4

1 回答 1

1

为什么在安装程序和 javaw 之间有一个批处理文件会有帮助?%Path% 和其他环境变量是从父进程继承而来的。

我不知道您是否正在更新注册表并发送 WM_WININICHANGE 但如果您需要使用更新的环境启动子进程,那么您还需要直接更新安装程序进程:

System::Call 'KERNEL32::SetEnvironmentVariable(t "name", t "value")i.r0' ; $0 is 0 on error...
于 2014-06-11T10:30:31.573 回答