【问题标题】:WiX creating a table on an existing databaseWiX 在现有数据库上创建表
【发布时间】:2025-11-30 03:00:02
【问题描述】:

我正在为现有应用程序创建一个插件,我需要向该应用程序正在使用的数据库(MSSQL 数据库)添加一个表。问题是我找不到有关如何使用 wix 执行此操作的任何教程或文档。我为 UI 使用 msiext 来检索数据库服务器以及访问和执行数据库操作的凭据。

希望您能帮助我,如果您需要任何其他信息,请询问我。

【问题讨论】:

    标签: sql-server wix wix3.8


    【解决方案1】:

    它不在,因为在安装程序中操作数据库是一个非常糟糕的主意 - 我通常不应该使用数据库中的权限执行。

    您最好遵循最佳实践并在应用程序安装之外处理数据库维护,就像我见过的所有其他商业应用程序一样。通常,数据库更新和应用程序更新是并且应该是分开的。

    如果您必须这样做 - 执行自定义操作。

    【讨论】:

    • 感谢您的回答,我尝试从安装程序操作数据库的一点是该插件在无权创建表的服务帐户下运行。
    • 所以它需要您安装另一个可以运行的工具来设置数据库。就这么简单。
    【解决方案2】:

    虽然它不是最漂亮的解决方案,但我设法让它使用 sql 脚本标签,例如:

    <sql:SqlScript Id='CreateTable' BinaryKey='CreateTable' ExecuteOnInstall='yes' />
    

    它会创建我的表格。

    【讨论】: