VS2017/VS2019将程序打包(通过Microsoft Visual Studio Installer Project)

扣扣技术交流群:460189483

使用VS2010的打包方案之前已经讲过,连接如下:

https://blog.csdn.net/u014453443/article/details/104497457

该方案无法应用在VS2017/VS2019上,已经进行测试,无法生成安装包

最主要的区别是在Application Folder(应用程序文件夹)添加的文件不一样,VS2017/VS2019打包过程如下:

1.在右上角解决方案上 右键--添加--新建项目--Setup Project,如下图所示

填写项目名称及位置,点击创建,如下图所示: 

2. 点击创建之后弹出如下图所示:

3. 在项目Setup上点击右键,属性,弹出如下对话框

4.点击Prerequisites...按钮选择需要条件,弹出如下窗口,选择必备组件及组件安装位置,选择确定

5. 回到如下界面,点击应用,然后再点击确定,返回到主界面

属   性

说   明

Output file name

在编译项目时生成的msi或msm文件的名称

Package file

这个属性允许指定如何打包文件。其选项有:

As loose uncompressed files:所有的部署文件都在同一个目录下存储为.msi文件;

In setup file:文件打包到.msi文件中(默认设置);

In cabinet files:文件打包到同一目录下的一个或多个cab文件中。选择这个选项时,CAB size选项就是可用的

Bootstrapper

这个属性允许指定Bootstrapper是否包含在安装文件中。Bootstrapper提供了Windows Installer 2.0版本。其选项是:

None:不包含Bootstrapper

Windows Installer Bootstrapper:包含用于在客户PC上安装应用程序的Bootstrapper(默认设置)

Web Bootstrapper:用于从Web上下载应用程序的Bootstrapper。选择这个选项时,会显示一个对话框,要求输入安装信息和(可选)升级URL。

Compression

这个属性指定所包含文件的压缩样式。其选项如下:

Optimized for speed:用于较大的文件,安装时间较短(默认设置)

Optimized for size:用于较小的文件,安装时间较长

None:不压缩

CAB size

Package file属性设置为In cabinet files时,这个属性就会被激活。它不仅可以创建一个cabinet文件,还可以设置每个cab文件的最大尺寸

Authenticode Signature

在选中这个属性时,部署项目的输出就使用Authenticode标记,默认设置为不选中

Certificate file

用于签名的证书

Private key file

包含签名文件的数字加密键的私有键

Timestamp server URL

Timestamp服务器的URL

6. 选中应用程序文件夹--右键--Add--项目输出,如下图所示:

7. 在弹出界面上选择主输出,如下图所示,选择确定 

8.这时候会在右边生成主输出文件,如下图所示:

 9.创建快捷方式,在主输出上右键--Create Shortcut to 主输出 from UserClientGUI

10.生成的快捷方式如下图所示

11. 选中快捷方式--属性--Name改为UserClientGUI,更改后如下图所示 

12. 添加应用程序图标ico,在应用程序文件夹上右键--Add--文件,如下图所示

13. 选中图标1.ico文件,添加后如下图所示

14. 设置ico,在应用程序文件夹右侧选中UserClientGUI快捷方式--右键属性--Icon--Browse,如下图所示

15. 点击Browse,如下图所示:

16. 选中应用程序文件夹,然后选中1.ico,再次点击OK,如下图所示

17. 于是返回到上级目录,这时候刚才的界面上已经出现了ico图标了,点击OK,如下图所示

18. 此时快捷方式已经创建好了,拖住UserClientGUI,拖到左侧User's Desktop(用户桌面)文件夹下,如下图所示

19. 按照同样的方式再次创建UserClientGUI快捷方式,如下图所示,本次创建快捷方式用于添加启动栏

20. 在User's Programs Menu(用户的程序菜单,也就是启动栏) 文件夹上右键--Add--Folder,如下图所示

21. 将生成的文件夹更改为UserClientGUI,如下图所示 

22. 同样将应用程序文件夹下的UserClientGUI快捷方式拖动到 User's Programs Menu下的UserClientGUI文件夹下,如下图所示

23. 拖动好的UserClientGUI文件夹下的文件如下图所示

 24. 添加卸载程序。同样在Application Folder上右键--Add--文件,如下图所示:

25. 选择C盘Windows--system32下的msiexec.exe,如下图所示: 

26. 添加好的msiexec.exe如下图所示:

 27. 在msiexec.exe上右键--Create Shortcut to msiexec.exe创建快捷方式,如下图所示:

28. 选中创建好的快捷方式,将名字更改为卸载,如下图所示:

 29. 添加控制面板图标,在Setup项目上右键--属性--AddRemoveProgramsIco上选择Browse,选择图标,如下图所示

30. 在属性中找到ProductCode,复制里面的数据,如下图所示

 31. 在Application Folder中找到卸载快捷方式--右键属性--找到Arguments,/x+空格+粘贴,如下图所示:

32. 将卸载快捷方式拖拽到User's Programes Menu下的UserClientGUI文件夹下,如下图所示:

33. 对Setup项目属性说明如下: 

 

项 目 属 性

说   明

AddRemoveProgramIcon

显示在“添加/删除程序”对话框中的图标

Author

应用程序的编写者。这个属性设置通常与Manufacturer的相同,它显示在msi软件包的Properties对话框中的Summary页面上,以及“添加/删除程序”对话框的SupportInfo页面上的Contact字段中

Description

这是一个形式自由的文本字段,描述了要安装的应用程序或组件。这些信息显示在msi软件包的Properties对话框中的Summary页面上,以及“添加/删除程序”对话框的SupportInfo页面上的Contact字段中

DetectNewerInstalledVersion

这是一个布尔值,设置为true时,将检查是否已安装了应用程序的更新版本,如果是,就停止安装过程

  InstallAllUsers  设置为True ,这样在“控制面板”程序中会显示公司的名称;在安装时会默认为“任何人”,否则默认为“只有我”)

Keywords

可用于在目标计算机上搜索msi文件。这些信息显示在msi软件包的Properties对话框中的Summary页面上 

Localization

用于字符串资源和注册设置的地域。这会影响安装程序的用户界面

Manufacturer

生产应用程序或组件的公司名称,该项目属性的设置。一般与Author属性中指定的信息相同。这些信息显示在msi软件包的Properties对话框中的Summary页面上,以及“添加/删除程序”对话框的SupportInfo页面上的Publisher字段中,用作应用程序默认安装路径的一部分

ManufacturerURL

一个Web站点的URL,该站点与要安装的应用程序或组件相关

ProductCode

应用程序或组件的惟一的字符串GUID。Windows Installer使用这个属性标识应用程序的后续升级或安装

ProductName

描述应用程序的名称,在“添加/删除程序”对话框中用作应用程序的描述,还用作默认安装路径的一部分:C:\Program Files\ Manufacturer\ ProductName

RemovePreviousVersions

一个布尔值,如果设置为true,就检查计算机上是否安装了应用程序的以前版本。如果是,就调用以前版本的卸载功能,之后继续安装。这个属性使用ProductCode和UpgradeCode确定是否卸载。

SearchPath

一个字符串,表示从属程序集、文件或合并模块的搜索路径。在开发机器上建立安装软件包时使用该属性

Subject

与应用程序相关的其他信息。这些信息显示在msi软件包的Properties对话框中的Summary页面上

SupportPhone

为应用程序或组件提供支持的电话号码。这些信息显示在“添加/删除程序”对话框的SupportInfo页面上的Support Information字段中

SupportURL

为应用程序或组件提供支持的URL。这些信息显示在“添加/删除程序”对话框的SupportInfo页面上的Support Information字段中

  TargetPlatform  指运行平台,默认为x86,Linux可以选择x64

Title

安装程序的标题。它显示在msi软件包的Properties对话框中的Summary页面上

UpgradeCode

一个字符串GUID,表示同一应用程序的不同版本共享的标识符。对于应用程序的不同版本或不同语言版本,不应修改UpgradeCode,该属性被DetectNewerInstalledVersion和RemovePreviousVersions使用

Version

安装程序、cab文件或合并模块的版本号。注意它不是要安装的应用程序的版本号

34. 在应用程序上点击左键,如下图:第一个为系统主目录(默认C:\Programe),第二个为公司名([Manufacturer]),第三个为应用程序名称,这样在安装时就会创建两层的文件路径。需要删除DefaultLocation中的:[Manufacturer] 。删除后只有应用程序的名称。 

35. 添加安装时背景图片,在项目Setup上右键--View--用户界面,如下图所示

36. 弹出界面如下

37. 左键选中欢迎使用,在属性BannerBitmap选择图片,如下图所示:

38. 用同样的方式为安装文件夹、确认安装、进度、已完成添加图片

39. 在Setup项目上点击右键--重新生成,在Debug目录下会生成安装包,如下图所示,

40. 点击setup应用程序(安装包),另一个是安装引导程序,其中绿色就是刚才设置的欢迎使用的图片背景,如下图所示:

41.点击下一步后弹出安装位置界面,通过点击浏览选择安装位置,如下图所示

42. 点击下一步弹出确认安装界面,如下图所示:

43. 点击下一步后弹出安装完成界面,到此表示安装结束,如下图所示:

44. 这时会在桌面上生成安装图标,在启动栏生成UserClientGUI文件夹,文件夹下有安装的应用及卸载方式,在控制面版也会显示新增加的应用程序,如下图所示:

 

 

 

 

  • 23
    点赞
  • 111
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值