【无标题】

win应用打包压缩包和exe安装程序

  • 一、打成压缩包形式
    • [1.1 将程序进行编译build](#1.1 将程序进行编译build)
    • [1.2 新建一个干净的发布目录](#1.2 新建一个干净的发布目录)
    • [1.3 拷贝 exe](#1.3 拷贝 exe)
    • [1.4 让 windeployqt 自动补全 Qt 依赖](#1.4 让 windeployqt 自动补全 Qt 依赖)
    • [1.5 手动补充 需要的dll文件](#1.5 手动补充 需要的dll文件)
  • 二、打成exe安装程序
    • [2.1 下载inno setup](#2.1 下载inno setup)
    • [2.2 准备发布文件夹](#2.2 准备发布文件夹)
    • [2.3 使用inno setup打包](#2.3 使用inno setup打包)
      • [2.3.1 打开inno setup](#2.3.1 打开inno setup)
      • [2.3.2 选择next](#2.3.2 选择next)
      • [2.3.3 设置应用信息后next](#2.3.3 设置应用信息后next)
      • [2.3.4 一直next到该界面](#2.3.4 一直next到该界面)
      • [2.3.5 一直next到这一步,然后选择输出安装包的目录和安装包名称,再选择next](#2.3.5 一直next到这一步,然后选择输出安装包的目录和安装包名称,再选择next)
      • [2.3.6 保存好后就开始运行了,等待下方进度条走完就打包好了](#2.3.6 保存好后就开始运行了,等待下方进度条走完就打包好了)

一、打成压缩包形式

将编译好的程序打成压缩包,在其他机器上面开箱即用

1.1 将程序进行编译build

一般编译好会生成一个exe文件,比如build\YuvViewerPro.exe

1.2 新建一个干净的发布目录

复制代码
mkdir C:\Release

1.3 拷贝 exe

将YuvViewerPro.exe复制到C:\Release目录下

1.4 让 windeployqt 自动补全 Qt 依赖

复制代码
D:\Install\Qt\6.11.1\mingw_64\bin\windeployqt.exe C:\Release\YuvViewerPro.exe

或者将YuvViewerPro.exe拖到D:\Install\Qt\6.11.1\mingw_64\bin\windeployqt.exe 文件上面,会自动生成需要的动态库文件

1.5 手动补充 需要的dll文件

比如我这里需要ffmpeg的dll,就将D:\packet\ffmpeg-8.1.1-full_build-shared\bin*.dll 所有dll文件复制过去

复制代码
copy D:\packet\ffmpeg-8.1.1-full_build-shared\bin\*.dll C:\Release\

然后将该文件夹的所有文件压缩到一个文件即可

二、打成exe安装程序

2.1 下载inno setup

官方下载链接:https://jrsoftware.org/isinfo.php

1、

2、

2.2 准备发布文件夹

和一种的打包成压缩包形式一直,可以重新整到一个YuvViewerRelease文件夹种

2.3 使用inno setup打包

2.3.1 打开inno setup

选择File ->new

2.3.2 选择next

2.3.3 设置应用信息后next

2.3.4 一直next到该界面

选择YuvViewerPro.exe

选择添加文件夹,然后一个一个选择文件夹,并都选是/yes

然后双击选中的文件夹,在Destination subfolder中填入文件夹名称,所有的文件夹都这样做

选择添加文件,将文件夹里面的所有dll文件都选上

然后选择next

2.3.5 一直next到这一步,然后选择输出安装包的目录和安装包名称,再选择next

选择finish后会让写一个脚本名称,随便写个名称就好

2.3.6 保存好后就开始运行了,等待下方进度条走完就打包好了

最后双击安装包安装就可以了

相关推荐
geovindu3 小时前
rust: Abstract Factory pattern
开发语言·后端·设计模式·rust·抽象工厂模式
“AI国潮设计-小江”3 小时前
《Python+SDXL实战:用ControlNet批量生成“英歌舞麻将糕”IP,附自动化脚本与商用思路》
开发语言·人工智能·python·prompt·aigc
Cc.Y4 小时前
Java零基础入门:封装与继承 —— 从“裸奔“到“穿衣服“,从“重复造轮子“到“站在巨人肩膀上“
java·开发语言
Escalating_xu4 小时前
【C 语言】深入理解指针(4):回调函数、qsort、void * 与泛型排序的模拟实现
java·c语言·开发语言
吠品4 小时前
GitHub 周榜拆解:决策小模型扎堆上位
c语言·开发语言·算法
见叶之秋5 小时前
C++ 泛型世界的两块拼图:容器适配器与仿函数
java·开发语言
逗脑IDE5 小时前
零基础学ESP32:RFID无线射频卡——让ESP32拥有“刷卡“能力!
开发语言·网络·人工智能·python·esp32·硬件开发
小师兄吃牛肉5 小时前
C语言篇:内联函数
c语言·开发语言
yuniko-n5 小时前
【Java】字符串相关坑点
java·开发语言·python
jimy16 小时前
虚函数vtable,链接时看到构造函数,linker把符号地址写入vtable(三)
开发语言·c++