NSIS - 无法使用 64 位 Java 运行 Java 应用程序
我的安装程序在 -post 中启动一个批处理文件。在 32 位下,这工作正常,但是当我安装了 64 位 JVM 时,我收到此错误:
'java' 未被识别为内部或外部命令、可操作程序或批处理文件。
我的猜测是,因为NSIS 是 32 位的,它看不到 64 位环境。如果我从命令提示符运行批处理文件,它工作正常。
如何获取 64 位 Java 的环境变量并在批处理文件中使用它们?
My installer launches a batch file in -post. Under 32 bit this works fine but when I have 64 bit JVM installed I get this error:
'java' is not recognized as an internal or external command, operable program or batch file.
My guess is that since NSIS is 32 bit it does not see the 64 bit environment. If I run the batch file from the command prompt it works fine.
How can I get the environment vars for 64 bit Java and use them in my batch file?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我假设它在 64 位版本的 Windows 下运行。
64 位 Windows 做了一些“聪明”的事情来向后兼容 32 位。
注册表项和文件搜索路径会自动转移。
您使用的命令提示符将是 64 位命令提示符。
要运行 32 位命令提示符,请运行 %windir%\SysWoW64\cmd.exe。
您应该能够在那里重现您的故障情况。
32 位 NSIS 将以 32 位模式启动批处理文件。
您需要确定在64位下如何找到java.exe文件。
如果您在此处发布批处理文件,应该有一些相当明显的内容被转移。
I assuming this is running under a 64bit flavour of windows.
64bit Windows does "clever" things for back compatibility with 32bit.
Registry entries and file search paths get automatically diverted.
The command prompt you are using will be a 64bit command prompt.
To run the 32bit command prompt run %windir%\SysWoW64\cmd.exe.
You should be able to reproduce your failure condition there.
32bit NSIS will launch the batch file in 32bit mode.
You need to identify how the java.exe file is found under 64bit.
If you post your batch file here, there should be something reasonably obvious that is getting diverted.
我也遇到了和你一样的问题!我听从了这个人的建议
http://forum.ragezone .com/f428/add-fixing-java-recognized-internal-527269/
基本上,如果我必须总结一下,看看你的两个程序文件。它应该位于 C:\Program Files (x86)\Java\jdk1.6.0_10\bin 中的某个位置。但我会按照此链接中的说明进行操作!
I had the same problem you did! I followed this guy's advice
http://forum.ragezone.com/f428/add-fixing-java-recognized-internal-527269/
Basically, if I had to sum it up, look at your two Program Files. IT should be located somewhere in C:\Program Files (x86)\Java\jdk1.6.0_10\bin. But I would follow the directions in this link!