我使用Add-in Express在.NET中编写了一个Microsoft Excel加载项,并将其部署到大约50个不同的用户站点,所有这些站点都在Windows XP上运行Office 2003.加载项在大多数站点上都能正常工作,但在少数情况下,Excel似乎会在一段时间后禁用加载项,并且必须在禁用的项目列表中找到它才能重新启用.重新启用似乎会照顾它,至少是暂时的,尽管现在说它是否会再次发生还为时尚早.所以我试图找出Excel为什么禁用加载项,但我在这里寻找的只是一种通用的方法来找出Excel禁用加载项的原因.在我的情况下,加载项在远程站点上运行,并且我对访问故障的访问权限有限.我确实查看了事件日志并没有发现任何事情.我的加载项中也有错误记录,但没有捕获任何内容.
有什么建议?
我很确定Excel不会自动禁用你的插件(我没有找到任何描述这种行为的东西,请纠正我,如果我错过了它).但是,如果插件崩溃/挂起等,那么下次Excel启动时会弹出一个对话框,说"这个插件有一个致命的错误,你要禁用它吗?" (正如克里斯指出的那样).
我发现用户总是会点击"是",这样他们就可以继续工作了.可能值得与您的用户交谈,看看他们是否见过这样的东西.
显然,你想要深入了解插件的潜在问题.我猜你接下来的步骤可能是(如果这些是您尝试的明显的调试步骤,我道歉):
绝对添加一些配置来启动日志记录以尝试缩小正在进行的操作.
与用户交谈并找出导致Excel中挂起/崩溃的条件,因此您可以尝试重现问题(如果这是崩溃,那么日志记录可能没有多大帮助).
阻止你的插件或你正在调用的代码中的调用可能导致用户杀死无响应的Excel?
祝你好运追踪这个问题.
编辑:我道歉,有些情况下Excel会自动禁用插件.我在安全中心帮助添加了以下内容:
禁用未签名加载项的通知(代码将保持禁用状态)仅当您选中"要由受信任的发布者签名的应用程序扩展"复选框时,此复选框才可用.在某些情况下,动态链接库(.dll)(动态链接库:一组可以从Visual Basic过程调用并在运行时加载并链接到应用程序中的例程.)包含加载项的文件可能是未签名的.在这些情况下,将启用由受信任发布者签名的加载项,但会以静默方式禁用未签名加载项.
禁用所有应用程序加载项(可能会影响功能)如果您不信任任何加载项,请选中此复选框.禁用所有加载项而不发出任何通知,并且其他加载项复选框不可用.