VSTO部署方案
背景:需要使用VSTO开发一个Excel插件,插件具有自动更新的功能
VisualStudio: 2022
针对Excel版本:2016
ClickOnce部署
该方案使用了一个文件服务器用来访问部署文件。(后以www.example.com/Files作为示例地址)
-
使用VS模板,创建一个Excel AddIn项目(在其中填充你想要的功能,此处略过不提)
-
右键项目,打开属性界面
-
选中发布页签,进行设置并点击发布
-
发布后的文件复制到文件服务器的目录下即可
-
用户从对应URL下载Setup.exe进行安装即可;后续也会自动从对应URL拉取更新的
问题
-
如果出现从不信任的位置或来源安装的报错,导致无法进行安装,可以直接采用信任证书的方式安装
右键下载下来的Setup.exe
,找到证书进行安装
原因:发布的软件都有证书,在属性界面的签名页签里进行设置。默认使用的是测试证书,用户机器不信任。需要手动安装信任下才可以正常。
后续不更改证书,就不用重新信任了
dll部署
ClickOnce
部署很方便,但是没有版本倒退的功能。在实际的项目中,插件版本往往和数据版本有关联的,切换到指定的svn或git版本,希望也能有对应版本的插件功能。
以svn版本控制为例,说明怎么使用dll部署。
插件本体项目
仍然采用ClickOnce
部署的方式,不过可以不填远程Url,因为不存在插件更新的情况;界面及功能采用Dll的方式书写
Dll项目创建
-
创建一个Net Framework类库
-
引入相关引用;将正常的VSTO项目中的引用都添加进来
-
创建绘制的函数(从VSTO设计器产生的函数直接复制过来就行)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.Office.Tools.Ribbon; namespace ClassLibrary1 { public