2009-08-20 23 views
0

JARファイル(http://nsis.sourceforge.net/A_slightly_better_Java_Launcher)を起動するNSISで記述された変更されたJavaランチャーEXEファイルがあります。私はJARにパラメータを渡したいと思います。そのパラメータはexeを呼び出したファイルの絶対パスです。NSIS呼び出し元ファイルのパスを取得

BATファイルでは、「start MyApp.jar%1」を使用することができますが、absパスを埋めることができますが、NSISでは実行できません(または、正しく書いていません。 "%1"として)。

は、私は私のコマンドになりたい:javawを-jar MyApp.jar AbsolutePath

ここ

私はそのパスを追加したい現在、私のラインであるに:「$ -jar

STRCPY $ 0「は "$ R0" {JAR} "'

ご迷惑をおかけして申し訳ございません。ありがとう。

答えて

0

私のファイル拡張子の "open"コマンドに入れられる行は次のとおりです。レジスタR7で私は "javaw.exe"へのパスを配置しました。その方法(GetJREと呼ばれる)は私の質問の中のリンクにあります。 Windows自体は、自分のjarを呼び出すファイルのパラメータを埋め込み、それをパラメータとして渡します。

$ {registerExtension} "$ R7 $ \" -jar -Djava.library.path = $ \ "$ INSTDIR $ \" $ \ "$ INSTDIR \ Viewer.jar" ".YourExtension" "YourExtensionファイル"

$ {unregisterExtension} ".YourExtension" "YourExtensionファイル"

0

% 1は絶対パスである必要はなく、それだけで、最初のパラメータだ、それはまた、相対パス(または、すべてではないにパス)とすることができる

この場合、から$ {GetParameters}を使用FileFunc.nshは最初のものだけでなく、すべてのパラメータを提供しますが、あなたのニーズに合うはずです

+0

ありがとうアンダー。この関数の使い方を理解しようとしていますが、これは私を助けてくれるものです。 – Ken

+0

ヘッダーファイルをインクルードし、$ {GetParameters} $ 1を使用して$ 1のパラメータを取得します – Anders