的NetBeans對創建「本機」應用程序,即,爲Windows MyApp.exe將文件打包選項。這一點的重要性在於你得到一個Windows可執行文件INCLUDES JRE,這意味着最終用戶不需要在他/她的機器上安裝Java或JRE來運行該應用程序。
這聽起來很棒,但文檔並不清楚如何使其工作,至少不是我。這是我學到的東西。
首先,爲了實現這個目標,您必須在您的開發計算機上安裝Inno Setup 5或更高版本。顯然,NetBeans創建了一個Inno .iss文件並運行它。
爲了更好地理解它,我爲Inno AnagramGame示例做了一個NetBeans項目。要啓用本地打包選項,請先選擇NetBeans中的項目,右鍵單擊並選擇「屬性」|「部署」。檢查Native包裝盒。這會導致EXE選項位於NetBeans打包菜單上。也就是說,選擇項目,右鍵單擊,然後單擊程序包。點擊EXE安裝程序啓動構建「包」的過程。
構建安裝程序需要很長的時間,因爲它必須累積JRE的所有必要部分並將其合併到程序包中。這也使安裝程序BIG。即使是最小的Java程序,它也將是大約35 Mb。
一些應用程序的本地包裝之後,例如AnagramGame2,你會發現在NetBeans項目文件夾下面的: C:\用戶\埃德·索維爾\文檔\的NetBeansProjects \ AnagramGame2 \ DIST \ anagrams.jar 和 C:\ Users \ Ed Sowell \ Documents \ NetBeansProjects \ AnagramGame2 \ dist \ bundles \ AnagramGame2-1.0.exe
Anagrams.jar是AnagramGame2應用程序的Java歸檔文件。如果您安裝了JAVA,則實際上將通過雙擊運行該項目。但是,如果將其移動到另一臺未安裝Java或JRE的計算機上,則它將不可執行。原因是jar文件不包含JRE。我花了很長時間才意識到這一點。
現在,您可能會認爲AnagramGame2-1.0.exe是應用程序的本機可執行文件,但是,不是。這實際上是安裝者,另一件事花了我很長時間才意識到。
那麼,哪裏是傳說中的Windows本機應用程序文件?答案是沒有,但是。爲了得到它,你必須運行安裝程序!運行後,你會發現在所有地方的C:\ Users \ Ed Sowell \ AppData \ Local \ AnagramGame2中很想要的EXE:
C:\ Users \ Ed Sowell \ AppData \ Local \ AnagramGame2 \ AnagramGame2。 exe
此外,選擇適當的選項後,應用程序名稱將出現在Windows的「開始」菜單和桌面上。
因此,分發,你必須在Windows本地應用程序:
- 創建一個NetBeans項目。
- 做項目的一個乾淨的構建
- 要啓用該項目
- 做一個包作爲本土包裝選項|機安裝
- 分發安裝程序,在本例中爲AnagramGame2-1.0.exe
- 您的用戶然後運行安裝程序。之後,他/她從「開始」菜單運行應用程序或雙擊桌面圖標。
對於正確使用此NetBeans/Inno安裝過程,仍然存在很多不明白的地方。有一些小小的謎團,比如爲什麼它隱藏了User AppData Local中最終產品的位置。誰會想到那裏?爲什麼它會調用安裝程序AnagramGame2-1.0.exe而不是像setupAnagramGame2.exe這樣的東西?但是,這是我尚未解決的最大問題:如何安裝應用程序所需的輔助文件?或者從INI文件中獲取所需的數據?如果在NetBeans過程中構建和使用的.iss文件可用於編輯,但到目前爲止我還找不到它。我的猜測是它被刪除。除此之外,我能想到的唯一辦法是編寫另一個 .iss文件來完成這項工作。不幸的是,這意味着用戶必須下載並運行兩個安裝程序!
什麼.jar文件?我以爲你有一個exe ... –
我指的是myApp.jar。詳細闡述一下,Netbeans創建app jar文件,比如myApp.jar。我使用Inno Setup創建setup.exe。 Inno腳本指示將myApp.jar保存到C:\ ProgramFiles \ myApp中。 –
因此,如果您的問題實際上是「如何使NetBeans本地安裝程序中的Inno安裝文件可訪問」,請相應地對其進行編輯。或刪除這一個,並要求一個新的。 –