我的安装程序在-post中启动批处理文件。在32位下这可以正常工作,但是当我安装了64位JVM时,我收到了这个错误:
'java'未被识别为内部或外部命令,可操作程序或批处理文件。
我的猜测是,由于NSIS是32位,它没有看到64位环境。如果我从命令提示符运行批处理文件,它可以正常工作。
如何获取64位Java的环境变量并在我的批处理文件中使用它们?
答案 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中的某个位置。但我会按照此链接中的说明进行操作!