VS2019打包WPF安裝程序最新教程(圖文詳解)
VS2019打包WPF安裝程序最新教程,使用Visual Studio 2019開(kāi)發(fā)的WPF程序如果想要打包為安裝程序,除了在VS2019找到WPF項(xiàng)目類(lèi)庫(kù)直接右鍵發(fā)布之外,更常用的還是將其打包為exe或者msi的安裝程序;打包成安裝程序的話,客戶得到安裝程序直接安裝即可使用,即使在離線環(huán)境情況下,安裝好就可以使用了。
一些傳統(tǒng)行業(yè)發(fā)布程序時(shí),比較常用這種方法,如醫(yī)療,教育等。
演示程序打包一覽
在本教程中,我完整的打包了一個(gè)簡(jiǎn)單的WPF程序,最終安裝好了以后,在桌面有一個(gè)我的程序的快捷方式圖標(biāo),點(diǎn)擊這個(gè)圖標(biāo)即可打開(kāi)應(yīng)用程序。

WPF安裝程序桌面圖標(biāo)
程序運(yùn)行后的效果如下所示:
VS2019打包WPF安裝程序運(yùn)行效果VS2019打包WPF安裝程序步驟
使用VS2019打包WPF安裝程序有很多種方法,本篇教程基于VS擴(kuò)展插件Microsoft Visual Studio Installer Projects工具來(lái)打包,實(shí)際上此工具,在VS2010時(shí)自帶有,只是后面版本的Visual Studio取消了此插件,現(xiàn)在需要單獨(dú)安裝。
安裝打包Installer插件
安裝Microsoft Visual Studio Installer Projects插件有兩種方式。一是下載插件單獨(dú)安裝,二是在VS里面在線安裝。
Microsoft Visual Studio Installer Projects下載地址:
官方下載地址:點(diǎn)擊下載
下載下來(lái)后,你會(huì)在你的保存目錄看到此文件的圖標(biāo)是這樣的,直接雙擊安裝就可以了,如果打開(kāi)了Visual Studio,先將VS關(guān)閉后再安裝即可。

安裝插件
如果你不能從官網(wǎng)下載到,可以從本站直接下載即可。離線下載安裝的方式適用于斷網(wǎng)環(huán)境開(kāi)發(fā)。
VS在線安裝Microsoft Visual Studio Installer Projects
Microsoft Visual Studio Installer Projects插件也可以在線直接安裝,步驟為:點(diǎn)擊菜單欄【擴(kuò)展(X)】,然后在彈出來(lái)的一個(gè)窗體里面,在右側(cè)搜索框里面搜索“Microsoft Visual Studio Installer Projects”,一般第1個(gè)就是它了,然后點(diǎn)擊Download(下載),然后安裝就可以了。
VS
在線安裝Microsoft Visual Studio Installer Projects
點(diǎn)擊Download后如下:

下載插件
下載完畢后,你需要把VS關(guān)閉掉,它會(huì)自動(dòng)的安裝。

自動(dòng)安裝插件
安裝好了后,啟動(dòng)VS即可。
創(chuàng)建安裝項(xiàng)目
重新打開(kāi)Visual Studio,打開(kāi)一個(gè)你現(xiàn)有的包含WPF項(xiàng)目的解決方案即可,然后創(chuàng)建安裝項(xiàng)目。在解決方案上右鍵 –> 【新建項(xiàng)目】–> 【Setup Project】,添加Setup Project項(xiàng)目時(shí),VS2019可以搜索項(xiàng)目模板,如下圖所示。

創(chuàng)建安裝項(xiàng)目
創(chuàng)建好了后,主界面變成如下圖所示:

安裝項(xiàng)目主界面
左邊窗口三個(gè)文件夾圖片說(shuō)明如下:
Application Folder:應(yīng)用程序包含的文件設(shè)置,指最終在客戶電腦上的安裝根目錄。如下圖所示:

應(yīng)用程序目錄子目錄
User's Desktop:用戶桌面快捷方式設(shè)置,用戶桌面,一般放個(gè)快捷圖標(biāo)。
User's Programs Menu:用戶啟動(dòng)菜單的快捷方式設(shè)置,一般也是放快捷圖標(biāo)。
Application Folder是安裝程序的根目錄,你編寫(xiě)的程序生成的dll,安裝后就存放在這個(gè)目錄。
添加項(xiàng)目輸出
安裝項(xiàng)目建好了后,需要要往里面添加項(xiàng)目輸出,操作方式為:右鍵Application Folder —>Add—>項(xiàng)目輸出。
該操作也可以直接在安裝程序項(xiàng)目類(lèi)庫(kù)上面通過(guò)右鍵操作來(lái)添加項(xiàng)目輸出,如下圖所示:

右鍵設(shè)置屬性設(shè)置項(xiàng)目屬性
項(xiàng)目屬性的設(shè)置,是用于最終一個(gè)生成安裝程序的描述信息,這個(gè)描述信息,這個(gè)描述信息主要內(nèi)容有程序的作者,標(biāo)題,公司信息,技術(shù)支持等等。最直觀的方式可以通過(guò)2種方式查看。
第一種查看方式:安裝前將鼠標(biāo)放到安裝程序文件上,會(huì)有提示信息,如下圖所示:

屬性提示
第二種查看方式:安裝后在控制面板處,找到安裝程序,即可查看,如下圖所示:

控制面板看到的安裝后程序描述
項(xiàng)目屬性的設(shè)置方式為:(1)左鍵選中項(xiàng)目,(2)點(diǎn)擊解決方案欄屬性,注意,不是右鍵選擇屬性,而是如下圖一樣選擇屬性。

設(shè)置安裝程序?qū)傩?/strong>
當(dāng)你點(diǎn)了屬性后,會(huì)出現(xiàn)如下的窗口。

設(shè)置屬性主窗口
在當(dāng)前的演示程序中,我是按照上圖做的設(shè)置,設(shè)置都很簡(jiǎn)單,不需要做額外的解釋?zhuān)绻胁幻靼椎模梢约尤号c我聯(lián)系。
添加快捷方式圖標(biāo)
程序安裝好,我們當(dāng)然希望用戶能夠快速的打開(kāi)我們的應(yīng)用程序,你就需要為你的安裝程序制作快捷方式,方法很簡(jiǎn)單。
方法:(1)中間窗口右鍵,創(chuàng)建新的快捷方式

創(chuàng)建新的快捷方式
(2)彈窗里面選擇Application Folder,雙擊進(jìn)入另外一個(gè)界面

創(chuàng)建新的快捷方式第2步
雙擊后,進(jìn)入下圖這個(gè)界面,選擇主輸出即可。

創(chuàng)建新的快捷方式第3步
完了后點(diǎn)擊OK按鈕,就進(jìn)入下圖這個(gè)界面。然后將快捷方式名稱(chēng)改為你應(yīng)用程序的名稱(chēng)。

改快捷方式圖標(biāo)名稱(chēng)
改名后的效果:

改名后的效果
最后一步,也是最重要一步,在上圖中選中改名后的圖標(biāo),將其拖到左側(cè)窗口User's Desktop目錄即可。

拖動(dòng)快捷方式圖標(biāo)到對(duì)應(yīng)位置
開(kāi)始菜單圖標(biāo)(User's Programs Menu)設(shè)置方式同上面的步驟是一樣的,這里就不再重復(fù)了。
依賴(lài)文件
打包正式項(xiàng)目的時(shí)候,界面程序可能依賴(lài)于很多其它類(lèi)庫(kù),或者第3方的dll文件,我們需要把它們一起打包,并且這些第3方程序或者dll需要同主程序在同一個(gè)安裝路徑下,那么在打包時(shí),也就需要額外的把這些文件也打包進(jìn)來(lái)。
所有的操作都可以在中間窗口通過(guò)右鍵添加文件,程序集來(lái)實(shí)現(xiàn),如下圖所示

添加依賴(lài)文件添加注冊(cè)表項(xiàng)目
制作的安裝包如果要添加注冊(cè)表項(xiàng)目,可以通過(guò)選中安裝程序項(xiàng)目,然后右鍵,在彈出的菜單里面找到【View】,即可以添加注冊(cè)表項(xiàng)目,按照提示一步一步操作即可。
另外有些打包的程序,需要在安裝前或者安裝后做一些額外的操作,都可以通過(guò)自定義操作來(lái)實(shí)現(xiàn),如主程序安裝好了以后,還得安裝一個(gè)windows服務(wù)程序,再安裝另外一個(gè)自動(dòng)升級(jí)程序,都可以通過(guò)這里來(lái)實(shí)現(xiàn)。

添加注冊(cè)表項(xiàng)目
以上的基本操作熟悉后,相信對(duì)于簡(jiǎn)單的桌面程序打包應(yīng)該沒(méi)有什么問(wèn)題了。
另外需要注意的是,對(duì)外打包,需要更改為Release模式
打包依賴(lài)框架
最后再說(shuō)一下關(guān)于 .net 環(huán)境的問(wèn)題,如果你需要在打包時(shí),將相應(yīng)版本的.Net Framework一起打包到安裝程序里面也是可以的,只是要注意,有可能你的打包機(jī)器上并沒(méi)有安裝相應(yīng)的.net framework文件,則需要到官方或者網(wǎng)上下載對(duì)應(yīng)版本的文件,例如這個(gè)演示程序,我設(shè)定的依賴(lài)框架是 4.5.2版本的,那么需要將NDP452-KB2901907-x86-x64-AllOS-CHS.exe(.net framework 4.5.2安裝文件)放到指定目錄才能正常的生成打包文件。
需要將.net 的離線安裝文件放到以下目錄,其它版本則注意下路徑即可,一般C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages
目錄下面有不同版本的以DotNetFX開(kāi)頭的目錄,如下圖所示:

依賴(lài)框架
保存目錄

依賴(lài)框架保存目錄
將相應(yīng)的版本的.net framework框架文件放到對(duì)應(yīng)的目錄即可,我這個(gè)演示程序是放到下面這個(gè)目錄的。
C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX452\zh-Hans
具體打包步驟為:右鍵安裝項(xiàng)目,選擇屬性,彈出窗口點(diǎn)擊Prerequisites…按鈕。再在彈出的窗口選擇你應(yīng)用程序需要的框架版本即可??梢赃x擇多個(gè)。
Prerequisites
選擇需要打包的框架版本即可。

框架版本
待安裝程序打包成功后,即可在生成目錄看到該框架的安裝包,如下圖所示:

生成目錄框架文件
好了,以上就是使用VS2019打包WPF安裝程序的完整步驟。
演示程序可以點(diǎn)擊這里下載。
打包后安裝一覽
成生打包文件成功后,就可以雙擊msi或者exe文件進(jìn)行安裝了,安裝效果圖如下:

安裝打包程序
選擇安裝目錄

安裝打包程序
在演示的這個(gè)打包程序里面,比較簡(jiǎn)單,實(shí)際上你可以添加用戶協(xié)議文件,輸入用戶信息后才能安裝,這些都可以在打包時(shí)設(shè)置。
演示程序源碼可以在原文鏈接處下載
本文首發(fā)于:https://jhrs.com/2019/33231.html
總結(jié)
以上所述是小編給大家介紹的VS2019打包WPF安裝程序最新教程,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
相對(duì)路徑和絕對(duì)路徑的寫(xiě)法總結(jié)
本文主要對(duì)相對(duì)路徑和絕對(duì)路徑的寫(xiě)法進(jìn)行總結(jié)。具有一定的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-01-01
c#實(shí)現(xiàn)簡(jiǎn)單控制臺(tái)udp異步通信程序示例
這篇文章主要介紹了c#實(shí)現(xiàn)簡(jiǎn)單控制臺(tái)udp異步通信程序示例,需要的朋友可以參考下2014-04-04
C#和vb.net實(shí)現(xiàn)PDF 添加可視化和不可見(jiàn)數(shù)字簽名
本文通過(guò)C#程序代碼展示如何給PDF文檔添加可視化數(shù)字簽名和不可見(jiàn)數(shù)字簽名。文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
C#使用NPOI對(duì)Excel數(shù)據(jù)進(jìn)行導(dǎo)入導(dǎo)出
這篇文章介紹了C#使用NPOI對(duì)Excel數(shù)據(jù)進(jìn)行導(dǎo)入導(dǎo)出的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06
C#實(shí)現(xiàn)json格式轉(zhuǎn)換成對(duì)象并更換key的方法
這篇文章主要介紹了C#實(shí)現(xiàn)json格式轉(zhuǎn)換成對(duì)象并更換key的方法,涉及C#操作json格式數(shù)據(jù)的相關(guān)技巧,需要的朋友可以參考下2015-06-06
C#基于cookie實(shí)現(xiàn)的購(gòu)物車(chē)功能
這篇文章主要介紹了C#基于cookie實(shí)現(xiàn)的購(gòu)物車(chē)功能,結(jié)合完整實(shí)例形式分析了C#基于cookie創(chuàng)建購(gòu)物車(chē)的具體步驟與相關(guān)技巧,需要的朋友可以參考下2015-12-12
C#中38個(gè)常用運(yùn)算符的優(yōu)先級(jí)的劃分和理解
這只我自己在學(xué)C#中的一些總結(jié),其中對(duì)于各級(jí)的劃分方式、各操作符的優(yōu)先級(jí)的理解并不見(jiàn)得正確,只是自己的看法,拿出來(lái)與大家分享2012-08-08

