【无标题】

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 保存好后就开始运行了,等待下方进度条走完就打包好了

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

相关推荐
2501_9445215916 分钟前
Ramda 跨端三方库仓颉适配全流程
开发语言·javascript·flutter·php
行思理34 分钟前
go语言学习难度及适合学习的人群
开发语言·学习·golang
wangchunyu1142 小时前
JAVA CompletableFuture异步编程实战
java·开发语言·python
程序 代码狂人3 小时前
切片表与分区表的区别(数据开发面试版)
java·大数据·开发语言·数据仓库·算法
meiying88384 小时前
快递单号批量查询Python脚本:从手动到自动化的完整实现
开发语言·python·自动化
@大迁世界5 小时前
告别 Go,拥抱 Rust
开发语言·golang·rust
SEO_juper5 小时前
Node.js 重定向链检测工具:301 跳了几跳、有没有成环,一次看清
xml·开发语言·python·node.js·json·bash
学逆向的5 小时前
C 指针常量与常量指针
c语言·开发语言·网络安全
低调滴开发6 小时前
3 行代码写崩一个函数?切片才是 Rust 字符串处理的正确姿势
开发语言·后端·rust
CodeYp20196 小时前
第15讲:二叉搜索树
开发语言·c++·二叉搜索树