【问题标题】:Check firebird databases present检查存在的 firebird 数据库
【发布时间】:2011-02-26 14:57:31
【问题描述】:

如果系统上不存在 firebird,我们的软件安装程序会安装它,并且由于我们正在寻求 Win 证书,因此卸载程序应将其删除,但我们希望确保即使是安装程序将其放在那里,如果有的话新软件现在正在将它与新数据库一起使用,我们不会删除它(Firebird)。

问题是:是否可以查询服务器并询问其上运行的数据库是什么?这样我们就可以自动决定是否可以删除数据库。

一些额外的信息: 我们的安装程序是 Innosetup,它已经做得很好 - 我们只是因为“开发者”或“兼容”windows 徽标而试图让它更智能。

【问题讨论】:

    标签: installation firebird inno-setup uninstallation


    【解决方案1】:

    您可以向服务器查询通过 MON$ 表连接的其他数据库。唉,只有在卸载程序执行时连接处于活动状态时它才会起作用。

    我建议将 Firebird 安装到自定义目录并使用自定义端口号。这样您以后可以安全地卸载服务器。

    【讨论】:

    • 您好 - 感谢您的回答,如果下面的评论太愚蠢,我很抱歉:我正在尝试使用 MON$ 表来检查其他数据库,但例如,MON$DATABASE 仅显示实际的数据库是 MON$ 表所在的。我最接近它的是 MON$ATACHMENTS - 当我有两个连接时,它会显示它......但对于同一个数据库。另一种方法是在自定义目录上安装 Firebird,我们将尝试这样做。谢谢。
    • 是的。我错了。通过 MON$DATABASE,您只能看到您的连接。
    • 我接受您对第二段的回答。我们将需要更改我们的安装程序 - 以便安装的 Firebird 是“我们的”firebird,然后我们可以做任何我们需要的事情。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-29
    • 2010-10-15
    • 1970-01-01
    • 2021-11-30
    • 2014-07-08
    • 2019-06-24
    相关资源
    最近更新 更多