NSIS получить путь к файлу вызывающего - PullRequest
0 голосов
/ 20 августа 2009

У меня есть измененный исполняемый файл Java Launcher, написанный на NSIS, который запускает файл 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}"'

Любые предложения будут оценены. Спасибо.

Ответы [ 2 ]

0 голосов
/ 22 сентября 2009

Вот строка, которая вводится в команду «открыть» для моего расширения файла. В реестре R7 я поместил путь к «javaw.exe». Этот метод (называемый GetJRE) находится в ссылке внутри моего вопроса. Затем сама Windows заполняет параметр файла, вызывающего мой jar, и передает его в качестве параметра.

$ {registerExtension} "$ R7 $ \" -jar -Djava.library.path = $ \ "$ INSTDIR $ \" $ \ "$ INSTDIR \ Viewer.jar" ".YourExtension" "Ваш файл расширения"

$ {unregisterExtension} ".YourExtension" "Ваш файл расширения"

0 голосов
/ 20 августа 2009

% 1 не обязательно должен быть абсолютным путем, это просто первый параметр, это также может быть относительный путь (или вообще не путь)

В этом случае использование $ {GetParameters} из FileFunc.nsh должно соответствовать вашим потребностям, даже если он дает вам каждый параметр, а не только первый

...