欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 社会 > VSTO(C#)Excel开发8:打包发布安装卸载

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

2025/3/15 18:27:38 来源:https://blog.csdn.net/2301_77171572/article/details/146228624  浏览:    关键词: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博客


(这里是文档结束)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词