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.rhkb.cn/news/33617.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

地下停车场调频广播覆盖:破解地下车库无线广播收听孤岛,技术赋能地下停车场FM调频无线广播覆盖

地下停车场调频广播覆盖:破解地下车库无线广播收听孤岛,技术赋能地下停车场FM调频无线广播覆盖 北京海特伟业科技有限公司任洪卓于2025年3月14日发布 地下停车场调频广播覆盖系统建设背景 随着城市化进程的加速,地下停车场已成为现代建筑不…

kettle的转换中sql不按设计顺序执行原因分析与解决办法

1.问题描述 如图,通过箭头指定多个SQL脚本的先后顺序,实际各个sql没有阻塞,没有等待,几乎是并行,与预期不符。 2.原因 转换文件(.ktr) 用于控制数据的流量,比如表输入指向表输出节…

P1259 黑白棋子的移动【java】【AC代码】

有 2n 个棋子排成一行,开始为位置白子全部在左边,黑子全部在右边,如下图为 n5 的情况: 移动棋子的规则是:每次必须同时移动相邻的两个棋子,颜色不限,可以左移也可以右移到空位上去,但…

P6772 [NOI2020] 美食家

训练角度:图上的状态转移,倍增 → \rightarrow → 优化状态转移; ▍ 题意 精灵王国共有 n n n 座城市,城市从 1 1 1 到 n n n 编号,其中城市 i i i 的美食能为小 W 提供 c i c_i ci​ 的愉悦值。精灵王国的城市…

51c大模型~合集7

我自己的原文哦~ https://blog.51cto.com/whaosoft/11519481 #MTMamba 王座易位?香港科技大学MTMamba,超越 ViT与CNN! 本文作者提出了MTMamba,一种新型的多任务架构,具有基于Mamba的解码器,在多任务场…

sap 内存管理与数据共享方式

SAP内存管理 内存是程序之间为了传递数据而使用的共享存储空间 SAP内存分类:1、SAP内存,2、ABAP内存 这两种内存都是针对同一登录用户实现数据共享。 SAP内存(SAP Memory)和ABAP内存(ABAP Memory)&…

Manus邀请码申请全流程指南(2025最新版)——申请Manus体验资格

🌟引言: 近期,号称“全球首个通用AI智能体”的Manus引爆科技圈,其自主执行复杂任务的能力颠覆了传统AI工具仅能输出文本的局限。然而,由于内测阶段采用邀请制,一码难求的现状让用户直呼“门槛太高”。 名人…

Linux 命名管道

文章目录 🚀 深入理解命名管道(FIFO)及其C实现一、命名管道核心特性1.1 🧩 基本概念 二、💻 代码实现解析2.1 📁 公共头文件(common.hpp)2.2 🖥️ 服务器端(s…

Python 与 sklearn 库:轻松构建 KNN 算法双版本

引言​ k 最近邻(kNN)算法是一种简单而强大的机器学习算法,常用于分类和回归任务。在 Python 中,借助 scikit - learn(sklearn)库,我们可以轻松实现 kNN 算法。本文将为大家介绍两种使用 sklea…

分享vue好用的pdf 工具实测

vue3-pdf-app: 带大纲,带分页,带缩放,带全屏,带打印,带下载,带旋转 下载依赖: yarn add vue3-pdf-appornpm install vue3-pdf-app 配置类: 创建文件 pdfConfig.ts /…

android 调用wps打开文档并感知保存事件

需求场景 在项目开发中会碰到需要调用WPS打开Word,Excel,Ppt等Office系列文档的情况,网上目前少有正式介绍如何调用相关API打开文档,并实现文档编辑后回传给三方应用,本人在逛WPS社区时发现 解锁WPS二次开发新世界:Android开发用…

HarmonyOS NEXT - 电商App实例三( 网络请求axios)

使用axios开发网络请求是一个非常常见的任务,尤其是Web前端开发者,对它非常熟悉。axios是一个基于Promise的HTTP客户端,支持浏览器和Node.js环境,使用简单且功能强大。 在harmonyOS中,如果想使用axios,可以…

19、TCP连接四次挥手的过程,为什么是四次?【高频】

四次挥手的过程 假设客户端主动发起。 第一次挥手:客户端向服务器 发送 FIN,表示 自己要断开数连接。随后,客户端 进入 FIN-WAIT-1 状态;服务器收到后,变为CLOSE_WAIT状态 第二次挥手:服务器 发送ACK 作为…

蓝桥云客 挖矿

0挖矿 - 蓝桥云课 问题描述 小蓝正在数轴上挖矿,数轴上一共有 n 个矿洞,第 i 个矿洞的坐标为 ai​。小蓝从 0 出发,每次可以向左或向右移动 1 的距离,当路过一个矿洞时,就会进行挖矿作业,获得 1 单位矿石&…

ssm:商业异常处理流程

第一步 定义全局R类制定标准 代码定义了一个通用的返回类 R<T>&#xff0c;用于封装API请求的结果&#xff0c;包括状态码、消息和数据。该类使用了Lombok的Data注解来减少样板代码&#xff08;如getter、setter方法等&#xff09;的编写。以下是代码的一些解释和建议&am…

Inficon IC5 沉积控制器 IC/5 型号

Inficon IC5 沉积控制器 IC/5 型号

农业建设项目管理系统评测:8款推荐工具优缺点分析

本文主要介绍了以下8款农业建设项目管理系统&#xff1a;1.PingCode&#xff1b; 2. Worktile &#xff1b;3. 建米农业工程项目管理系统&#xff1b;4. 开创云数字农业管理平台&#xff1b; 5. Trimble Ag Software&#xff1b;6.Conservis&#xff1b; 7. Agworld &#xff1…

大视频背景暗黑风格的wordpress企业主题免费下载

整体风格是黑色的&#xff0c;首页首屏大视频背景&#xff0c;动态效果非常好。向下滚动时&#xff0c;滚动的特效也不错。 原文 https://www.bixugao.com/wp/26.html

西门子S7-1200 PLC远程调试技术方案(巨控GRM532模块)

三步快速实现远程调试 硬件部署 准备西门子S7-1200 PLC、巨控GRM552YW-C模块及编程电脑。GRM552YW-C通过网口与PLC连接&#xff0c;支持4G/5G/Wi-Fi/有线网络接入&#xff0c;无需复杂布线。 软件配置 安装GVCOM3配置软件&#xff0c;注册模块&#xff08;输入唯一序列号与密…

系统思考:客户价值

“真正的市场竞争&#xff0c;不是比谁更能制造产品&#xff0c;而是比谁更能创造价值。” ——杰夫贝索斯 在组织辅导中&#xff0c;我经常问团队一个问题&#xff1a;“我们的客户是谁&#xff1f;”大多数人的第一反应是——“支付费用的就是客户。” 这在过去的市场扩张阶…