使用VS 2019制作桌面程序的安裝包
首次制作安裝包
1. 新建解決方案及項目
2. 安裝制作安裝包的插件
-
方法一,在VS Marketplace中安裝,點擊下載按鈕,安裝完成需要重啟VS
-
方法二,直接下載到本地,雙擊運行安裝。安裝完成需要重啟VS
3. 新建安裝包項目
命名規則:需要安裝的項目名稱+Setup
4. 項目新建完成,彈出安裝項目引導窗口
第一步:選擇項目類型,桌面程序就是默認第一個
第二步:選擇安裝項目的發布內容
第三步:選擇附加文件、說明文檔,沒有的話,直接下一步。
第四步:最后,確認
5. 安裝程序項目介紹
6. 重要屬性說明
- AddRemoveProgramsIcon:指定要在目標計算機上的“添加/刪除程序”對話框中顯示的圖標。
- Author:指定應用程序或組件的作者名,通常是開發它的公司的名稱。Author 屬性通常與 Manufacturer 屬性相同
- DetectNewerInstalledVersion:指定在目標計算機上安裝時是否檢查有無應用程序的更新版本。
- RemovePreviousVersions:指定安裝程序在安裝期間是否移除應用程序的早期版本。 如果此屬性設置為 True,並且在安裝時檢測到了早期版本,則將調用以前版本的卸載功能。安裝程序通過檢查“UpgradeCode”和“ProductCode”屬性,來是否應移除早期版本。相同的應用程序的不同版本,必須UpgradeCode 必須相同,而ProductCode 必須不同。
- InstallAllUsers:是為一台計算機的所有用戶安裝應用程序,還是僅僅為執行安裝的用戶安裝應用程序
- Manufacturer:指定應用程序或組件的制造商的名稱,通常是開發它的公司的名稱。Manufacturer 屬性通常與 Author 屬性相同
- ProductName:指定在目標計算機上安裝應用程序或組件時用於描述該應用程序或組件的公共名稱。 默認為部署項目的名稱。安裝期間顯示的默認安裝路徑中也會出現該屬性(C:\Program Files\制造商\產品名稱)
- ProductCode:為應用程序指定唯一標識符,該標識符由字符串 GUID 表示。 此標識符必須隨版本和語言的不同而不同。應使用“產品代碼”對話框中的 GUID 生成功能,切勿手動編輯 GUID。
- UpgradeCode:指定代表應用程序的多個版本的共享標識符(相同應用程序的標志),使用字符串 GUID 來表示。 此屬性供 Windows Installer 用來在安裝期間檢查應用程序的已安裝版本。你的軟件第一個版本設置UpgradeCode之后,絕對不能在修改,否則版本更新功能(RemovePreviousVersions )和檢測是否有最新版本功能(DetectNewerInstalledVersion )都將無法生效。
- Version:指定安裝程序、合並模塊或 .cab 文件的版本號。Version 屬性必須遵循以下格式:##.##.####。
7. 配置安裝項目的屬性信息
8. 給主程序生成用戶桌面的快捷方式和程序菜單的快捷方式
-
創建快捷方式
-
命名快捷方式(把剛生成的快捷方式重命名,新名稱與ProductName一致)
-
指定快捷方式的位置(把快捷方式拖拽到左邊的桌面目錄,然后再生成一次,重命名,再拖拽到左邊的程序菜單目錄)
到此,准備工作完成。
9. 生成安裝包
最后,選擇項目,點擊生成,即可。
生成完成后,到項目的目錄下,找到生成文件。
10. 安裝驗證
運行setup.exe,就可以安裝了。
選擇文件夾:
后面,就下一步,下一步,好了。
到卸載或更改程序中查看安裝信息
軟件升級更新
1. 修改版本號Version屬性
2. 重新生成ProductCode 的Guid
修改好Version后保存,VS會彈出提示對話框。
對比生成結果,ProductCode確實更新了。
3. 重新生成
4. 安裝驗證
5. 查看安裝信息
參考文檔
1. 微軟官方文檔:
制作安裝包文字說明:https://docs.microsoft.com/zh-cn/cpp/ide/walkthrough-deploying-your-program-cpp?view=vs-2019#install-the-visual-studio-setup-and-deployment-project-template
部署屬性說明:https://docs.microsoft.com/zh-cn/previous-versions/visualstudio/visual-studio-2010/seykw6dt(v=vs.100)
2. 國外博客:
https://www.c-sharpcorner.com/article/creating-setup-file-for-desktop-application-using-visual-stu/
3. 國內博客:
https://www.cnblogs.com/Teacher-Lu/p/11672849.html
https://blog.csdn.net/qq_41487299/article/details/100057340