Visual Studio 2017 - Windows应用程序打包成exe文件(1)- 工具简单总结
最近有对一个Windows应用程序少许维护和修改。修改之后要发布新的exe安装文件,打包exe文件时,遇到了很头疼的问题,还好最后解决了,记录一下。
Visual Studio版本:Visual Studio 2017
Visual Studio 2017 打包插件
新建项目->其他项目类型->Visual Studio Installer->Setup Project
如果其他项目类型中没有选项(Visual Studio Installer),点击“工具”,选择“拓展和更新”,点击联机,搜索“Microsoft Visual Studio 2017 Installer Projects”,安装该插件。
选择主输出
新建项目之后,默认自动打开File System,右键点击Application Folder,添加输出,选择主输出
创建快捷图标
右键点击“主输出 from xxx”,选择“Create ShortCut to 主输出 from xxx”,新增快捷方式,可以重新命名。选择快捷方式,左键长按拖动至User's Desktop
右键点击快捷方式,选择属性窗口
可自选快捷方式的显示图标icon
自定义操作
右键点击项目
如果该项目由必选的驱动需要安装,可以将该驱动安装exe文件添加到Application Folder中,选择添加“自定义操作”,选择该驱动安装文件,会在执行文件时,调用驱动的安装。
插件的好处和缺陷
好处:Visual Studio 2017自带插件,使用方便,比下载安装其他打包软件要方便的多。
缺陷:(下述缺陷很可能是因为,我没有弄清楚该插件的深入使用方法)
- 驱动安装流程执行结束之后,无法继续主安装流程。
- 无法将所需framework环境打包进exe文件。
打包.NET Framework环境
生成的时候,报错,点击提示的报错,跳转至微软官网如何:创建本地化的引导程序包
看文档看半天并不能解决。搜索了很久,终于找到一篇文章【C#】vs2017 发布工具 Visual Studio Installer 发布包遇到的问题处理经验
按照该文章的方式找到路径:
C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX461
将下载的文件NDP461-KB3102436-x86-x64-AllOS-ENU.exe复制到该路径下。
最后虽然能生成成功,但是并不是我想要的打包成一个exe文件,很显然,可能需要对插件更了解吧,我是没找到解决办法。
InstallShield
官网
又是一番折腾,下载安装,InstallShield安装包不小,下载和安装的时间花费不短。
参照使用InstallShield打包windriver驱动
下载地址:InstallShield 2018(软件打包工具)
很不幸,证书是2016的,不是2018的,最后打包的时候会出现报错:Failed to verify digital signature of IsUiServices.dll
报错类似: InstallShield 2015 错误 Failed to verify digital signature of IsUiServices.dll
InstallShield 的优点和缺点
功能强大是优点,也是缺点,因为功能强大也意味着操作复杂。
Inno Setup
官网
Inno Setup操作简单,最后会生成一个后缀iss的脚本文件。
可以自己写function。对我来说,可能会更喜欢GUI操作。Advanced Installer闪亮登场。
Advanced Installer
下一篇文章着重介绍Advanced Installer,非常好用,推荐指数五星。
- Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer
- Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer 关于Newtonsoft.Json,LINQ to JSON的一个小demo mysql循环插入数据、生成随机数及CONCAT函数 .NET记录-获取外网IP以及判断该IP是属于网通还是电信 Guid的生成和数据修整(去除空格和小写字符)
- Visual Studio 2017中使用正则修改部分内容 如何使用ILAsm与ILDasm修改.Net exe(dll)文件 C#学习-图解教程(1):格式化数字字符串 小程序开发之图片转Base64(C#、.Net) jquery遍历table为每一个单元格取值及赋值 。net加密解密相关方法 .net关于坐标之间一些简单操作
- Windows系统下将Qt生成的应用程序打包成可以安装的文件setup***.exe
- HTML网页/KRPano项目一键打包EXE工具(HTML网页打包成单个windows可执行文件exe)
- HTML网页/KRPano项目一键打包EXE工具(HTML网页打包成单个windows可执行文件exe)
- java swt 开发的一个小型应用程序(从设计到打包成软件.exe文件的总结)
- 【最简单】Electron 怎么将网页打包成桌面应用(web前端页面怎么生成exe可执行文件) 标签: 跨平台node.js桌面应用electronelectron-packager 2017-04-
- 一个简单java小程序打包成EXE运行文件
- 关于vb6自带打包工具打包后的安装文件在windows操作系统上安装出现问题的解决方法(部分转载)
- 用InstallAnywhere工具打包J2EE程序为.exe文件
- 将py文件打包成exe的三种工具方法
- 用InstallAnywhere工具打包J2EE程序为.exe文件
- 用InstallAnywhere工具打包J2EE程序为.exe文件
- 打包python文件为exe文件(PyInstaller工具使用方法)
- 用InstallAnywhere工具打包J2EE程序为.exe文件
- exe4j打包+Eclipse打包插件说明 GUI项目打包EXE文件的总结
- Qt应用程序打包成windows下的.exe程序的方法
- 如何使用 Sqldumper.exe 为 Windows 应用程序生成转储文件
- java应用程序打包及生成exe文件