【发布时间】:2010-12-22 06:00:59
【问题描述】:
当我安装基于 VSTO 的 PowerPoint 插件时,它总是显示在“已禁用”部分,并且每次我打开 PowerPoint 时 - 我都必须手动启用它。
如何以编程方式更改此行为,以便始终默认启用插件。
【问题讨论】:
标签: c# .net vsto powerpoint
当我安装基于 VSTO 的 PowerPoint 插件时,它总是显示在“已禁用”部分,并且每次我打开 PowerPoint 时 - 我都必须手动启用它。
如何以编程方式更改此行为,以便始终默认启用插件。
【问题讨论】:
标签: c# .net vsto powerpoint
当您将 Office (VSTO) 插件设置为启用(在 Office 中)时,它会更改注册表项:
HKLM\SOFTWARE\Microsoft\Office\PowerPoint\Addins\YourAssemblyName "LoadBehavior"
LoadBehavior 值必须设置为 3 才能加载(即启用)(2 表示禁用)
Office 程序通常只会在出现问题时将此 LoadBehavior 设置改回 2(例如,您的 Startup 事件代码中的异常、未能找到程序集等) 所以你需要弄清楚发生了什么(调试你的启动或做一些日志记录)
无论如何,要以编程方式进行设置,您需要编写一些代码来更改此注册表设置。
我在安装程序中使用 NSIS,例如:
StrCpy $0 "SOFTWARE\Microsoft\Office\PowerPoint\Addins\YourAssemblyName"
WriteRegStr HKLM $0 "Description" "Product Name"
WriteRegStr HKLM $0 "FriendlyName" "Product Name"
WriteRegDWORD HKLM $0 "LoadBehavior" 3
WriteRegStr HKLM $0 "Manifest" "$INSTDIR\YourAssemblyName.vsto|vstolocal"
【讨论】: