在vs2017和vs2019下發布應用之Windows程序打包-附圖標修改和默認安裝路徑定義全教程



title: 在vs2017和vs2019下發布應用之Windows程序打包-附圖標修改和默認安裝路徑定義全教程
date: 2020-04-25
sidebarDepth: 2
tags:

  • windows
  • 應用
  • vs2019
  • 發布
  • 打包
  • 圖標
  • 安裝
  • 路徑
  • 程序
    categories:
  • 開發
  • 微軟技術
  • windows

在安裝項目上右鍵,選擇生成或重新生成。會執行打包操作。並會根據你的設置在項目的Debug或Release文件夾下生成一個.msi文件和一個.exe文件。用戶可以使用這個安裝包進行安裝。

安裝依賴組件

首先打開擴展和更新:
擴展和更新

聯機查找下面的組件,然后安裝,重啟VS。

安裝依賴組件

創建項目文件

作為應用的主程序。比如這里我就創建一個簡單的項目,只有一個窗口:

創建一個簡單的項目

創建一個打包項目

先右鍵解決方案,選擇 添加-新建項目

創建打包項目

我這里就起名為PackageDemo Installer
創建打包項目

另外,有些人可能會想這么多安裝類型,怎么選。因為我們這里說Windows程序打包,想要輸出.exe和.msi,大概看一下介紹就能知道,第一個和第四個是合適的。這兩個又該怎么選呢?那其實第四個就是對一些屬性多了些引導,最終的項目結構和第一個是沒有區別的。這里我們就選第一個。

配置

項目信息

配置項目信息,這里打開屬性窗口。注意:不是在項目上右鍵-屬性,而是選中項目后點擊屬性窗口查看:
查看項目屬性

然后看各種對信息進行配置:
項目屬性

這里對一些屬性做下解釋:

1.重要屬性

1.Author和Manufacturer,分別是作者和制造商的意思,一般都寫公司名。
2.ProductName,軟件名。默認是項目名,影響到安裝界面和安裝目錄。務必改掉。
3.Version,版本號,影響安裝流程,后面會說。
3.TargetPlatform,意思很明顯。表現層面上就是,決定你的安裝目錄是在Program Files還是Program Files (x86),根據項目決定。
4.RemovePreviousVersion,是否移除之前的版本。務必改為True,不然你更新幾次軟件就會發現,電腦里多個版本都在安裝着。

2.不重要的屬性:

1.InstallAllUsers,用戶權限默認值。這個在安裝界面還可以重新設置。
2.ManufacturerUrl,公司官網。
3.SupportUrl、SupportPhone,技術支持的網址和電話。
4.Description,軟件描述。
5.Title,無用。一開始我以為它是安裝界面的標題,但其實並不是,這個值默認和項目名一致,但你修改之后,在哪里也都看不到。所以無用。

當然,現在我們還不能執行打包。還需要添加一些別的內容。

先看一下項目的文件系統

文件系統在項目剛創建的時候會默認打開,其他時候你也可以通過在項目上右鍵-View-文件系統打開。
文件系統

剛開始就會看到三個入口:

1.Application Folder,這個是你的應用安裝之后,文件所處的目錄。
2.User's Desktop,用戶桌面,我們等下會需要在這里面放置一個快捷方式。
3.User's Programs Menu,用戶的程序菜單。就是按Windows徽標鍵或者是屏幕左下角的Windows徽標,會出現的一些文件夾和快捷方式。

添加文件或文件夾

有時候我們會需要手動添加一些默認文件到安裝目錄里,比如一些默認配置、一些DLL等。接下來演示怎么創建文件夾和添加文件。

添加文件或文件夾

比如我重復使用上邊的操作,創建了多級的文件夾,接下來我們可以通過添加文件,往里面添加一些icon圖標,等下可以用作快捷方式的icon。

添加幾個icon文件

添加可運行文件及其快捷方式

先創建項目輸出文件(一般都是.exe文件),即快捷方式要指向的文件:
創建項目輸出

項目輸出配置
上面的流程也可以重復進行。針對多個項目創建多個項目輸出,那樣的話,就可以用啟動不同的項目了。比如我們知道Git有GUI版本,也有命令行版本。就可以通過這種方式,創建多個輸出文件。

添加完輸出文件之后,我們就可以為這個輸出創建快捷方式了:

創建輸出快捷方式

比如這里創建出來的就是上面的那個Shortcut ....balabala的東西。這個快捷方式的名字需要修改,不然會直接在界面上顯示這個名字。這里重命名一下即可。

輸出文件(這里的主輸出balabala)是不能改名字的,它是對應的安裝目錄里的輸出文件。比如我這個項目在安裝后,安裝目錄里就會有一個PackageDemo.exe的文件。

也可以多次為這個輸出創建快捷方式。這樣的話,之后可以直接將快捷方式復制到別的入口文件夾里(User's Desktop/User's Programs Menu)。

這里我創建了多個快捷方式,並為它們改了不一樣的名字。接下來,也為它們設置不一樣的icon。

設置icon

先修改快捷方式的icon屬性,這里默認為None,我們需要把它改為之前添加的icon圖標。

修改圖標

選擇界面

在選擇界面打開Browse...,找到之前添加的圖標點擊確認

選擇完成

點擊OK即可為快捷方式應用圖標。其他的快捷方式也是一樣的操作。

生成安裝包並安裝

在安裝項目上右鍵,選擇生成或重新生成。會執行打包操作。並會根據你的設置在項目的Debug或Release文件夾下生成一個.msi文件和一個.exe文件。用戶可以使用這個安裝包進行安裝。

安裝界面如下:
安裝界面1

安裝界面2

1.那個任何人\只有我的選項就是我們之前提到過的InstallAllUsers指定值。

2.PackageDemo Installer的問題,可以看出來,這個名字很不合適,那我們能不能改掉這個名字呢?這里就是之前提到過的,項目屬性窗口中的ProductName屬性,將該屬性設置為軟件名稱即可。

再看下安裝之后的效果:
安裝效果

可以看到桌面和程序目錄里各有一個快捷方式,它們的名字和圖標也正是我們在文件系統設置的那樣。

再來看看安裝目錄里的東西:

安裝后文件夾

一些問題

版本號問題

假設,你當前電腦上已經使用一個安裝包安裝了1.0.0版本的軟件:

此時你再次點擊同樣的安裝包:
同樣的安裝包
如果,你對項目做了一些修改后重新打包,卻沒修改版本號:

相同版本號,不同的內容

如果,你對項目做了一些修改后,也增加了版本號:
修改版本號

這樣是可以正常安裝的。並且如果你設置了移除舊版本,也會同時卸載掉舊版本軟件。

生成失敗

有時你執行了生成或重新生成卻發現左下角提示生成失敗

生成失敗
然后打開錯誤列表,如果有錯誤的話,去修改錯誤(警告等是不會導致失敗的,只查看錯誤就可以)。可是,有時候,會出現這種情況:
生成失敗卻沒有提示任何錯誤

生成失敗卻沒有提示任何錯誤
明明沒有一個錯誤,卻導致生成失敗了?

這種問題,基本上都是文件系統引用到的文件位置發生了改變。就是說,你在上邊執行的添加文件,其實只是把你電腦上的文件地址保存了起來,之后如果你的文件被刪了或是換了位置,那之前添加的文件引用自然就會失效。這時候去仔細查看一下文件系統。

比如我把幾個圖標文件移動到別的文件夾之后:
文件引用錯誤

這時候,把錯誤的引用刪掉,重新將文件添加進來即可。注意:icon文件修改后,引用icon的快捷方式也需要修改icon路徑。

一個建議

在安裝項目內創建一個文件夾,專門用於放置安裝項目所依賴的文檔、圖標等,避免引用的文件移動后還需要重新設置。

C#使用VS2019打包安裝程序(圖標修改和默認安裝路徑修改)

這次主要是記錄一下我在C#打包時遇到的一些坑。
環境:Vs2019+C#
要打包安裝程序,第一件事就是去擴展——》管理擴展 里面下載installer Projects,

就是這搜索列表里面的第一個。
如果不能安裝,自己就去網上找一下來安裝。
首先這個installer好像版本有些老了,所以只支持.net Framework 4…6.1。所以請把你本身的代碼框架修改成net Framework 4…6.1。如果你一開始使用的其他框架,可以右鍵項目,點擊屬性,彈出下面這個對話框。

在這個目標框架里面選擇.net Framework 4.6.1 就可以了。
如果下拉菜單里面沒有這個選項的話,那你就點擊下拉菜單里的安裝其他框架,下載一個就可以了。還有就是安裝的時候要選擇 developer pack 版本,安裝,否則沒用。

注意如果沒有修改框架為.net Framework 4.6.1版本,它會提示要你安裝,可是不論你怎么安裝,安裝什么版本都沒有,只能修改目標框架,這都是血的教訓啊!

還有就是如果你要修改圖標,可以左鍵你的setup project,在左下角里面有個這種菜單欄

其中的AddRemoveProgramIcon就是設置圖標的。
不過還有一點要注意,你如果直接在網上下載,或者是自己修改后綴名的圖片是沒有辦法使用的。
你需要先在網上下載相應的icon文件,然后先設置下方對話框中的圖標,然后才能去設置AddRemoveProgramIcon中的icon文件。
並且還要注意 將這個icon文件寫入到application Folder,只有這樣才能安裝到別人電腦上也能使用。

還有就是設置這個安裝文件的默認安裝位置。
你需要做的就是左鍵點擊 你的setup project文件——》view——》文件系統

出現這樣一個界面

左鍵點擊第一個文件夾 application Folder,然后找到右下角屬性面板


在DefaultLocation里面設置你想要設置的文件夾路徑。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM