使用VSTO编写PowerPoint插件(二)
官方文档提供了详细的部署方案说明。
其中包括ClickOnce 和 Windows Installer,本文演示的是如何通过一段小BAT脚本来安装,它可以更方便的嵌入你的安装程序中。
手动安装
在上文中,使用Visual Studio 2017启动调试,即可看到PowerPoint中已嵌入了插件。这是因为Visiual Studio帮我们写入了一些注册表项。
即是PowerPoint在启动时,会检测相应的注册表项,来加载插件。
现在我们来手动部署。
打开注册表项
1
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\PowerPoint\Addins
HKEY_CURRENT_USER
表示仅部署在当前用户下。在Addins下新建项,名字假设叫TestAddin
在TestAddin下新建字符串值 Description,填入该插件的描述
在TestAddin下新建字符串值 FriendlyName, 填入更友好的描述
在TestAddin下新建DWORD值 LoadBehavior,填入 3
3 表示指定在启动时加载 VSTO 外接程序。更详细的信息请参阅这里。
在TestAddin下新建字符串值 Manifest,填入插件所在地址
1
file:///D:/PowerPointAddInDemo/PowerPointAddInDemo.vsto|vstolocal
注册表项添加完成,大概长这样:
注册表添加完毕,我们现在启动Microsoft PowerPoint,出现了下面的提示框
这是因为用户必须在安装VSTO时响应信任提示。
如何向VSTO授予信任?官方文档有详尽的介绍。我们这里采取其中最简单的一种:
将VSTO安装到用户计算机上的 Program Files 目录。
我们修改TestAddin的Manifest的值为:
1
file:///C:/Program Files (x86)/PowerPointAddInDemo/PowerPointAddInDemo.vsto|vstolocal
并且移动插件的位置到Program Files下。
安装完毕。
安装脚本
我们将上面的步骤用批处理来实现,大概长这样:
1 | @echo off |
卸载脚本
同样的,我们删除注册表项来卸载插件。
1 | @echo off |
使WPS可加载
在WPS的注册表项 HKEY_CURRENT_USER\SOFTWARE\kingsoft\Office\WPP\AddinsWL
中添加一个字符串值即可。
1 | reg add HKEY_CURRENT_USER\SOFTWARE\kingsoft\Office\WPP\AddinsWL /v TestAddin /f |
卸载同理
1 | reg delete HKEY_CURRENT_USER\SOFTWARE\kingsoft\Office\WPP\AddinsWL /v TestAddin /f |
完整的脚本在这里.