2014-09-06 17 views
0

因此,我遇到了將Java應用程序安裝到所有操作系統上啓動的問題。如何以編程方式安裝jar文件以在所有操作系統上啓動 - Java

首先我知道這是可能的Windows通過添加一個新的密鑰註冊表(我認爲)。

I believe the command: 'reg add' works on windows. 

我不是100%地肯定的Mac,但我相信你可以使用一個服務包裝?

而對於Linux我不知道。

基本上我想我的應用程序安裝到啓動時,用戶勾選一個框,無論它運行在哪個操作系統上。

只是對這些的一些澄清,如果可能的話每個例子都可以幫助我。 任何幫助,這是非常感謝。 謝謝。

+0

通過「關於啓動」,你的意思爲系統服務(在計算機啓動時),或者作爲用戶應用程序(當用戶登錄)? – david 2014-09-06 11:47:44

+0

我的意思是當計算機登錄時,它將執行該文件。 – 2014-09-06 12:00:28

+0

你沒有清楚地回答我的問題。你的意思是程序應該在計算機啓動時運行(不管是否有用戶已經登錄;所以稱它爲「daemoon」,而不是「應用程序」)?或者,它應該在「安裝」它的用戶再次登錄時運行?或者它應該在任何用戶登錄時運行? – david 2014-09-08 14:23:59

回答

0

一個.desktop文件添加到以下目錄之一:

  • $XDG_CONFIG_DIRS/autostart//etc/xdg/autostart/默認情況下)爲所有用戶
  • $XDG_CONFIG_HOME/autostart/~/.config/autostart/默認情況下)爲特定的用戶

見有關詳細信息,請參閱FreeDesktop.org Desktop Application Autostart Specification

因此,例如,

PrintWriter out = new PrintWriter(new FileWriter(
     System.getProperty("user.home")+"/.config/autostart/myapp.desktop")); 
    out.println("[Desktop Entry]"); 
    out.println("Name=myapp"); 
    out.println("Comment=Autostart entry for myapp"); 
    out.println("Exec=" + installPath + "/bin/myapp_wrapper.sh"); 
    out.println("Icon=" + installPath + "/myapp_icon.png"); 
    out.flush(); 
    out.close(); 
+0

這個工作的操作系統是什麼? – 2014-09-08 23:17:58

+0

Linux。對於Windows,可能會看到http://superuser.com/questions/392061/how-to-make-a-shortcut-from-cmd。對於MacOS,可以參閱http://www.coderanch.com/t/111733/Mac/create-alias-Mac-java或http://lists.apple.com/archives/java-dev/2010/Feb/msg00091 .html。 – david 2014-09-15 23:51:01

相關問題