NSIS - 无法使用64位Java运行Java应用程序

时间:2011-07-11 11:12:57

标签: java nsis

我的安装程序在-post中启动批处理文件。在32位下这可以正常工作,但是当我安装了64位JVM时,我收到了这个错误:

'java'未被识别为内部或外部命令,可操作程序或批处理文件。

我的猜测是,由于NSIS是32位,它没有看到64位环境。如果我从命令提示符运行批处理文件,它可以正常工作。

如何获取64位Java的环境变量并在我的批处理文件中使用它们?

2 个答案:

答案 0 :(得分:4)

我认为这是在64位版本的Windows下运行。

64位Windows为32bit的兼容性做了“聪明”的事情。 注册表项和文件搜索路径会自动转移。

您正在使用的命令提示符将是64位命令提示符。

要运行32位命令提示符,请运行%windir%\ SysWoW64 \ cmd.exe。 你应该能够在那里重现你的失败状况。 32位NSIS将以32位模式启动批处理文件。

您需要确定如何在64位下找到java.exe文件。 如果你在这里发布你的批处理文件,那么应该有一些相当明显的东西被转移。

答案 1 :(得分:1)

我遇到了同样的问题!我听了这个家伙的建议

http://forum.ragezone.com/f428/add-fixing-java-recognized-internal-527269/

基本上,如果我不得不总结一下,请查看两个程序文件。 IT应位于C:\ Program Files(x86)\ Java \ jdk1.6.0_10 \ bin中的某个位置。但我会按照此链接中的说明进行操作!