我在NSIS中编写了一个改进的Java Launcher exe文件,它启动了一个JAR文件(http://nsis.sourceforge.net/A_slightly_better_Java_Launcher)。我想传递给JAR一个参数,该参数是调用exe的文件的绝对路径。
在BAT文件中,我可以使用“启动MyApp.jar%1”并填充abs路径,但这似乎无法在NSIS中完成(或者我没有正确编写它因为我的参数字面上是“%1”)。
我希望我的命令是:javaw -jar MyApp.jar AbsolutePath
这是我目前的行,我希望将该路径添加到:
StrCpy $ 0'“$ R0”-jar“$ {JAR}”'
任何建议将不胜感激。感谢。
答案 0 :(得分:0)
%1不一定是绝对路径,它只是第一个参数,它也可以是相对路径(或者根本不是路径)
在这种情况下,使用FileFunc.nsh中的$ {GetParameters}应该符合您的需求,即使它为您提供了每个参数,而不仅仅是第一个参数
答案 1 :(得分:0)
这是放入我的文件扩展名的“open”命令的行。在寄存器R7中,我将路径放在“javaw.exe”中。该方法(称为GetJRE)位于我的问题中的链接中。 Windows本身然后填写调用我的jar的文件的参数,并将其作为参数传递。
$ {registerExtension}“$ R7 $ \”-jar -Djava.library.path = $ \“$ INSTDIR $ \”$ \“$ INSTDIR \ Viewer.jar”“。YourExtension”“YourExtension File”
$ {unregisterExtension}“。YourExtension”“YourExtension File”