尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
VS2026 打包 C++ 程序生成 EXE,借助 Installer Project 扩展工具
文章目录1. 安装 Microsoft Visual Studio Installer Projects 20222. 添加 Setup Project3. 在 File System 中添加相关文件及项目输出4. Qt 部署5. 生成桌面快捷方式6. 修改桌面快捷方式图标参考资料本文适用情况为已经通过 visual studio 平台开发并测试好了程序或软件需要打包成 exe 文件部署到其他电脑之上。本人所测试的开发项目背景是开发平台Visual Studio 2026开发语言C界面组件Qt 6.11.1其他组件VTK-9.6.21. 安装 Microsoft Visual Studio Installer Projects 2022在 Visual Studio 顶部菜单栏找到 Extensions依次点击Extensions - Manage Extensions然后在弹出的搜索框搜索installer并点击install。之后退出 Visual Studio因为只有关闭 Visual Studio 才能进行功能的添加和修改。跟随弹出的小窗口操作即可。成功之后再次重启 Visual Studio 即可。Microsoft Visual Studio Installer Projects 2022 是微软为 Visual Studio 2022 提供的一款扩展插件专门用于将开发好的桌面应用程序打包成标准的安装程序如.msi或Setup.exe文件。主要功能和作用创建安装包能把你的 C#、VB.NET 等桌面程序如 WinForms、WPF 项目以及相关的类库、资源文件打包在一起。生成标准格式支持生成 .msiWindows Installer或传统安装执行文件方便分发给用户在 Windows 系统上安装。配置安装环境可以设置桌面快捷方式、开始菜单图标。可以配置注册表项、文件关联等系统设置。可以检测并自动引导安装依赖项例如 .NET Framework 环境。适用场景当你开发完一个 Windows 桌面软件需要发给客户或发布到网上让普通用户通过类似“下一步、下一步”的图形界面来安装而不是简单地把一堆 .dll 和 .exe 压缩包发给对方时就可以使用这个工具。2. 添加 Setup Project刚才安装的 Microsoft Visual Studio Installer Projects 是扩展工具接下来利用这个工具创建安装包项目Setup Project这个安装包项目才是用来把我们的工程可执行文件setup.exe、.dll和相关资源文件打包成.msi或setup.exe文件的。这里我们假定你的工程名字为XYZ。接下来右键你的工程Solution XYZ然后依次选择Add - New Project在搜索框搜索setup然后选择Setup Project一直下一步即可。之后我们便得到了用来打包我们的XYZ工程的 File System 编辑器这是用来决定安装时把文件放到目标电脑的哪些位置。Application Folder应用程序文件夹程序的安装目录。通常把 XYZ.exe、Qt/VTK DLL以及程序运行需要的资源文件放这里。User’s Desktop用户桌面放桌面快捷方式。一般添加一个指向 XYZ.exe 的快捷方式。User’s Programs Menu用户开始菜单放开始菜单快捷方式。也可以在这里建一个程序文件夹再放快捷方式。现在看到的这三个是安装位置分类不代表里面已经有程序文件。3. 在 File System 中添加相关文件及项目输出右键Application Folder然后选择Add → Project Output…添加 XYZ 的Primary Output。随后把需要随程序安装的DLL和资源也加入这里。然后右键 Setup Project默认名字为Setup1点击build即可在文件夹中看到生成的setup.exe和Setup1.msi文件将这两个文件发送到待安装电脑运行setup.exe即可。如果没有其他特别的要求以上就是核心打包流程了。再往之后的内容就是根据不同的需求以及不同的工程文件类型所独有的一些操作了。Add Project Output Group添加项目输出组窗口。它决定从 XYZ 项目里把哪一类生成文件加入安装包。选项包含什么通常怎么用Primary Output项目生成的主程序.exe或.dll必选。你的应用通常选这个Resource Satellite DLLs按语言生成的本地化资源 DLL只有程序使用这类资源 DLL 时才选不确定时先不加Debug Symbols调试符号文件通常是.pdb正式安装包通常不需要排查崩溃时可另行保留Content Files项目中标记为 Content 的文件只有项目把需要的文件正确标记为 Content 时才选仍要检查是否包含了运行所需资源Source Files源代码文件通常不应放进给用户安装的程序包Documentation Files项目文档文件需要随程序提供说明文档时再选4. Qt 部署因为我开发的工程还用到了 Qt所以需要进行 Qt 部署。如果待打包的工程没有用到 Qt则可以跳过这一步。Qt 的部署采用windeployqt运行名称为Qt 6.11.1 (MSVC 2022 64-bit)命令提示符工具这里需要注意版本匹配问题有 MSVC 和 MinGW需要采用和你工程开发一致的版本。具体可以在你的 visual studio 工程查到路径为Extension - Qt VS Tools - Qt Versions.确认命令提示符的版本后打开并运行如下指令windeployqt--releaseD:\Deploy\XYZ.exe这一步会借助 windeployqt 工具找寻相关的 Qt 组件并将其复制到你的XYZ.exe文件夹下。这里的所有内容都是需要复制到步骤 3 中的Application Folder且注意要保持同样的文件结构。5. 生成桌面快捷方式如果想要安装后的程序自动创建桌面快捷方式那需要先定位步骤 3 的Application Folder然后在其中找到主输出Shortcut to %sPrimary Output from JawDynamics (Active)之后右键选择Create Shortcut to Primary Output from XYZ ...然后就会得到默认文字为Shortcut to %sPrimary Output from XYZ ...的快捷方式。将得到的快捷方式移动到Users Desktop文件夹下同时可以修改这个快捷方式的名字。之后再次 Build 就可以了。6. 修改桌面快捷方式图标确认手里有真正的 .ico 文件PNG 图片不能直接当快捷方式图标用。在Setup1的Application Folder里用Add → File…加入这个 .ico 文件。选中User’s Desktop里的快捷方式右键按打开Properties Window。然后点 Icon 这一行的 (Icon)在弹窗里选择刚加入项目的 .ico 文件并确认。注意别只选中 Icon 这一行就关闭窗口。重新生成Setup1。在测试电脑上卸载旧版本后安装新包再看桌面图标。参考资料C程序打包生成EXE——以VS2019为例五分钟教会你vs程序打包全程无废话
RELATED

相关推荐

File、IO流

File、IO流

File用于操作文件,IO流用于读写数据1.File文件对象常用方法package com.popo.filedemo;import java.io.File; import java.io.IOException;public class FileDemo1 {public static void main(String[] args) throws Exception {// 文件对象常用方法File f1 new Fil…

📅 2026/11/5 9:07:07
用 CLion 定位基于 RK3568 嵌入式 Linux 5.10.160 Core Dump 崩溃问题

用 CLion 定位基于 RK3568 嵌入式 Linux 5.10.160 Core Dump 崩溃问题

嵌入式 Linux 上调试偶发崩溃是件头疼事:现场复现成本高、串口打印有限、gdb 直接 attach 又会打断业务。把 core dump 落盘、拿回开发机用 CLion 慢慢分析,是性价比最高的做法。本文以飞凌 OK3568 开发板(RK3568, Linux 5.10.160, Buildroot)为例,走完"板上开启 cor…

📅 2026/11/5 9:07:07
平均响应两小时,对方却觉得三天没人理:企业微信聊天记录导出的效率分析攻略

平均响应两小时,对方却觉得三天没人理:企业微信聊天记录导出的效率分析攻略

月度复盘会上摆了两张纸。 左边是一张统计表,上面写着平均首次响应时长两小时十四分,比上个月快了十一分钟,看起来是件好事。右边是三段从聊天记录里摘出来的原话,最短的一段只有八个字:三天了,没人回我。 …

📅 2026/11/5 9:07:07
MORE NEWS

更多资讯

📰

附录 A · 工具速查表

附录导读本附录是混淆工具和反混淆工具的快速索引,按用途分类,相当于一本"工具字典":第 1 节:混淆工具——把代码变难分析的"加固方"武器;第 2 节:反混淆工具——把混淆代码还原回去的…

📰

PDO属性设置全解析:高效数据库操作秘诀

PDO::关于PHP的PDO这种技术, 它有一份参考手册。PDO:: — 设置属性(PHP 5 > 5.1.0, PECL pdo > 0.1.0)说明语法bool PDO::setAttribute ( int $attribute , mixed $value )我们需要把数据库句柄的属性给设置好。在下文之中, 会列举出一些可以被大家所用到的通用的属性内容…

📰

GMSK调制与基于Laurent分解的GMSK解调FPGA实现,第一篇(GMSK调制篇)

目录 一、GMSK简介 二、GMSK调制原理与步骤 1、GMSK调制原理 2、GMSK调制步骤 三、GMSK调制MATLAB仿真验证 1、GMSK调制MATLAB代码 2、GMSK调制MATLAB仿真 四、GMSK调制FPGA实现 1、GMSK调制FPGA Verilog代码 2、GMSK调制FPGA 仿真 五、FPGA和MATLAB联合仿真 1、…

📰

JAVA——抽象类、内部类和接口

一、抽象类如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。抽象类可以包含抽象方法与普通方法和属性。在Java中,一个类如果被 abstract 修饰称为抽象类,抽象类中被 abstract 修饰的方法称为抽象方法,抽…

📰

二叉树的学习

二叉树 1.树形概念 想了解二叉树的概念我们得先知道数的概念 树是⼀种⾮线性的数据结构,它是由n(n>0)个有限结点组成⼀个具有层次关系的集合。把它叫做树是因为它看起来像⼀棵倒挂的树,也就是说它是根朝上,⽽叶朝下…

📰

DouK-Downloader 实操指南:从 Cookie 配置到 Docker 部署的抖音/TikTok 批量下载与数据采集

DouK-Downloader 实操指南:从 Cookie 配置到 Docker 部署的抖音/TikTok 批量下载与数据采集 【免费下载链接】TikTokDownloader 抖音 / TikTok 平台作品下载/数据采集工具 项目地址: https://gitcode.com/GitHub_Trending/ti/TikTokDownloader 动手前&#x…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬