如何从NSIS ping数据库?

时间:2011-09-25 04:05:47

标签: database database-connection connection-string nsis

组合NSIS安装程序。 (第一次)

目前,我们安装的手动步骤是建立与数据库的URL连接,并将基本连接属性文件保存到Tomcat下的文件夹中。

为了解决这个问题,我们目前使用一个小型JAR应用程序来帮助用户构建此连接属性文件 它具有内置功能,可以尝试ping数据库。 它通过下拉选择不同的数据库供应商/版本来帮助用户,从而帮助构建URL。

enter image description here

在我的模型中,理想情况下,我想要一些不使用JAR应用程序的东西,并将此组件内置到安装程序中。像这样的东西: enter image description here

我已经知道我需要为此创建一个自定义页面(将使用NSISDialogDesigner之类的东西来帮助解决这个问题)。

我不确定这一点,是从NSIS ping数据库以确保提供正确的URL /凭据以及将错误返回到自定义页面的最佳方法。

在NSIS安装程序中实施此功能的最佳方法是什么?

对于后台,一旦我实现了这一点,后面的步骤将是通过运行我拥有的一些SQL脚本来创建数据库。 只是提前考虑,我猜他们拥有哪个数据库供应商/版本,将取决于运行哪个sql脚本。我想如果用户选择例如在此页面上的SQL Server 2005,这可以写入变量,以便在选择正确的sql脚本时使用。

1 个答案:

答案 0 :(得分:2)

解决此问题的最佳方法是编写一个辅助命令行应用程序,您应该在后台无形地运行,然后检查退出代码是否成功。这个帮助应用程序可以是Java,C ++,C#或任何其他任何东西,无论你喜欢什么。我已经参与了几个非常大的NSIS部署,我们在设置的不同阶段可能会启动10到20个这样的工具。对于单个WIN32 API调用,NSIS提供类似P / Invoke的包装器,但对于任何远程复杂的东西,帮助应用程序都是可行的。