【无标题】

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

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

相关推荐
隐积4 小时前
3.1.7.Qt容器大家族(3):QVariant——万能盒子
开发语言·qt
名字还没想好☜6 小时前
Next.js ‘use client‘ 到底加在哪:Server/Client Components 边界与常见报错
开发语言·前端·javascript·react·next.js
初级代码游戏7 小时前
iOS开发 Swift 速记1:变量和基本数据类型
开发语言·ios·swift
酷在前行8 小时前
【R生态】PERMANOVA 进阶实战:距离选择、PERMDISP、两两比较与受限置换(保姆级教程)
开发语言·r语言
cxr8288 小时前
Graphify vs GitNexus vs CodeGraph — 三工具架构深度对比
开发语言·架构·知识图谱
废弃的小码农10 小时前
功能测试--Day07--Python编程基础
开发语言·python
fengci.10 小时前
Microweber CMS 未授权路径穿越漏洞(CVE-2026-65694)
android·开发语言·前端·学习·php
程序员zgh10 小时前
C++ 拷贝赋值运算符 详解
c语言·开发语言·c++
念何架构之路10 小时前
restartmanager-重启管理子系统
java·开发语言
SomeB1oody11 小时前
【RustyML入门】2.0. 经典机器学习
开发语言·后端·机器学习·rust·教程