使用VS 2019制作桌面程序的安装包

前言

文章中是以.NET 平台下使用C#语言开发的WinForm桌面程序为例,说明安装包制作流程。但根据官方文档的说明,Windows下的其他语言(C++/VB/F#)、其他桌面程序框架(WPF/MFC),也是适用的。
文章内容尽可能的做到详细,每个步骤都有截图。

文章目录

  • 使用VS 2019制作桌面程序的安装包
    • 前言
    • 1. 新建解决方案及项目
    • 2. 安装制作安装包的插件
      • 方法一,在VS Marketplace中安装,点击下载按钮
      • 方法二,直接下载到本地,双击运行安装。
    • 3. 新建安装包项目
    • 4. 项目新建完成,弹出安装项目引导窗口
      • 第一步:选择项目类型
      • 第二步:选择安装项目的发布内容
      • 第三步:选择附加文件、说明文档
      • 第四步:最后,确认
    • 5. 安装程序项目介绍
    • 6. 重要属性说明
    • 7. 配置安装项目的属性信息
    • 8. 给主程序生成用户桌面的快捷方式和程序菜单的快捷方式
    • 9. 生成安装包
    • 10. 安装验证
    • 11. 软件升级更新
      • 11.1. 修改版本号Version属性
      • 11.2. 重新生成ProductCode Guid
      • 11.3. 重新生成(同9. 生成安装包)
      • 11.4. 安装验证(同10. 安装验证)
      • 11.5. 查看安装信息
    • 参考文档

1. 新建解决方案及项目


2. 安装制作安装包的插件

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,就可以安装了。

选择文件夹:

后面,就下一步,下一步,好了。

卸载或更改程序中查看安装信息

11. 软件升级更新

11.1. 修改版本号Version属性

11.2. 重新生成ProductCode Guid

修改好Version后保存,VS会弹出提示对话框。

对比生成结果,ProductCode确实更新了。

11.3. 重新生成(同9. 生成安装包)

11.4. 安装验证(同10. 安装验证)

11.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

使用VS 2019制作桌面程序的安装包相关推荐

  1. inno setup打包的安装包如何在卸载完程序后可以继续安装_这两个方法就够了!快速制作Python程序Windows安装包...

    点击关注州的先生 编程应用.实战教程,不容错过 /00/ 前言 我们使用Python可以编写很多提高工作和学习效率的小工具,在编写完之后,如果我们想将其分享给更多的人使用,那么最便捷的方法就是将其打包 ...

  2. python飞机大战源代码-制作python程序windows安装包(飞机大战源码)

    本文以飞机大战源码为例: 1.首先使用pyinstaller -w xxx.py打包 -w的意思是不显示命令行:飞机大战源码由多个.py文件以及一些图片,音乐文件组成,我们将main.py打包, 其他 ...

  3. 制作AE(ArcGIS Engine 打包)开发的应用程序的安装包

    利用InstallShield制作AE(ArcGIS Engine 打包)开发的应用程序的安装包 以下是个人学习的一些心得,由于本人对InstallShield也是刚刚接触,可能有些地方不是那么合理, ...

  4. 利用InstallShield制作AE(ArcGIS Engine 打包)开发的应用程序的安装包

    原文:http://blog.csdn.net/swfcsunboy/article/details/2314249 利用InstallShield制作AE(ArcGIS Engine 打包)开发的应 ...

  5. 用VS.NET2003制作WEB应用程序的安装包

    用VS.NET2003制作WEB应用程序的安装包 --------------------------------------------------------------------------- ...

  6. Atitit 使用h5技术( html css js)制作桌面程序gui界面解决方案attilax总结

    Atitit 使用h5技术( html css js)制作桌面程序gui界面解决方案attilax总结 1.1. 理解Atwood定律 1 1.2. H5做出个html的ui是很方便的,跨平台 2 1 ...

  7. Atitit 使用h5技术 html css js 制作桌面程序gui界面解决方案attilax总结

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Atit ...

  8. 教你制作XP主题一键安装包

    http://player.youku.com/player.php/sid/XMTM0OTE5MzAxNg==/v.swf 教大家用WINRAR软件制作XP主题一键安装包 视频不清楚的话建议下载视频 ...

  9. 教你用Smart Install Maker制作自己的软件安装包 - 视频教程

    前几天我写了个用Smart Install Maker制作安装包的教程,有些网友看过后还是不大懂,今天我用实例教大家用Smart Install Maker制作自己的软件安装包,希望对大家有所帮助,教 ...

最新文章

  1. # 利用fragment实现界面跳转
  2. Nginx如何配置虚拟主机?
  3. 使用git如何批量对文件进行rm操作
  4. Java EE并发API教程
  5. linux syslog 删除文件_Linux没有当心删除日记文件syslog怎样办
  6. vscode设置缩进2个空格
  7. 如何使用 Font Book 在 Mac 上添加或删除字体?
  8. bp神经网络训练样本个数,bp神经网络训练时间
  9. 导致企业5S管理失败的八大根源
  10. 腾讯视频弹幕爬取----------之亲爱的,热爱的
  11. windows优化大师怎么用_操作系统不仅有XP、win7和win10,这些更好用的系统你都用过吗...
  12. 客户贷款逾期预测[1]-逻辑回归模型
  13. Java集合——数据结构
  14. 最全技术面试180题:阿里11面试+网易+百度+美团!
  15. 计算机网络(第7版)谢希仁著 学习笔记 第四章网络层
  16. 为什么说“汉语难学”?
  17. idea terminal窗口如何删除历史命令
  18. Double转String
  19. 5款用得最爽的黑科技软件神器,每一款都好用到你无以伦比
  20. jsp页面跳转302

热门文章

  1. behave java_Lambda Behave行为测试框架
  2. 企微消息分享小程序 出现第一次能打开,第二次打开卡在白屏的情况
  3. Android MTK平台修改开关机动画和开机logo
  4. 在虚拟机下使用华大九天软件运行原理图仿真时出现内存不足的警告(The free disk space is less than 20000 MB)
  5. Hadoop基准测试
  6. 有问题直接说问题,问什么在不在???
  7. php使用腾讯云存储
  8. maskrcnn-benchmark-master(十):box_head的loss文件
  9. ESP32-C3 VScode开发环境搭建(基于ESP-IDF—Windows和Ubuntu双环境)
  10. 对于JAVAEE的理解