首先确保C++程序通过静态链接或包含依赖库实现独立运行,再使用Inno Setup等工具将exe及资源文件打包为安装包;具体步骤包括:1. 用Visual Studio Release模式编译生成exe,建议静态链接运行时库(MT)以减少依赖;2. 使用Dependencies工具检查缺失的DLL(如MSVCP140.dll),并通过嵌入vcredist或同目录放置DLL解决;3. 利用Inno Setup脚本向导创建安装包,配置应用信息、安装路径、快捷方式和所需文件,编译生成setup.exe;4. 在干净系统中测试安装与运行,验证功能完整性。最终实现用户双击即可安装使用的目标。

在Windows平台下将C++程序打包成exe安装包,主要分为两个步骤:一是确保程序能在目标机器上独立运行(解决依赖问题),二是使用安装包制作工具将程序和相关文件打包成一个可分发的安装程序(.exe安装包)。下面详细介绍整个流程。
1. 准备可执行程序(.exe)
首先需要通过编译器(如Visual Studio)生成你的C++程序的可执行文件(.exe)。
说明:- 使用Release模式编译,生成体积更小、性能更好的exe文件。
- 在项目属性中设置“静态链接运行时库”,可以减少对目标系统VC++运行库的依赖。具体路径:项目属性 → C/C++ → 代码生成 → 运行库 → 选择 MT 或 MTd(Release用MT)。
如果无法静态链接,或使用了MFC、动态库等,则必须确保目标系统安装了对应版本的 Microsoft Visual C++ Redistributable。你也可以将这些DLL随程序一起发布,但推荐引导用户安装运行库。
2. 检查并处理程序依赖项
使用工具检查你的exe是否依赖外部DLL。
立即学习“C++免费学习笔记(深入)”;
- 下载并使用 Dependency Walker(depends.exe)或更现代的 Dependencies 工具(GitHub开源)打开你的exe文件。
- 查看缺失的DLL,常见如 MSVCP140.dll、VCRUNTIME140.dll 等,这些属于Visual C++运行库。
- 若不想让用户手动装运行库,可在安装包中嵌入vcredist安装程序,并设置自动运行。
- 或将必要的DLL与exe放在同一目录下(仅限允许分发的DLL,注意许可协议)。
3. 使用安装包制作工具生成exe安装包
推荐使用免费且易用的工具将你的程序打包成一键安装的exe安装包。
推荐工具:Inno Setup- 免费、功能强大、支持中文、脚本驱动。
- 官网:https://www.php.cn/link/c193e32491586a336b2db8341da77a15
- 下载并安装 Inno Setup。
- 启动后选择 "Create a new script file using the Script Wizard"。
- 按照向导填写:
- 应用程序名称、版本
- 你的exe路径(如 Release\MyApp.exe)
- 程序图标、安装目录、开始菜单项等
- 附加文件(如配置文件、资源文件、DLL等)
- 是否需要管理员权限(通常勾选“Use UAC”)
- 完成向导后生成 .iss 脚本文件,点击“Compile”即可生成 setup.exe 安装包。
- NSIS(Nullsoft Scriptable Install System):脚本灵活,轻量,适合高级用户。
- Advanced Installer(免费版有限制):图形化操作,适合企业级打包。
4. 测试安装包
在干净的Windows系统(或虚拟机)中测试你的安装包。
- 确认程序能正常安装和运行。
- 检查快捷方式、注册表项、卸载功能是否正常。
- 确保没有缺少DLL或权限问题。
基本上就这些。只要处理好依赖关系,并使用合适的打包工具,C++程序就能轻松发布为标准的Windows安装程序。关键是让最终用户双击就能安装使用,无需额外配置。










