0

我有一个用 NSIS 编写的更改后的 Java Launcher exe 文件,它启动一个 JAR 文件(http://nsis.sourceforge.net/A_slightly_better_Java_Launcher)。我想向 JAR 传递一个参数,该参数是调用 exe 的文件的绝对路径。

在 BAT 文件中,我可以使用“start MyApp.jar %1”并填充 abs 路径,但这似乎无法在 NSIS 中完成(或者我没有正确编写它,因为我的参数字面意思是“%1 ”)。

我希望我的命令是:javaw -jar MyApp.jar AbsolutePath

这是我目前希望将该路径添加到的行:

StrCpy $0 '"$R0" -jar "${JAR}"'

任何建议,将不胜感激。谢谢。

4

2 回答 2

0

这是为我的文件扩展名放入“打开”命令的行。在寄存器 R7 中,我放置了“javaw.exe”的路径。该方法(称为 GetJRE)在我的问题内的链接中。然后 Windows 本身填充调用我的 jar 的文件的参数并将其作为参数传递。

${registerExtension} "$R7$\" -jar -Djava.library.path=$\"$INSTDIR$\" $\"$INSTDIR\Viewer.jar" ".YourExtension" "YourExtension File"

${unregisterExtension} ".YourExtension" "YourExtension 文件"

于 2009-09-22T17:17:48.400 回答
0

%1 不一定是绝对路径,它只是第一个参数,也可以是相对路径(或者根本不是路径)

在这种情况下,使用 FileFunc.nsh 中的 ${GetParameters} 应该满足您的需求,即使它为您提供了每个参数,而不仅仅是第一个参数

于 2009-08-20T16:57:49.253 回答