【问题标题】:How to troubleshoot why Excel disables an add-in?如何解决 Excel 禁用加载项的原因?
【发布时间】:2009-02-10 00:08:31
【问题描述】:

我使用Add-in Express 在.NET 中编写了一个Microsoft Excel 插件,并将它部署到大约50 个不同的用户站点,所有站点都在Windows XP 上运行Office 2003。该加载项在大多数站点上都可以正常工作,但在少数情况下,Excel 似乎会在一段时间后禁用该加载项,他们必须在禁用的项目列表中找到它才能重新启用。重新启用似乎可以解决它,至少是暂时的,尽管现在说它是否会再次发生还为时过早。所以我想弄清楚为什么 Excel 会禁用加载项,但我在这里寻找的只是找出 Excel 禁用加载项的原因的一般方法。在我的情况下,加载项在远程站点上运行,我只能有限地进行故障排除。我确实查看了事件日志并没有发现任何东西。我的加载项也有错误日志记录,但没有发现任何问题。

有什么建议吗?

【问题讨论】:

    标签: excel excel-addins


    【解决方案1】:

    我很确定 Excel 不会自动禁用您的插件(我没有找到任何描述此行为的内容,如果我错过了,请纠正我)。但是,如果插件崩溃/挂起等,那么下次 Excel 启动时,会弹出一个对话框,提示“此插件出现致命错误,您要禁用它吗?” (正如克里斯指出的那样)。

    我发现用户总是会单击“是”,这样他们就可以继续工作了。可能值得与您的用户交谈,看看他们是否见过这样的事情。

    很明显,您希望了解的插件存在潜在问题。我想您的下一步可能是(如果这些是您尝试过的明显调试步骤,我深表歉意):

    • 一定要添加一些配置来加快您的日志记录,以尝试缩小正在发生的事情。
    • 与用户交谈并找出导致 Excel 挂起/崩溃的条件,以便您可以尝试重现问题(如果这是崩溃,那么日志记录可能没有多大帮助)。
    • 在您的插件或您正在调用的代码中阻止可能导致用户杀死无响应的 Excel 的调用?

    祝你顺利找到问题。

    编辑:抱歉,在某些情况下 Excel 会自动禁用插件。我在插件的安全中心帮助中找到了以下内容:

    禁用未签名加载项的通知(代码将保持禁用状态) 仅当您选中需要受信任的发布者签名的应用程序扩展复选框时,此复选框才可用。在某些情况下,包含加载项的动态链接库 (.dll)(动态链接库:可以从 Visual Basic 过程调用并在运行时加载并链接到应用程序的一组例程。)可能未签名。在这些情况下,由受信任的发布者签名的加载项会被启用,但未签名的加载项会被静默禁用。

    禁用所有应用程序插件(可能会影响功能)如果您不信任任何插件,请选中此复选框。所有加载项都被禁用,没有任何通知,并且其他加载项复选框不可用。

    【讨论】:

    • 是的,自动禁用是很有可能的。大多数插件都没有受信任的发布者,因此它们只是在 Excel AV 之后被禁用。它甚至不一定是插件的“故障”,如果其他原因导致崩溃但插件的功能当时在堆栈上,那么 Excel 将责备插件并禁用它。
    • 晚会有点晚 - 但要添加到后续步骤 - 如果您的加载项崩溃并且您无法重现它 - 您可以要求用户使用 procdump 进行故障转储或 adplus 并将转储文件发送给您。然后您可以使用 windbg/ntsd 等进行调试。
    【解决方案2】:

    我已经看到当加载项出现致命错误并且进程终止时会发生这种情况。 Excel 会注意到这一点,并在下次自动禁用或提供禁用。您的加载项是否记录此类错误?

    【讨论】:

    猜你喜欢
    • 2018-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-15
    • 2021-07-20
    • 2022-08-06
    • 2012-10-20
    • 2020-08-08
    相关资源
    最近更新 更多