2012-06-22 19 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

你可以给我一些教程或任何可以帮助我的吗? –

相关问题