2009-08-20 134 views
0

我有一個改寫的Java啓動程序exe文件寫在NSIS中,啓動一個JAR文件(http://nsis.sourceforge.net/A_slightly_better_Java_Launcher)。我想傳遞給JAR一個參數,該參數是調用exe文件的絕對路徑。NSIS得到調用者文件路徑

在一個BAT文件中,我可以使用「start MyApp.jar%1」,並填寫abs路徑,但這不能在NSIS中完成它似乎(或者我沒有正確寫入它導致我的參數字面意思作爲「%1」)。

我希望我的命令是:javaw進程的罐子MyApp.jar AbsolutePath

這是目前我行,我想這條道路添加到:

STRCPY $ 0「 「$ R0」 罐子「$ {JAR}「'

任何建議,將不勝感激。謝謝。

回答

0

這是放在我的文件擴展名的「打開」命令行。在寄存器R7中,我放置了「javaw.exe」的路徑。該方法(稱爲GetJRE)在我的問題中的鏈接。然後Windows本身填充調用我的jar文件的參數並將它作爲參數傳遞。

$ {} registerExtension 「$ R7 $ \」 罐子-Djava.library.path = $ \ 「$ INSTDIR $ \」 $ \ 「$ INSTDIR \ Viewer.jar」 「.YourExtension」 「YourExtension文件」

$ {unregisterExtension}「.YourExtension」「YourExtension File」

0

%1並不一定是絕對路徑,這只是第一個參數,它也可能是一個相對路徑(或不路徑的話)從

在這種情況下,使用$ {GetParameters} FileFunc.nsh應該適合您的需求,即使它給了你所有的參數,而不僅僅是第一個參數

+0

Thanks Anders。試圖找出如何使用這個功能,但這似乎是什麼將幫助我。 – Ken 2009-08-20 17:49:46

+0

只包含頭文件並使用$ {GetParameters} $ 1獲取$ 1中的參數 – Anders 2009-08-20 19:02:44