首页
/
每日頭條
/
科技
/
c程序編譯整個過程
c程序編譯整個過程
更新时间:2026-08-26 02:11:52

當我們滿心歡喜的想要和其他人分享自己制作的上位機時,是不是會遇到一些比較尴尬的事情,比如某些DLL庫缺失,或者.NET版本太低不支持,或者某些文件不能發送,等各種各種的問題。

那麼将你的上位機軟件直接打包成安裝文件,這些尴尬就可以很好地避免,而且給客戶使用起來也會很方便。

本文主要介紹用Microsoft Visual Studio Installer Projects軟件制作安裝包。首先是該軟件的安裝,Microsoft Visual Studio Installer Projects屬于Visual Studio的擴展安裝包,因此在Visual Studio裡面可以很方便的安裝該擴展包。

c程序編譯整個過程(上位機程序打包安裝文件)1

c程序編譯整個過程(上位機程序打包安裝文件)2

在工具->擴展和更新裡面,找到Visual Studio Marketplace,然後搜索軟件名字,下載安裝,然後重啟Visual Studio即可使用。

在你之前的上位機項目中,右擊->添加->新建項目,選擇其他類型項目->Visual Studio Installer->Setup Project.

c程序編譯整個過程(上位機程序打包安裝文件)3

然後右擊安裝包項目,選擇View->文件系統->Application Folder。在右邊文件列表的空白處右擊添加文件,引用的dll庫文件通常會自己自動添加。如下圖所示

c程序編譯整個過程(上位機程序打包安裝文件)4

将文件添加之後,将上位機程序的輸出也同樣添加進去,操作步驟如下:

c程序編譯整個過程(上位機程序打包安裝文件)5

然後右擊Application Folder裡面的主輸出,創建快捷方式,之後将快捷方式移動到User's Desktop,即在用戶桌面上創建快捷方式。

然後設置安裝包項目的屬性。

c程序編譯整個過程(上位機程序打包安裝文件)6

安裝包屬性的具體解釋如下:

(非常重要)

1.Product Code:每個版本或者每個安裝包特有的ID

2.Upgrade Code:版本升級用到的ID,同一Upgrade Code才會升級

3.DetectNewerInstalledVersion:True,隻能升級,不能降級

4.RemovePreviousVersion:去掉之前版本,即覆蓋安裝

5.Version:安裝包版本。

(一般重要)

1.Author:作者或者公司名

2.Maufacturer以及MaufacturerUrl:公司名以及網址

3.Target Platform:運行平台。

最後,進行編譯即可生成兩個文件,一個Setup文件,一個msi文件。最好點擊Setup文件,這樣會對上位機環境進行檢測。

如果想要支持新版本直接覆蓋舊版本要怎麼辦?

首先,安裝包裡面的屬性配置為:Product Code各個版本不同,Upgrade Code各個版本必須保持一緻,DetectNewerInstalledVersion設置為True,RemovePreviousVersion設置為True,Version新版本要比舊版本數值大。

另外,需要對上位機程序的輸出版本進行升級,需要在你當前解決方案下的->Properties->Assembleinfo.cs裡面的[assembly:AssemblyVersion(“1.0.0.0”)][assembly: AssemblyFileVersion(“1.0.0.0”)]進行修改,這兩個屬性一般在Assembleinfo.cs的最下面。這樣才能做到自動更新,如下圖所示:

c程序編譯整個過程(上位機程序打包安裝文件)7

最後,其他文件,修改時間不一緻,安裝包就可以自動替換,不用專門修改。

這樣,就可以實現安裝包的版本覆蓋更新。另外,需要說明的是,安裝包項目還可以做卸載以及注冊表的更新,這裡不做過多叙述。

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
冰箱内機滴水怎麼處理
冰箱内機滴水怎麼處理
1、冰箱冷藏室頂部不停滴水是因為冰箱内部的食物存放的過多存放時食物的溫度過高沒有直接進行冷卻就将食物...
2026-08-26
一輛suv最多能拉多重的貨
一輛suv最多能拉多重的貨
1、一般來說,一輛SUV後備箱的最大承載能力在1000斤左右,這個數值根據具體車型的不同會有一些不同,大家可以從車輛說明書上看到明确的數值。2、通常來說達到了最大載重之後并不是說發動機就拉不動車子了,隻是說這樣會讓發動機有較大的負載,很容易帶來嚴重損傷。3、然後就是對車輛行駛狀态的影響,因為重量都集中在後備箱區域,這種偏沉”的情況下,車子的操控性能就會下降,尤其是在上坡、下坡、轉彎的時候,很容易發
2026-08-26
耳機頭斷在手機裡怎麼辦
耳機頭斷在手機裡怎麼辦
1、首先找一支老式的圓珠筆,主要用筆芯。2、之後把筆芯的尾部加熱,可以用熱水也可以用打火機。3、如果用打火機,一定要注意時間别燒太長時間燒一下就可以了。4、之後把筆芯插到插孔,裡筆芯就會把斷在插孔裡的插頭套住慢慢拔出筆芯。5、最後斷在插孔裡裡的插頭也就帶出來了。
2026-08-26
美版有鎖的iPhone可以更換硬件解鎖嗎
美版有鎖的iPhone可以更換硬件解鎖嗎
1、可以解的。硬解指使用卡貼,或者拆機硬性将機器的基帶進行降級從而達到破解的目的,會對機器造成一定傷...
2026-08-26
路亞釣餌的使用方法
路亞釣餌的使用方法
1、看目标魚類型,選擇一個合适路亞餌,首先看你要釣什麼類型的魚,如果是釣大型的魚類,那在挑選魚餌的時候就應該選擇個體稍微大一些的路亞餌,要是小型魚,那就要選擇小型的路亞餌,根據魚體型的大小去選擇。2、看天氣,水裡有魚但是不上魚,很大一本分原因是天氣原因。氣溫忽高忽低,天氣變化不定時,魚也不容易釣獲,...
2026-08-26
Copyright 2023-2026 - www.tftnews.com All Rights Reserved