2012-06-22 45 views

回答

3

如果「的Netbeans 7.1」你的意思是你已經建立了使用NetBeans平臺的應用程序,你可以生成NetBeans平臺應用程序的安裝程序。見Customising the Netbeans Platform InstallerGenerate a NetBeans Platform Installer with NetBeans IDE 6.9等。

至於PostgreSQL:我會推薦不是自動安裝PostgreSQL。如果您願意,請將安裝程序與您的應用程序一起提供,但請不要將其安裝給用戶。

爲什麼?

  • PostgreSQL列表上的許多問題都來自那些在軟件中捆綁了PostgreSQL的古老版本的人。 (是的,我在看你的撲克追蹤器)。如果您鼓勵用戶在您支持的主要版本中下載最新的指向版本,您將不會遇到這些問題。

  • 您的應用程序可能會嘗試使用預設的密碼和位置靜默運行Pg安裝程序。如果其他人的應用程序已經爲相同主要版本運行了Pg安裝程序,或者用戶已經安裝了Pg,那麼您的應用程序將無法配置安裝,因此沒有任何內容可以正常工作。

  • 如果用戶以後想要安裝PostgreSQL並且不知道他們已經爲他們安裝了它們,他們將不知道PostgreSQL服務密碼或「postgres」管理員密碼,所以他們會感到困惑爲什麼Pg安裝程序無法滿足他們的期望。他們最終會成爲PostgreSQL郵件列表中的另一個混淆用戶。

我真的希望在EnterpriseDB的安裝程序能支持「烙」在安裝今後,凡安裝進入非默認端口上一個單獨的位置和單獨的服務帳戶,所以它不沒有踏上普通的Pg安裝。現在情況並非如此。

如果您確實需要請在您的應用程序中安裝PostgreSQL,請使用.zip二進制包(適用於Windows),並使用非默認端口在非默認位置自行運行initdb。這樣你就不會打破常規安裝。這也意味着你將更安全地安裝在Linux系統等其他平臺上,在這些平臺上PostgreSQL經常被作爲操作系統的一部分進行打包。

+0

另一種方法是簡單地使用PostgreSQL的私有版本,方法是解壓縮運行initdb但不將其註冊爲Windows服務的二進制分發版。這樣它就不會與任何系統安裝的Postgres相沖突。然後,服務器可以很容易地啓動應用程序啓動時使用pg_ctl –

+0

@a_horse_with_no_name這正是我在最後一欄建議,但可能不是很清楚。謝謝。 –

1

Java在JVM上運行,這意味着您的應用程序需要的唯一安裝是其計算機上安裝的處理器的Java運行時。

您可以分發JAR,或者如果需要,可以創建另一種語言的EXE或批處理文件來執行JAR。如果你採用EXE路線,你將不得不在兩種架構上進行編譯才能兼容。

相關:What does it mean for Java to be portable?

+0

是的我明白,Java是可移植的,但數據庫呢?在這種情況下,我只是問,因爲我想學習。所以要創建安裝嚮導,我必須使用其他語言? C? C++?必須有一些程序來爲我做......請記住,我還需要包含數據庫Postgres以與我的程序一起安裝。 –

+0

我以前從未使用'PostgreSQL',但取決於您如何連接到數據庫(通過操作系統或其他方法),它可能就像使用JAR提供空白數據庫文件一樣簡單。 –

+0

你可以給我一些教程或任何可以幫助我的嗎? –

相關問題