2011-07-11 35 views
4

インストーラは、-postでバッチファイルを起動します。 32ビット以下では正常に動作しますが、64ビットJVMがインストールされている場合、このエラーが発生します。NSIS - 64ビットJavaでJavaアプリケーションを実行できない

'java'は、内部または外部のコマンド、操作可能なプログラムまたはバッチファイルとして認識されません。

私の推測では、NSISは32ビットなので、64ビット環境は表示されません。コマンドプロンプトからバッチファイルを実行すると正常に動作します。

64ビットJavaの環境変数を取得し、バッチファイルで使用するにはどうすればよいですか?

+2

このバッチファイルはどのように起動していますか?いくつかのNSISコードを表示してください... – Anders

+0

ExecWait '"$ INSTDIR \ my.bat"' – sproketboy

答えて

4

これは、Windowsの64ビットフレーバで動作していると仮定します。

64bit Windowsは、32bitとの後方互換性のために "巧妙な"ことがあります。 レジストリエントリとファイル検索パスが自動的に転送されます。

使用しているコマンドプロンプトは、64ビットコマンドプロンプトになります。

32ビットコマンドプロンプトを実行するには、%windir%\ SysWoW64 \ cmd.exeを実行します。 ここで障害状態を再現できるはずです。 32ビットNSISは32ビットモードでバッチファイルを起動します。

64ビットでjava.exeファイルがどのように見つかったかを特定する必要があります。 ここにバッチファイルを投稿すると、流用されていることが合理的に分かるはずです。

1

私は同じ問題を抱えていました。私はあなたの2つのプログラムファイルを見て、それを合計しなければならなかった場合、私は、

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

基本的にこの男のアドバイスに従いました。 ITはC:¥Program Files(x86)¥Java¥jdk1.6.0_10¥binのどこかに置く必要があります。しかし、私はこのリンクの指示に従います!

関連する問題