【无标题】

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

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

相关推荐
LDR0066 天前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术6 天前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript
码云数智-园园7 天前
C++20 Modules 模块详解
java·开发语言·spring
swordbob7 天前
NIO的channel中什么是 fd(File Descriptor,文件描述符)
java·开发语言·nio
源分享7 天前
Java线程同步的多种实现方法(非常详细)
java·开发语言·jvm
Luminous.7 天前
C语言--day30
c语言·开发语言
何以解忧,唯有..7 天前
Go语言循环语句详解:for、range与循环控制
开发语言·算法·golang
謓泽7 天前
C语言不是语法,是通往机器的地图。
c语言·开发语言
云水一下7 天前
从零开始学 PHP 系列(一):PHP 的前世今生与开发环境搭建
开发语言·php
飞天狗1117 天前
零基础JavaWeb入门——第五课第二小节:九大内置对象 · 第2个:response(响应对象)
java·开发语言