vs2012应用程序的打包和图标设置

简介:  最近用VS2010+QT做了一个小软件,为了把它打包发布,查了很多资料,现在总结下,便于以后查看。  本方法不限于VS2010,也不限于QT,只要你运行你的代码得到exe之后,都可以参照本方法进行。

 

最近用VS2010+QT做了一个小软件,为了把它打包发布,查了很多资料,现在总结下,便于以后查看。

  本方法不限于VS2010,也不限于QT,只要你运行你的代码得到exe之后,都可以参照本方法进行。

  参考了很多链接一的方法,向其致谢。但是,其不够全面,有些设置也有遗漏,本文作为对其的一个补充。

 

步骤一:设置可执行文件图标(限于VS2010,其他平台如VC或者JAVA,我没有试过,若只需使用系统默认图标,可直接看步骤二)

1.  找一个ico文件做为图标,例如 mylogo .ico

2.  新建一个文件 mylogo.rc, 里面写上

 

[cpp]  view plain  copy
 
  1. IDI_ICON1               ICON    DISCARDABLE     "mylogo.ico"   


3. 将以上两个文件都放到工程目录下

 

4. 在VS里的右击工程名,点击添加将mylogo.rc添加进去

5. 右击mylogo.rc,编译

6. 运行你的程序,现在,在你的DEBUG(或者RELEASE,我这里以DEBUG为例,下同,DLL文件根据DEBUG或者RELEASE选择名字里是否带d的)下就可以看到生成的带图标的EXE了。

 

步骤二:添加依赖DLL,使得在别人电脑上能运行

1. 在桌面新建一个文件夹packet,用来存放所有你需要打包的东西,将之前的EXE文件放进去

2. 因为是VS2010程序,所以要添加VS2010运行时,在VS安装目录

D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\redist

里找到 msvcp100d.dll     msvcr100d.dll 放进packet文件夹里(注意,如果是RELEASE,就找.dll前面没有d的,下同,不再重复)

3. 下载软件ProcessExplorer, 用于查看依赖dll ,运行你的EXE,查看(查看方式见链接一)

4. 将所有找到的dll都添加进packet文件夹

5. 现在,只需将packet文件夹整个拷给别的电脑上,就能直接运行了,如果你的要求只是让程序能在别人电脑上运行,到此就可以了。如果还要打包成安装包,继续步骤三。

 

步骤三:打包

1. 下载安装软件NSIS 以及插件VNISEdit

2. 运行VNISEdit, 点击工具栏的NSIS->配置

把编译器路径设置为你的NSIS路径下的 makensis.exe

把帮助设置为你的NSIS路径下的NSIS.chm

确定退出

3. 点击工具栏 文件->新建脚本:向导

4. 这一步,可以选择一个你的ico文件作为安装包的图标,程序语言选择simpleChinese,压缩算法我选的是zlib

 

5. 这一步时若没有授权文件直接删除里面的内容

6.  这一步,删除中间的两条内容,用那个树状图标(addDirTree) 选择步骤二中的packet文件夹,勾选下面的两个选项

7. 这一步,如果你有多个EXE,注意选择“程序”为你的主程序

8. 下一步直到完成,也可设置卸载程序的图标,不再赘述

9. 在VNISEdit里的工具栏 NSIS->编译脚本,等一段时间后,桌面上就有打包好的安装程序啦。

 

链接一:
沙漠里de烟雨__原创人生

http://zhouzhenren163.blog.163.com/blog/static/65499281201431535924246/

目录
相关文章
Qt实用技巧:实用掩码限制QLineEdit只能输入规定长度的数字、字母和字符
Qt实用技巧:实用掩码限制QLineEdit只能输入规定长度的数字、字母和字符
Qt实用技巧:实用掩码限制QLineEdit只能输入规定长度的数字、字母和字符
|
5月前
|
消息中间件 人工智能 Java
抖音微信爆款小游戏大全:免费休闲/竞技/益智/PHP+Java全筏开源开发
本文基于2025年最新行业数据,深入解析抖音/微信爆款小游戏的开发逻辑,重点讲解PHP+Java双引擎架构实战,涵盖技术选型、架构设计、性能优化与开源生态,提供完整开源工具链,助力开发者从理论到落地打造高留存、高并发的小游戏产品。
|
JSON API 数据处理
Winform管理系统新飞跃:无缝集成SqlSugar与Web API,实现数据云端同步的革新之路!
【8月更文挑战第3天】在企业应用开发中,常需将Winform桌面应用扩展至支持Web API调用,实现数据云端同步。本文通过实例展示如何在已有SqlSugar为基础的Winform系统中集成HTTP客户端调用Web API。采用.NET的`HttpClient`处理请求,支持异步操作。示例包括创建HTTP辅助类封装请求逻辑及在Winform界面调用API更新UI。此外,还讨论了跨域与安全性的处理策略。这种方法提高了系统的灵活性与扩展性,便于未来的技术演进。
683 2
|
数据采集 人工智能 自然语言处理
阿里云百炼产品月刊【2024年11月】
11月,阿里云百炼平台迎来一系列重大更新,包括推出QwQ、qwen-turbo、qwen-Plus等多个新模型及快照版本,强化AI推理、文本生成、视觉理解等能力。此外,还优化了模型管理、数据处理等功能,提升了用户体验。
1712 0
|
敏捷开发 数据可视化 BI
配置状态报告是什么?包括哪些编制步骤?需要注意哪些关键环节?
配置状态报告(CSR)是项目管理和系统开发中用于跟踪和记录项目配置项状态的重要工具,涵盖软件、硬件、文档等。它不仅提供项目当前状态、历史变更及发展趋势的清晰视图,还通过增强项目透明度、有效管理变更、支持决策制定和促进知识共享,帮助项目团队做出明智决策,确保项目按计划顺利进行。随着项目规模和复杂度的增加,CSR的重要性愈发凸显,现代项目管理工具已实现其编制和管理的自动化与智能化。
|
NoSQL Linux Shell
Redis 的安装与部署(图文)
Redis 的安装与部署(图文)
|
JavaScript 区块链
从零开始:如何用Electron将chatgpt-plus.top 打包成EXE文件
从零开始:如何用Electron将chatgpt-plus.top 打包成EXE文件
326 0
|
容器
【Qt 学习笔记】Qt常用控件 | 容器类控件 | Tab Widget的使用及说明
【Qt 学习笔记】Qt常用控件 | 容器类控件 | Tab Widget的使用及说明
2349 2
【Qt 学习笔记】Qt常用控件 | 显示类控件 | Progress Bar的使用及说明
【Qt 学习笔记】Qt常用控件 | 显示类控件 | Progress Bar的使用及说明
2648 0
|
存储 Cloud Native Linux
Qt QSlider样式
Qt QSlider样式