前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Excel催化剂开源第21波-使用Advanced Installer打包VSTO几个注意问题

Excel催化剂开源第21波-使用Advanced Installer打包VSTO几个注意问题

作者头像
Excel催化剂
发布2021-08-19 15:06:21
1K0
发布2021-08-19 15:06:21
举报
文章被收录于专栏:Excel催化剂Excel催化剂

VSTO项目开发完毕完,最终需要分发给用户,需要Excel催化剂用的是Clickonce发布方式,但也面临到部分用户环境要求太高,设置过程太繁锁,而要求有一些简单的安装方式,用打包工具将其打包为一个EXE文件,然后分发给用户安装,这个可以带来很好的安装体验。

Excel催化剂一直也同样有提供离线版打包工具打包成EXE文件一键安装的方式,不过鉴于Excel催化剂功能还在不断迭代开发中,打包的方式,暂时还不会做自动更新功能,所以不建议使用离线版安装

在Excel催化剂进行离线包打包过程中,遇到一些小小的坑,也摸索过来了,可以给大家作一些简单分享。

直接选择整个解决方案出错时

一般来说,选择解决方案文件即可自动识别出有哪些项目,提示要打包某个项目,是基于debug还是release来打包等,但发现偶尔还是通不过,可以选择第2项,直接定位到debug或release文件夹中。

一般选择解决方案文件即可

想让程序以管理员的方法安装,所有用户都可用

这个在实际情况的确出现过,用户电脑不是管理员身份,电脑被限制了安装软件的权限,在用户电脑上没法正常安装VSTO项目,用管理员权限安装成功后,但程序仍然只能管理员帐号登录才可用,其他用户登录不可用。

观察Advanced Installer的打包向导,也感觉是VSTO的程序只能安装给当前用户使用,界面上是变灰显示的。

只能以当前用户安装

同样的,回到在非向导中界面中,可以看到有多个类型修改,但不管用,在此处更改安装到Per Machine,最终改变的只是安装文件夹的事情。修改后安装完,普通用户插件仍不可见。

在非向导中可以看到有多个类型修改,但不管用

解决办法:有可能VSTO的项目,Excel读取时,只会在注册表Current User上目录下寻找插件,管理员权限安装,不会在当前Current User上写入条目,所以需要在当前用户登录下,在注册表的Current User目录下写入插件信息,特别需要注意插件的安装位置部分要同步修改过来。

注册表信息注册插件

Manifest清单选择什么

如下图,只需选择vsto文件即可。

选择vsto文件

想在用户安装过程中,同时运行其他程序

这里说的其他程序,并非指的是VSTO运行时、.Net Framework框架这些,而是可以运行其他命令。

例如Excel催化剂因在线版自动更新的要求,将许多配置文件给分离出来,重新做了个Console程序供用户手动将这些配置文件复制到程序数据文件夹中,在离线版安装过程中,想一步到位,无需提示用户多一步运行Console程序,将此程序也一并打包进安装程序中。

可以使用自定义动作向导设置运行exe,配置好相应的exe位置信息,即可完成安装插件过程中,也同时运行其他exe文件。

使用自定义动作向导设置运行exe

将要运行的exe添加到程序文件夹中

设置好自定义动作的exe信息

打包成32位还是64位程序

因其他程序可能有区分32位和64位的区别,但感觉VSTO项目是不用太理会这些,设置32位还是64位,貌似只影响最终安装时将文件存放到哪个位置而已,是program files 还是program files(86),亲测了一下,打包时选64位,在32位OFFICE上安装还是可能成功,若有其他问题,可以反馈一起讨论。

打包选择的位数发布

结语

在VSTO项目打包过程中,使用Advanced Installer打包遇到的一些小坑小洼,在这里给大家作些简单说明,希望对后来者们可以避开一些坑,将精力聚焦在业务逻辑的实现上,这些共性没有太大代码价值的,能快速通过。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-01-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Excel催化剂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 直接选择整个解决方案出错时
  • 想让程序以管理员的方法安装,所有用户都可用
  • Manifest清单选择什么
  • 想在用户安装过程中,同时运行其他程序
  • 打包成32位还是64位程序
  • 结语
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档