如何重新添加已删除的 VSTO 加载项
How to re-add a deleted VSTO Add-In
我在一台机器上的 Word VSTO 加载项遇到了一个奇怪的问题,其中 运行 宁 visual studio 项目打开了 word 但没有尝试启动加载项我看得出来。
我走到这一步是因为我不小心在“管理 COM 加载项”页面上为加载项单击了“删除”,而不是在失败后重新启用它。
我想知道如何重新启用已删除的加载项 - 我在想也许某处有一个注册表项我需要删除。
- 当我 运行 来自 Visual Studio 的项目时,它不会尝试
完全启动,Word 立即启动,没有 "something-is-failing"
输入暂停。
- ThisAddIn_Startup 中没有断点。
- 在 Word 中:File/Options/Add-ins - 加载项未出现在非活动或已禁用的加载项下
- Word:管理 COM 加载项...它没有出现。
- Word : Manage Disabled Items Go... 为空。
我试过安装和卸载已发布的版本,看看是否能唤醒任何东西,我试过更改 VS 项目的路径,以防万一(以及各种重启、清理,重建,本地删除和从 git 等重新克隆)但我找不到让它再次工作的方法。在另一台机器上,从 Git 克隆加载项并在 Visual Studio 中打开它,一切正常。
我尝试通过 COM 加载项上的 select DLL(或 select .)对话框重新添加,但我 select 似乎是一个有效的加载项。
任何帮助弄清楚如何恢复工作开发环境的帮助都将不胜感激。
编辑
下面有很多事情要做 - 所以我想我应该澄清一下,成功的解决方案是在线修复 Office
当事情没有按预期工作时,我不得不采取的最极端的步骤是清除注册表或文件系统中的 VSTA 缓存。请注意,我使用的是附加到文档的 template-based customizations
,而不是始终存在的 add-ins,因此这可能不适用于您。或者也许是,我不知道。
注册表
在 HKCU 下为您的 add-in 查找条目:\Software\Microsoft\VSTA\Solutions。我为此使用 PowerShell,示例命令链如下所示:
gci "HKCU:\Software\Microsoft\VSTA\Solutions"
Hive: HKEY_CURRENT_USER\Software\Microsoft\VSTA\Solutions
Name Property
---- --------
1234abcd-1234-abcd-1234-abcd12 Url : file:///Z:/path/to/your/addin.vsto
34abcd SubscriptionID : addin.vsto, Culture=neutral, PublicKeyToken=<removed>, processorArchitecture=msil
ApplicationID : file:///Z:/path/to/your/addin.vsto#addin.vsto, Version=<removed>, Culture=neutral,
PublicKeyToken=<removed>, processorArchitecture=msil/addin.dll, Version=<removed>, Culture=neutral, PublicKeyToken=<removed>,
processorArchitecture=msil, type=win32
ProductName : addin
LastCheckedTime : {4, 201, 185, 1...}
UpdateEnabled : 1
UpdateInterval : 1
UpdateIntervalUnits : days
remove-item "HKCU:\Software\Microsoft\VSTA\Solutions34abcd-1234-abcd-1234-abcd1234abcd"
文件系统
我的自定义项(见开头的注释)安装在 %localappdata%\Apps.0
并且在极少数情况下我需要手动删除它们。清除这个不太简单,但通常会有一个匿名文件夹,如 ABCDEFG0.QWE
。我只是删除了它,连同另一半,我从来没有 运行 解决过我无法解决的问题。仅供参考,如果您有多个部署,这可能会卸载所有这些部署。我不经常这样做,所以我不是 100% 熟悉这个区域的工作原理,但我从来没有因为这样做而变得更糟。
我不知道这与 application-level add-ins 有何不同,如果有的话,可以安装到 Program Files。
编辑:添加一些相关链接。
How do I completely uninstall a ClickOnce application from my computer?
Clear the .NET-downloaded application cache without Mage?
我认为您需要更改 VSTO 的版本 add-in 才能对其进行更新或 re-install。一旦 add-in 版本被禁用,这是永久性的。
有关详细信息,请参阅 Uninstall MS Word Add-in。让我知道这是否有效。
注册表中的 LoadBehaviour
是什么?应该是 3
...
要找出答案,请查看
- 32 位字 => Root\Software\Microsoft\Office\Word\Addins\add-in ID
- 64 位字 => Root\Software\Wow6432Node\Microsoft\Office\Word\Addins\add-in ID
其中 Root 是 HKEY_CURRENT_USER 或 HKEY_LOCAL_MACHINE,取决于是否为当前用户安装了插件或者每个人。
如果 LoadBehaviour
的值不是 3
,则将其更改为 3
并重新启动 Word。
这是关于它的 Microsoft 文档:Registry entries for VSTO Add-ins
如果还是不行,试试re-enable因为它可能硬禁用:
- 在 Manage 框中,将 COM Add-ins 更改为 Disabled Add-ins,然后单击 开始。
- Select add-in 并单击 启用 。单击关闭。现在可以再次加载 add-in...
- 返回 Manage 框,将 Disabled Add-ins 更改为 COM Add-ins ,然后单击 开始。
- 选中禁用 add-in 旁边的 复选框 。单击确定。
这是关于它的 Microsoft 文档:How to: Re-enable a VSTO Add-in that has been disabled
此外,如果您还没有这样做,值得将 VSTO_SUPPRESSDISPLAYALERTS
设置为 0
,如本页所述:How do I enable VSTO error / display alerts?
如果上述 none 有帮助,那么值得对 Office 进行 在线修复 来自 添加或删除程序.
我在一台机器上的 Word VSTO 加载项遇到了一个奇怪的问题,其中 运行 宁 visual studio 项目打开了 word 但没有尝试启动加载项我看得出来。
我走到这一步是因为我不小心在“管理 COM 加载项”页面上为加载项单击了“删除”,而不是在失败后重新启用它。
我想知道如何重新启用已删除的加载项 - 我在想也许某处有一个注册表项我需要删除。
- 当我 运行 来自 Visual Studio 的项目时,它不会尝试 完全启动,Word 立即启动,没有 "something-is-failing" 输入暂停。
- ThisAddIn_Startup 中没有断点。
- 在 Word 中:File/Options/Add-ins - 加载项未出现在非活动或已禁用的加载项下
- Word:管理 COM 加载项...它没有出现。
- Word : Manage Disabled Items Go... 为空。
我试过安装和卸载已发布的版本,看看是否能唤醒任何东西,我试过更改 VS 项目的路径,以防万一(以及各种重启、清理,重建,本地删除和从 git 等重新克隆)但我找不到让它再次工作的方法。在另一台机器上,从 Git 克隆加载项并在 Visual Studio 中打开它,一切正常。
我尝试通过 COM 加载项上的 select DLL(或 select .)对话框重新添加,但我 select 似乎是一个有效的加载项。
任何帮助弄清楚如何恢复工作开发环境的帮助都将不胜感激。
编辑 下面有很多事情要做 - 所以我想我应该澄清一下,成功的解决方案是在线修复 Office
当事情没有按预期工作时,我不得不采取的最极端的步骤是清除注册表或文件系统中的 VSTA 缓存。请注意,我使用的是附加到文档的 template-based customizations
,而不是始终存在的 add-ins,因此这可能不适用于您。或者也许是,我不知道。
注册表
在 HKCU 下为您的 add-in 查找条目:\Software\Microsoft\VSTA\Solutions。我为此使用 PowerShell,示例命令链如下所示:
gci "HKCU:\Software\Microsoft\VSTA\Solutions"
Hive: HKEY_CURRENT_USER\Software\Microsoft\VSTA\Solutions
Name Property
---- --------
1234abcd-1234-abcd-1234-abcd12 Url : file:///Z:/path/to/your/addin.vsto
34abcd SubscriptionID : addin.vsto, Culture=neutral, PublicKeyToken=<removed>, processorArchitecture=msil
ApplicationID : file:///Z:/path/to/your/addin.vsto#addin.vsto, Version=<removed>, Culture=neutral,
PublicKeyToken=<removed>, processorArchitecture=msil/addin.dll, Version=<removed>, Culture=neutral, PublicKeyToken=<removed>,
processorArchitecture=msil, type=win32
ProductName : addin
LastCheckedTime : {4, 201, 185, 1...}
UpdateEnabled : 1
UpdateInterval : 1
UpdateIntervalUnits : days
remove-item "HKCU:\Software\Microsoft\VSTA\Solutions34abcd-1234-abcd-1234-abcd1234abcd"
文件系统
我的自定义项(见开头的注释)安装在 %localappdata%\Apps.0
并且在极少数情况下我需要手动删除它们。清除这个不太简单,但通常会有一个匿名文件夹,如 ABCDEFG0.QWE
。我只是删除了它,连同另一半,我从来没有 运行 解决过我无法解决的问题。仅供参考,如果您有多个部署,这可能会卸载所有这些部署。我不经常这样做,所以我不是 100% 熟悉这个区域的工作原理,但我从来没有因为这样做而变得更糟。
我不知道这与 application-level add-ins 有何不同,如果有的话,可以安装到 Program Files。
编辑:添加一些相关链接。
How do I completely uninstall a ClickOnce application from my computer?
Clear the .NET-downloaded application cache without Mage?
我认为您需要更改 VSTO 的版本 add-in 才能对其进行更新或 re-install。一旦 add-in 版本被禁用,这是永久性的。
有关详细信息,请参阅 Uninstall MS Word Add-in。让我知道这是否有效。
注册表中的 LoadBehaviour
是什么?应该是 3
...
要找出答案,请查看
- 32 位字 => Root\Software\Microsoft\Office\Word\Addins\add-in ID
- 64 位字 => Root\Software\Wow6432Node\Microsoft\Office\Word\Addins\add-in ID
其中 Root 是 HKEY_CURRENT_USER 或 HKEY_LOCAL_MACHINE,取决于是否为当前用户安装了插件或者每个人。
如果 LoadBehaviour
的值不是 3
,则将其更改为 3
并重新启动 Word。
这是关于它的 Microsoft 文档:Registry entries for VSTO Add-ins
如果还是不行,试试re-enable因为它可能硬禁用:
- 在 Manage 框中,将 COM Add-ins 更改为 Disabled Add-ins,然后单击 开始。
- Select add-in 并单击 启用 。单击关闭。现在可以再次加载 add-in...
- 返回 Manage 框,将 Disabled Add-ins 更改为 COM Add-ins ,然后单击 开始。
- 选中禁用 add-in 旁边的 复选框 。单击确定。
这是关于它的 Microsoft 文档:How to: Re-enable a VSTO Add-in that has been disabled
此外,如果您还没有这样做,值得将 VSTO_SUPPRESSDISPLAYALERTS
设置为 0
,如本页所述:How do I enable VSTO error / display alerts?
如果上述 none 有帮助,那么值得对 Office 进行 在线修复 来自 添加或删除程序.