当前位置: 首页 > article >正文

VSTO(C#)Excel开发8:打包发布安装卸载

初级代码游戏的专栏介绍与文章目录-CSDN博客

我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。

这些代码大部分以Linux为目标但部分代码是纯C++的,可以在任何平台上使用。

源码指引:github源码指引_初级代码游戏的博客-CSDN博客


        前一篇VSTO(C#)Excel开发7:自定义任务窗格-CSDN博客

        前面我们已经弄出一点实际可用的东西了,那么就该发布给别人用了。

        基本的发布很简单,项目右键-发布,发布到目录即可,但是安装卸载有一点混乱(微软公司没做好)。

目录

一、发布

二、发布目录结构

三、依赖项(系统必备)

​编辑

四、安装

五、卸载的混乱

六、开发时生成解决方案自动安装

七、总结:必须去应用管理那里卸载

八、Excel里管理加载项


一、发布

        选择输出位置:

        默认的就挺好。

        选择用户从哪里安装:

         “从CD-ROM或DVD-ROM”其实就是从目录安装。

        然后就可以了:

二、发布目录结构

         这里面有两个文件一个目录,不要乱删,都有用。

  • Application Files 目录 实际的安装文件,如果你多次生成,这个目录下会存在多个子目录,每个版本一个子目录,所以最好生成前清理一下
  • 项目名称.vsto文件 直接的安装入口,不包括依赖项检查
  • setup.exe文件 带有依赖项检查的安装入口,如果已经安装过依赖项,这个文件是可以不要的(用这个安装也依赖vsto文件)

        Application Files目录是这样的:

        因为我发布了两次,有两个子目录,旧的那个是多余的。

三、依赖项(系统必备)

        依赖项在项目属性里设置,默认已经包含了必须的两个:

        看得到上面有个“创建用于安装系统必备组件的安装程序”是选中的,这就是生成setup.exe的原因。

四、安装

        直接双击vsto或exe就可以安装,如果已经安装过并且是最新版本会提示“已经安装了最新版本”。

        exe会检查依赖项,没有安装会提示如何安装。

        安装之后在操作系统的应用管理那里可以卸载,就像一个普通程序一样:

五、卸载的混乱

         Excel的加载项管理也可以“删除”加载项,但是——但是,这个删除是不干净的,操作系统那边仍然认为程序已安装,再次安装时提示已经安装最新版,从而安装无效。需要在操作系统的应用管理那里去卸载。

        如果运行了安装程序又在Visual Studio里面运行则打开Excel时可能出现如下错误:

         发生此问题时不仅从VS执行没有加载项,连手工打开Excel都没有加载项,也就是注册信息混乱了。同样必须去应用管理卸载,然后重新生成解决方案。

六、开发时生成解决方案自动安装

        之前我们没有刻意安装过,从VS运行Excel有加载项我们能理解,但是为什么直接打开Excel也有加载项呢?原来是生成解决方案的时候自动安装了,所以才会有前面说的混乱(以及卸载后壁必须重新生成解决方案)。

七、总结:必须去应用管理那里卸载

        如果加载项有问题,可以在Excel里面禁用,但是不要删除。一定要去应用管理那里卸载程序。

        不管发生社么混乱,都先去应用管理里面卸载。

八、Excel里管理加载项

        操作方法:

        先选“COM加载项”,再点击“转到”:

         去掉前面的勾,点确定,就不会加载了。不管有没有勾,这个对话框下面的加载行为永远是“启动时加载”,估计这个界面也是很多年没人维护了。

        再强调一次,“删除”不是卸载,会搞坏系统,不要用。


下一篇VSTO(C#)Excel开发9:处理格式和字体-CSDN博客


(这里是文档结束)


http://www.kler.cn/a/585872.html

相关文章:

  • 开源后台管理系统推荐
  • oracle中OS BLOCK的含义
  • naive ui 控制 n-input 只可以输入26个英文字母+数字
  • 方差缩减梯度算法
  • 【嵌入式】嵌入式系统中的 SemVer 版本控制方案
  • 网络安全信息收集[web子目录]:dirsearch子目录爆破全攻略以及爆破字典结合
  • Flutter三棵树是什么,为什么这么设计
  • SpringBoot解决跨域
  • 鸿蒙app 开发 高效的 存储 数据 推荐使用 @tencent/mmkv(V2.1.0):
  • 计算矩阵边缘元素之和(信息学奥赛一本通-1121)
  • 基于Android的记事本APP设计与实现:从需求分析到功能实现(超级简单记事本,附源码+文档报告)
  • 在IDEA中连接达梦数据库:详细配置指南
  • 【论文阅读方法】沐神课程:如何读论文
  • 工程化与框架系列(33)--前端安全实践指南
  • 前端存储-indexdb封装:dexie.js的使用
  • Nodejs+MySQL数据库管理
  • 手势调控屏幕亮度:Python + OpenCV + Mediapipe 打造智能交互体验
  • 3ds Max 导入到 After Effects 还原摄像机要注意事项--deepseek
  • 掌握市场先机:9款销售渠道管理工具深度测评
  • 蓝桥杯备考:01背包之优化问题。