Jar NSIS获取调用方文件路径

Jar NSIS获取调用方文件路径,jar,nsis,parameter-passing,Jar,Nsis,Parameter Passing,我有一个用NSIS编写的修改过的Java Launcher exe文件,它启动了一个JAR文件。我想向JAR中传递一个参数,该参数是调用exe的文件的绝对路径 在BAT文件中,我可以使用start MyApp.jar%1并填充abs路径,但这在NSIS中无法完成,或者我没有正确编写它,因为我的参数实际上是%1 我希望我的命令是:javaw-jarmyapp.jar绝对路径 以下是我当前希望将该路径添加到的行: StrCpy$0'$R0-jar${jar}' 如有任何建议,将不胜感激。谢谢。%1不

我有一个用NSIS编写的修改过的Java Launcher exe文件,它启动了一个JAR文件。我想向JAR中传递一个参数,该参数是调用exe的文件的绝对路径

在BAT文件中,我可以使用start MyApp.jar%1并填充abs路径,但这在NSIS中无法完成,或者我没有正确编写它,因为我的参数实际上是%1

我希望我的命令是:javaw-jarmyapp.jar绝对路径

以下是我当前希望将该路径添加到的行:

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


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

%1不必是绝对路径,它只是第一个参数,也可以是相对路径,也可以根本不是路径


在这种情况下,使用FileFunc.nsh中的${GetParameters}应该可以满足您的需要,即使它提供了每个参数,而不仅仅是第一个参数。在寄存器R7中,我放置了javaw.exe的路径。这个名为GetJRE的方法在我的问题中的链接中。然后Windows本身填充调用my jar的文件的参数,并将其作为参数传递

${registerExtension}$R7$\-jar-Djava.library.path=$\$INSTDIR$\$\$INSTDIR\Viewer.jar.YourExtension扩展文件


${unregisterExtension}.YourExtension YourExtension文件

谢谢Anders。正在尝试了解如何使用此函数,但这似乎会帮助我。只需包含头文件并使用${GetParameters}$1获取$1中的参数即可