Com MS Word 2007加载项的LoadBehavior设置为2

Com MS Word 2007加载项的LoadBehavior设置为2,com,ms-word,add-in,Com,Ms Word,Add In,我有一个MS Word的外接程序。我的一个用户(在Word 2007上)报告没有加载加载项。当她检查COM加载项列表时,会显示“加载行为”为“卸载;启动时加载”(LoadBehavior注册表项中的值为2) 但是,当她检查外接程序的注册表项时,LoadBehavior设置为3(Loaded;启动时加载)。外接程序也没有加载 外接程序的Word报告内容与注册表中的内容之间是否存在差异?是否有解决方法 我有一种预感,加载项崩溃后Word在她的系统的其他地方设置了LoadBehavior值,但她离我很

我有一个MS Word的外接程序。我的一个用户(在Word 2007上)报告没有加载加载项。当她检查COM加载项列表时,会显示“加载行为”为“卸载;启动时加载”(LoadBehavior注册表项中的值为2)

但是,当她检查外接程序的注册表项时,LoadBehavior设置为3(Loaded;启动时加载)。外接程序也没有加载

外接程序的Word报告内容与注册表中的内容之间是否存在差异?是否有解决方法

我有一种预感,加载项崩溃后Word在她的系统的其他地方设置了LoadBehavior值,但她离我很远,不想让我远程控制她的计算机来检查自己

编辑:一些附加信息:如果用户在
应用程序.COMAddins中运行宏来检查我的加载项,
连接
设置为
。但是,将其更新为
True
似乎没有任何效果。只要Word正在运行,该属性将保持为True,但如果Word重新启动,则它将恢复为False(并且从未加载加载项)

详细信息:外接程序因崩溃而被禁用,并放入禁用的外接程序列表中用户从COM加载项下拉列表中启用了加载项,但加载行为仍然停留在2上,尽管注册表值为3。WinWord.exe没有任何兼容性设置

此外,我还提供了三个外接程序:一个用于Word、一个用于Excel和一个用于PowerPoint。Excel和PowerPoint加载项在用户计算机上运行良好。我自己在XP、Vista和7(32位和64位)上测试加载项。用户使用的是Vista 32位

外接程序这个词在用户的计算机上工作了大约两年,但在一次崩溃后它被禁用了,LoadBehavior卡在了2上。用户实际上尝试卸载并重新安装Office,但这并没有改变行为

解决方案

0xA3的解决方案不完整,但在正确的轨道上。事实证明,用户安装了一个新的防病毒程序,该程序正在禁用加载项(静默地!::插入关于过度热心的AV::)


我还学到了一个宝贵的教训:对一些用户来说,“你安装了任何新软件”都不包括防病毒程序。我必须将该问题改为“您是否安装了任何新软件或任何防病毒程序?”

加载项可以在用户配置单元或本地计算机配置单元中注册,每个配置单元中的文件夹相同

HKEY\ U当前\用户\软件\ Microsoft\Office\Word\Addins\您的加载项名称

HKEY\U LOCAL\U MACHINE\Software\Microsoft\Office\Word\Addins\Your addin name


一定要同时检查这两个选项。

正如御宅族所说,问题似乎在于加载项无法加载,因此已断开连接。原因可能是外接程序安装不完整/损坏、缺少依赖项或COM组件注册不正确/缺少

很难给出更具体的提示,但下面列出了在Word启动期间可能需要使用的故障排除工具:

  • 从Sysinternals调试视图,以管理员身份运行,并启用捕获全局和
    捕获内核

  • fuslogvw.exe检查缺少的程序集(假设您的加载项是用.NET编写的)

  • DependencyWalker要查看是否缺少本机DLL

  • 用于检查丢失的文件/注册表项的进程监视器

外接程序的Word报告内容与注册表中的内容之间是否存在差异?是否有解决方法


注册表与实际Word设置之间存在差异的原因很可能是当前加载项状态(已加载,但已断开连接)根本没有存储在注册表中,因为用户没有足够的权限更改HKLM注册表项。LoadBehavior在注册表中保留为3,在下一个Word启动时,Word将再次尝试加载和连接外接程序。

仅供参考:我在Excel加载项中遇到类似问题。由于错误(不一定生成任何错误消息),Excel将外接程序“列入黑名单”。转到:加载项>“禁用项”>启用加载项为我解决了问题

谢谢。我的外接程序的RGS文件设置为HKEY_LOCAL_MACHINE,但我将要求用户进行检查,以防万一。更新--HKCU中没有条目。只记得另一个要检查的地方。Office2007有一个真正的WIERD方案,即在HKLM配置单元中创建注册表项,当加载word时,它会将它们复制到用户配置单元。检查HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Office\12.0\User Settings\Word\Core\Create\SOFTWARE\Microsoft\Office\Word\Addins中是否有任何条目。据我所知,他们在Office 2010中放弃了这些条目。无论如何,我再也看不到这些条目了。这看起来很有希望,但不幸的是,我的插件(Word_Core..)没有设置。你看过这篇文章吗?@Otaku:我没有看过那篇文章,但我几乎尝试了其中的所有内容。我没有试过的一件事是检查AV问题,但用户说她没有在她的系统上安装任何新软件。不过,我会问一下AV只是为了确定一下。另一件要检查的事情是看它是否被硬禁用了。换句话说,检查Trust Center中显示“Com加载项”的下拉列表-组合框中的最后一个下拉列表显示“已禁用的加载项”。你的用户硬禁用了吗?(这可能是由于外接程序出现故障,然后在下一次启动时出现一个对话框,上面说“xxx导致了一个严重错误,您想禁用它吗”,而您的用户选择了“是”),我想到的另一件事是注册表虚拟化。如果Winword.exe配置为使用兼容模式设置运行,则修改