文章目录
- [1. 安装 Microsoft Visual Studio Installer Projects 2022](#1. 安装 Microsoft Visual Studio Installer Projects 2022)
- [2. 添加 Setup Project](#2. 添加 Setup Project)
- [3. 在 File System 中添加相关文件及项目输出](#3. 在 File System 中添加相关文件及项目输出)
- [4. Qt 部署](#4. Qt 部署)
- [5. 生成桌面快捷方式](#5. 生成桌面快捷方式)
- [6. 修改桌面快捷方式图标](#6. 修改桌面快捷方式图标)
- 参考资料
本文适用情况为:已经通过 visual studio 平台开发并测试好了程序或软件,需要打包成 exe 文件部署到其他电脑之上。
本人所测试的开发项目背景是:
- 开发平台:Visual Studio 2026
- 开发语言:C++
- 界面组件:Qt 6.11.1
- 其他组件:VTK-9.6.2
1. 安装 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 项目)以及相关的类库、资源文件打包在一起。
- 生成标准格式:支持生成 .msi(Windows 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,这里需要注意命令提示符工具的版本匹配问题,例如有 MSVC 和 MinGW,具体可以在你的 visual studio 工程查到,路径为 Extension -> Qt VS Tools -> Qt Versions.
确认命令提示符的版本后,打开并运行如下指令:
bash
windeployqt --release "D:\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 ... 的快捷方式。
将得到的快捷方式移动到 User's Desktop 文件夹下,同时可以修改这个快捷方式的名字。
之后再次 Build 就可以了。
6. 修改桌面快捷方式图标
确认手里有真正的 .ico 文件;PNG 图片不能直接当快捷方式图标用。
在 Setup1 的 Application Folder 里用 Add → File... 加入这个 .ico 文件。
选中 User's Desktop 里的快捷方式,右键按打开 Properties Window。然后点 Icon 这一行的 (Icon),在弹窗里选择刚加入项目的 .ico 文件并确认。
注意别只选中 Icon 这一行就关闭窗口。重新生成 Setup1。在测试电脑上卸载旧版本后安装新包,再看桌面图标。