visual studio打包QT工程发布exe安装包

一、实验环境

软件版本下载链接
visual studioMicrosoft Visual Studio Community 2022 (64 位) - Current 版本 17.7.5
QTv6.6.3
NSISv3.10官网百度云1234
Windows11

二、程序准备

1、程序生成

使用 visual studio 打开工程,选择 Release 模式后,点资源生成。
在这里插入图片描述
Release 资源生成后,打开工程目录下,进入 x64/Release 文件夹 下可以看到工程资源。
在这里插入图片描述

三、程序打包

1、依赖生成

  1. 打开QT命令框,一般从Windows启动界面搜索QT,匹配出现QT MSVC命令框点击即可。也可根据实际安装路径寻找。
    在这里插入图片描述
    在这里插入图片描述
  2. cd 进入已经生成的 Release 资源目录,我的程序资源目录为D:\my_project\c++_project\OfflineDataParser\x64\Release)
    在这里插入图片描述
  3. 因为 Release 文件夹下资源缺少QT等组件依赖,所以需使用Qt自带的 windeployqt.exe 工具,用于拉取依赖创建应用程序发布包。包名为工程生成的exe文件
    windeployqt 包名
    
    在这里插入图片描述
    下图为依赖拉取完毕的目录资源截图
    在这里插入图片描述

3、发布文件夹准备

  1. 新建程序发布版本文件夹,例如我的程序当前版本为v2.0.2,在目录下创建v2.0.2文件夹,并将程序 logo 复制到当前目录下。
    在这里插入图片描述
  2. 进入” v2.0.2” 目录,创建” nsis” 文件夹(用于存放nsis配置文件) 和 ” 依赖” 文件夹(用于存放程序资源)
    在这里插入图片描述
  3. 进入”依赖” 文件夹,创建 “配置” 和 ”源” 两个文件夹
    ” 配置” 文件夹存放程序所用到的自定义资源,例如我的程序用到config外部资源。同时将程序图标放在该目录下。
    在这里插入图片描述
    ”源” 文件夹存放 Release 生成的资源。将 之前 Release 文件夹下所有文件复制到 ”源” 文件夹下,同时将里面的程序包移动到 “v2.0.2“ 文件夹下,我的程序包名为 ”OfflineDataParser.exe“
    在这里插入图片描述在这里插入图片描述

2、安装NSIS

  1. 安装NSIS程序,安装过程这里不做过多介绍,下图为NSIS程序已经安装完成的主界面。
    在这里插入图片描述

3、新建NSIS脚本

  1. 新建NSIS脚本
  • 点击文件 -> 新建脚本:向导 -> 弹窗(下一步),按照提示填入信息,如下图咱们填写应用打包的程序名为 ”番茄“,版本改为 2.0.2 ,点击下一步。
    在这里插入图片描述

  • 选择程序 logo 图标
    在这里插入图片描述

  • 修改发布程序名称为 “番茄”,然后选择选择发布安装程序文件路径,在 “v2.0.2” 下创建 “番茄” 文件夹,然后打开保存。(默认不选择保存文件夹路径,安装包则保存到nsis模板同一级目录下)。
    在这里插入图片描述

    • 选择安装语言为中文,点击下一步
      在这里插入图片描述
  • 如果没有授权文件 则清空,下一步
    在这里插入图片描述

  • 删除两个默认路径文件,添加 ”依赖/OfflineDataParser.exe“ 文件,再添加 依赖文件夹下的 “配置” 和 ”源“ 文件夹,点击下一步
    在这里插入图片描述

  • 下一步
    在这里插入图片描述

  • 下一步
    在这里插入图片描述

  • 下一步
    在这里插入图片描述

  • 选择保存脚本,以便下次发布程序新版本时用作模板,点击完成
    在这里插入图片描述
    在这里插入图片描述

  • 已经生成的脚本模板
    在这里插入图片描述
    注意,要在文本中找到 CreateShortCut “$DESKTOP \番茄.lnk” “$INSTDIR\OfflineDataParser.exe” 这一行,后面增加以下内容,这样才能保证程序的图标正常显示。logo-ico.ico 为程序图标的名称。

     "" "$INSTDIR\logo-ico.ico"
    

    在这里插入图片描述

4、编译发布

  1. 编译脚本
    在这里插入图片描述
  2. 完成编译
    在这里插入图片描述
    自此发布 exe 安装包完毕。
### 如何在 Visual Studio打包 EXE 文件并包含图片素材 当准备发布应用程序时,确保所有资源文件(如图片素材)被正确包含是非常重要的。对于Visual Studio中的C++或C#项目,在构建可执行文件的同时加入这些静态资源可以通过特定的方式完成。 #### 对于 C/C++ 项目: 为了使`windeployqt`工具能够自动处理Qt应用所需的DLL和其他依赖项之外的额外资源,比如图像文件,应该先将这些资源定义为程序的一部分。这通常通过`.qrc`资源文件来实现[^1]。开发者可以在Qt Creator中轻松管理这种类型的资源文件;而对于纯VS开发环境,则可能需要手动编辑XML风格的.qrc文件,并将其添加至工程设置里对应的源码列表之中。一旦这样做之后,编译过程就会识别出哪些附加的数据应当被打包进去。 另外一种方法是在调用`windeployqt`之前手工复制必要的媒体资料到目标输出路径下的适当子文件夹内。不过这种方法不如前者优雅且容易维护,因为随着项目的成长可能会变得难以跟踪所有的外部资产位置变化情况。 ```xml <!-- 示例 .qrc 资源文件 --> <RCC> <qresource prefix="/images"> <file>image1.png</file> <file>icons/icon.svg</file> </qresource> </RCC> ``` #### 对于 C# 或 VB.NET 项目: 如果使用的是基于.NET框架的语言编写的应用程序,那么可以利用“内容”属性来指定某些文件作为应用程序的一部分进行部署。具体来说就是在解决方案资源管理器中找到想要随同发布的图片或其他类型的内容文件,右键点击它们,选择“属性”,然后将“生成操作”的值设为“Content”。同时,“复制到输出目录”的选项应配置成“始终复制”或是“仅当较新时复制”。 这样做的效果是使得MSBuild系统会在每次构建过程中把这些标记过的条目一同拷贝到最终生成物所在的文件夹结构当中去。因此只要按照正常流程创建安装包——无论是借助ClickOnce、WiX Toolset还是其他第三方工具——所选中的资源都会自然地成为分发版本的一份子[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值