Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file NSIS为MUI_FINISHPAGE_运行设置javaw类路径_Batch File_Nsis_Javaw - Fatal编程技术网

Batch file NSIS为MUI_FINISHPAGE_运行设置javaw类路径

Batch file NSIS为MUI_FINISHPAGE_运行设置javaw类路径,batch-file,nsis,javaw,Batch File,Nsis,Javaw,我已经用NSIS为我的java应用程序创建了一个安装程序,运行良好。我想在安装程序的末尾添加run选项勾选框。该应用程序是通过.bat文件启动的 几次谷歌搜索后,a在我的NSIS脚本中添加了以下内容: !define MUI_FINISHPAGE_RUN !define MUI_FINISHPAGE_RUN_NOTCHECKED !define MUI_FINISHPAGE_RUN "$INSTDIR\path\to\myApp.bat" !define MUI_FINISHPAGE_RUN_T

我已经用NSIS为我的java应用程序创建了一个安装程序,运行良好。我想在安装程序的末尾添加run选项勾选框。该应用程序是通过
.bat
文件启动的

几次谷歌搜索后,a在我的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找不到'javaw'。确保键入的名称正确,然后重试
,并根据需要设置的javaw路径,但我正在启动一个bat,它依次调用
javaw
。然而,当我简单地手动运行.bat时,它工作得很好


有没有一种方法可以在NSIS安装程序中设置java路径而不必编辑.bat本身?

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

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

System::Call 'KERNEL32::SetEnvironmentVariable(t "name", t "value")i.r0' ; $0 is 0 on error...

向我们展示批处理文件的外观将有助于。。。