2013-03-20 42 views
2

項目:使用Java 7如何將Jar轉換爲exe或msi包來遠程部署?

目的一個簡單的Swing應用程序:分發作爲一個.exe或MSI,這樣我可以發佈補丁&對應用的更新。

我知道的事實,有很多工具來轉換一個jar文件,.exe可執行我的問題是:

  1. 我用Java 7中的項目&目標系統沒有 的java 7 - 所以我必須將jre 7包含在我的包中?希望我使用的3 派對lib與jar一起編譯。
  2. 我要遠程將這個包解包到目標系統上嗎 可能嗎?
  3. 我必須通過部署 更新軟件包來遠程更新已安裝的應用程序。
+0

*「分發..以便我可以發佈補丁和更新到應用程序。」*應用程序。有一個GUI?用戶是否擁有網絡(或內部網)訪問權限?如果是這樣,[Java Web Start](http://stackoverflow.com/tags/java-web-start/info)可以做需要做的事情。編輯:對不起,JWS在「遠程」部分有點麻煩(點2)。 – 2013-03-20 09:36:25

回答

0

首先,發佈它作爲一個.EXE.MSI文件將無法​​爲您提供發佈補丁/升級的能力,對他們進行遠程處理。爲此,您需要爲連接到遠程存儲庫的特定應用程序實現您自己的Update Manager。有在SO討論此事幾個問題:

  1. How Should I Implement an Auto Updater
  2. How to Implement Auto Updater in Java
  3. Best way to update products

如果你挖一點在這個主題,你會發現比遲早,甚至當'自動更新'是一個要求,你不需要一個.EXE.MSI文件對於那,只要想想Eclipse IDE,它是分發d作爲.ZIP文件,並且它有自己的更新管理器。

但是,我認爲,當你說「distribute as .exe或MSI」時,你的意思是將其作爲自動安裝程序(與自動更新程序不同)分發。對於您有幾種選擇:

  1. 如果你只是想分發到Windows平臺(這是一種恥辱,因爲Java可以在很多平臺上運行),然後用著名NSISWiX Toolset嘗試。
  2. 如果你希望它是跨平臺的(我會推薦),然後在this question你會發現一個列表與幾個工具來獲得。
+0

是的,你是砰的一聲。我正在嘗試進行自動安裝。所以當我使用自動安裝有可能以後更新安裝的應用程序?我將使用IBM tivoli軟件分發來遠程部署應用程序 – Wills 2013-03-20 09:49:07