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.pswp.cn/bicheng/73426.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/73426.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/73426.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

如何逐步迭代衍生出一個網絡安全產品

逐步迭代衍生出一個網絡安全產品需要結合市場需求、技術趨勢和用戶反饋,通過系統化的開發和優化過程來實現。以下是逐步迭代的詳細步驟: 1. 確定市場需求和產品定位 市場調研:分析當前網絡安全市場的痛點和趨勢,如云安全、零信任、…

uni-app打包h5并部署到nginx,路由模式history

uni-app打包有些坑,當時運行的基礎路徑填寫了./,導致在二級頁面刷新之后,頁面直接空白。就只能換一個路徑了,nginx也要跟著改,下面是具體步驟。 manifest.json配置web 運行路徑寫/h5/,或者寫你們網站的目…

Ceph(1):分布式存儲技術簡介

1 分布式存儲技術簡介 1.1 分布式存儲系統的特性 (1)可擴展 分布式存儲系統可以擴展到幾百臺甚至幾千臺的集群規模,而且隨著集群規模的增長,系統整體性能表現為線性增長。分布式存儲的水平擴展有以下幾個特性: 節點…

Linux驅動開發實戰(五):Qt應用程序點RGB燈(保姆級快速入門!)

Linux驅動開發實戰(五):Qt應用程序點RGB燈(保姆級快速入門!) 文章目錄 Linux驅動開發實戰(五):Qt應用程序點RGB燈(保姆級快速入門!)前…

Docker安裝Kafka(內含zookeeper)

因為kafka是基于zookeeper做的,所以必須要有zookeeper 一、Zookeeper 1.拉取鏡像 docker pull zookeeper:3.7.02.運行 docker run --restartalways \--log-driver json-file \--log-opt max-size100m \--log-opt max-file2 \--name zookeeper -p 2181:2181 \-v…

芯谷D8563TS實時時鐘/日歷芯片詳解可替代PCF8563

概述 芯谷D8563TS是一款低功耗CMOS實時時鐘/日歷芯片,廣泛應用于移動電話、便攜式儀器、傳真機和電池供電產品等領域。該芯片通過兩線雙向IC總線進行數據傳輸,最大總線速度為400 kbits/s。D8563TS內置了自動遞增的字地址寄存器,支持多種功能…

【一次成功】Win10本地化單機部署k8s v1.31.2版本及可視化看板

【一次成功】Win10本地化單機部署k8s v1.31.2版本及可視化看板 零、安裝清單一、安裝Docker Desktop軟件1.1 安裝前<啟用或關閉Windows功能> 中的描紅的三項1.2 查看軟件版本1.3 配置Docker鏡像 二、更新裝Docker Desktop三、安裝 k8s3.1 點擊啟動安裝3.2 查看狀態3.3 查…

MoonSharp 文檔五

目錄 13.Coroutines&#xff08;協程&#xff09; Lua中的協程 從CLR代碼中的協程 從CLR代碼中的協程作為CLR迭代器 注意事項 搶占式協程 14.Hardwire descriptors&#xff08;硬編碼描述符&#xff09; 為什么需要“硬編碼” 什么是“硬編碼” 如何進行硬編碼 硬編…

【初級篇】如何使用DeepSeek和Dify構建高效的企業級智能客服系統

在當今數字化時代,企業面臨著日益增長的客戶服務需求。使用Dify創建智能客服不僅能夠提升客戶體驗,還能顯著提高企業的運營效率。關于DIfy的安裝部署,大家可以參考之前的文章: 【入門級篇】Dify安裝+DeepSeek模型配置保姆級教程_mindie dify deepseek-CSDN博客 AI智能客服…

【網絡編程】HTTP網絡編程

13.1 HTTP 簡介 HTTP(Hyper Text Transfer Protocol,超文本傳輸協議)是用于從萬維網(WWW:World Wide Web) 服務器(簡稱Web 服務器)傳輸超文本到本地瀏覽器的傳送協議&#xff0c;基于TCP/IP 通信協 議來傳遞數據 (HTML 文件、圖片文件、查詢結果等)。 13.2 HTTP 的工作原理 …

用Scrum敏捷的視角看《哪吒2》的創作

去年我們公司邀請Scrum中文網的老師培訓了敏捷開發課程&#xff0c;讓我對敏捷有了更深入的理解。前陣子我參加了scrum中文網的一個直播&#xff0c;老師分享了敏捷在個人領域或生活其他領域的應用&#xff0c;很有意思。因為我學習敏捷&#xff0c;除了應用到本身軟件研發的工…

Docker+Flask 實戰:打造高并發微服務架構

DockerFlask 實戰&#xff1a;打造高并發微服務架構 今天我們要深入探討一個非常熱門且實用的主題&#xff1a;基于 Docker 部署 Python Flask 應用。Docker 作為當下最流行的容器化技術&#xff0c;已經廣泛應用于各種開發和部署場景&#xff0c;尤其是在微服務架構中。而 Fl…

Linux find 命令完全指南

find 是 Linux 系統最強大的文件搜索工具&#xff0c;支持 嵌套遍歷、條件篩選、執行動作。以下通過場景分類解析核心用法&#xff0c;涵蓋高效搜索、文件管理及高級技巧&#xff1a; 一、基礎搜索模式 1. 按文件名搜索&#xff08;精確/模糊匹配&#xff09; <BASH> f…

【量化策略】趨勢跟蹤策略

【量化策略】趨勢跟蹤策略 &#x1f680;量化軟件開通 &#x1f680;量化實戰教程 技術背景與應用場景 在金融市場中&#xff0c;趨勢跟蹤策略是一種基于市場趨勢進行交易的量化投資方法。該策略的核心思想是“順勢而為”&#xff0c;即認為市場價格會沿著一定的方向持續移…

AI自動化、資本短視、三輸與破局

當前AI應用中的一個深層矛盾&#xff1a;工程師使用AI將很專業的任務變成小白可以操作的工作&#xff0c;然后資本方給小白很少的錢把工程師裁掉了&#xff0c;然而小白不懂底層&#xff0c;出問題幾乎無法修復。由此&#xff0c;技術普及與專業能力之間的斷層引發了"三輸…

Python數據分析之數據可視化

Python 數據分析重點知識點 本系列不同其他的知識點講解&#xff0c;力求通過例子讓新同學學習用法&#xff0c;幫助老同學快速回憶知識點 可視化系列&#xff1a; Python基礎數據分析工具數據處理與分析數據可視化機器學習基礎 四、數據可視化 圖表類型與選擇 根據數據特…

簡述計算機網絡中的七層模型和四層模型

在計算機網絡中&#xff0c;網絡協議棧的設計通常采用分層結構來處理不同的通信任務。常見的分層結構有OSI七層模型和TCP/IP四層模型。雖然它們的層次數量不同&#xff0c;但本質上都在解決如何有效地進行計算機間通信。本文將分別介紹這兩種結構的功能和各層的協議。 一、OSI七…

2025高頻面試算法總結篇【持續更新中】

文章目錄 遞歸&回溯131. 分割回文串面試題 08.12. 八皇后 動態規劃72編輯距離5. 最長回文子串279. 完全平方數300. 最長遞增子序列 遞歸&回溯 131. 分割回文串 回溯思路&#xff1a; 臨界條件&#xff1a; if (start s.length) > 保存 循環遍歷這個字串 for (int…

【大模型學習】第二十二章 什么是對抗生成網絡

目錄 一、背景介紹 二、生活化例子說明什么是對抗生成網絡 三、技術細節詳解 &#xff08;一&#xff09;基本概念 &#xff08;二&#xff09;訓練機制 &#xff08;三&#xff09;損失函數 一、背景介紹 對抗生成網絡&#xff08;Generative Adversarial Networks, GANs…

攝像頭模塊ISP處理流程

攝像頭模塊的ISP&#xff08;圖像信號處理器&#xff09;處理流程是對圖像傳感器輸出的原始信號進行系統性優化的過程&#xff0c;主要分為以下關鍵步驟及對應功能模塊&#xff1a; 一、原始信號輸入與預處理 ?傳感器信號捕獲? CMOS/CCD傳感器將光信號轉換為模擬電信號&…