【问题标题】:Master Scripts not Running during silent run of a database installer在数据库安装程序静默运行期间未运行主脚本
【发布时间】:2014-07-17 11:39:42
【问题描述】:

我有一个使用 Advanced Installer 软件设计的数据库安装程序。虽然在静默安装期间创建所有数据库、表、存储过程、函数等时我没有遇到任何问题,但问题在于用于填充某些主表的主数据脚本。其中一些主脚本未执行,而有些则执行。可能是什么问题?

【问题讨论】:

    标签: windows-installer silent-installer advanced-installer


    【解决方案1】:

    确保脚本不在 InstallUISequence 中,这是显而易见的 - 它们不会在静默安装期间运行。安装您的 MSI 并创建详细日志以查看发生了什么。

    【讨论】:

    • AI 内置的 SQL 支持仅在 ExecuteSequence 上运行脚本,所以这应该不是问题。但是,AI 让用户可以选择在每个脚本上设置独立的条件,并选择脚本是否应该在安装、卸载或维护时运行。
    • 我希望脚本在安装时运行。就执行条件而言,我可以在详细日志中获得所有这些信息吗?有什么工具可以帮助我浏览详细日志吗?还是手动操作是唯一的选择?
    • 获取 Orca,MSI 文件编辑器/查看器,看看您是否可以识别自定义操作。它们将位于 CustomAction 表中,并将出现在 InstallExecuteSequence 表中(按顺序排序),您将在其中看到它们是否运行的条件。 Advance Installer 没有描述或显示它们何时运行吗?
    • 确实如此。实际上我的自定义操作不是 InstallUISequence 或 InstallExecuteSequence 的一部分,它们是作为对话框编辑器的一部分执行的。
    【解决方案2】:

    脚本有执行条件,请确保未执行的脚本设置了正确的条件。另外,检查它们的连接状况,如果你把它们放在不同的数据库连接下。

    【讨论】:

    • 我认为连接不是问题,因为我们认为我们有不同的数据库,但它们都使用相同的连接字符串。所以,我想这是不可能的。但是是的,我需要查看详细日志以了解执行条件。
    猜你喜欢
    • 1970-01-01
    • 2011-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多