前言

  Nsis可以使用duilib也可以使用qt界面,笔者主要qt,本文章梳理nsis+qt制作安装包的基本流程。

 

下载Nsis-Ui-Plugin插件

  Github地址:https://github.com/sway913/NSIS-UI-Plugin
  QQ群下载地址:1047134658(点击“群文件”搜索“nsis”,群内与博文同步更新)

 

预先准备

  Qt+VS的编译环境,建议VS2015x86或者VS2017x86,一定要是32位版本的,默认就是32位,不支持64位的,后续编译nsis插件尝试过64位版本,卡了挺久,解决了蛮多问题,但是没有成功,不死磕了。
  编译环境:Qt5.13.1的msvc2017x86版本 + vs2017。
  以上配环境对于老手来说也是有点费时间的,请自己百度,此处非本文重点。

 

编译Nsis-Ui-Plugun

步骤一:打开工程

  

步骤二:编译出现“”Qt version xxxxxx”

  
  设置一下,如下图:
  
  

步骤三:再次编译

  
  以上是编译过程,编译完成了。

步骤四:确认编译出的插件

  

 

使用Nsis插件

步骤一:添加软件环境变量

  两个环境变量,一个是NSIS_DIR,一个是QTDIR。
  安装的Nsis或者绿色的都行,如下图(笔者对软件重新打包整理了一整套文档流程):
  
  
  
  

步骤二:将编译的插件的release版本插件拷贝

  将编译出来的relase插件拷贝到软件的Plugins/x86-unicode下,此处备份一下最原始的,每次使用时就copy一份吧。
  
  
  (PS:用的是插件提供的qt版本的脚本,名字肯定不能改变,脚本中必定有对应的)。

步骤三:启动软件

  
  

步骤四:打开脚本

  
  
  
  (可以看看脚本,有些东西的学习还是有必要的,比如应用名称什么的可以与与Qt进行交互信息达到通过Qt来控制nsis脚本实现最终各种安装目的)。

步骤五:开始编译脚本

  
  然后,加载脚本
  

步骤六:运行提供的Demo安装包

  

  

  

  

步骤七:检查是否安装成功

  

 

部署发布的应用

   
   
   
   经测试,脚本只会安装卸载,修改应用名称和生成快捷方式,具体的文件copy等其他功能并未实现,所以需要读者自己用脚本实现了。

 

NSIS制作安装包笔记(二):NSIS使用NSIS+Qt界面制作安装包流程的更多相关文章

  1. NSIS制作安装包笔记(一):NSIS介绍、使用NSIS默认向导脚本制作Windows安装包

    前言   做产品时,定制的自定义安装界面常有的,使用NSIS + Qt可以完美的定制基于QT的安装界面,先从纯NSIS开始,制作常规的安装包.   应用程序的发布方式   应用程序发布的时候,具备以下 ...

  2. IS2009制作Oracle 静默安装包(二) 感谢空白先生特许授权

    原文:IS2009制作Oracle 静默安装包(二) 感谢空白先生特许授权 上一篇: IS2009制作Oracle 静默安装包(一)感谢空白先生特许授权本文经原作者特许授权于海洋女神发布,转载请务必注 ...

  3. NSIS安装制作基础教程[初级篇], 献给对NSIS有兴趣的初学者

    NSIS安装制作基础教程[初级篇], 献给对NSIS有兴趣的初学者 作者: raindy 来源:http://bbs.hanzify.org/index.php?showtopic=30029 时间: ...

  4. Git 笔记二-Git安装与初始配置

    git 笔记二-Git安装与初始配置 Git的安装 由于我日常生活和工作基本上都是在Windows上,因此此处只说windows上的安装.Windows上的安装和其他程序一样,只需要到http://g ...

  5. Dockerfile自动制作Docker镜像(二)—— 其它常用命令

    Dockerfile自动制作Docker镜像(二)-- 其它常用命令 前言 a. 本文主要为 Docker的视频教程 笔记. b. 环境为 CentOS 7.0 云服务器 c. 上一篇:Dockerf ...

  6. 《CMake实践》笔记二:INSTALL/CMAKE_INSTALL_PREFIX

    <CMake实践>笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE <CMake实践>笔记二:INSTALL/CMAKE_INSTALL_PREFIX &l ...

  7. jQuery源码笔记(二):定义了一些变量和函数 jQuery = function(){}

    笔记(二)也分为三部分: 一. 介绍: 注释说明:v2.0.3版本.Sizzle选择器.MIT软件许可注释中的#的信息索引.查询地址(英文版)匿名函数自执行:window参数及undefined参数意 ...

  8. Mastering Web Application Development with AngularJS 读书笔记(二)

    第一章笔记 (二) 一.scopes的层级和事件系统(the eventing system) 在层级中管理的scopes可以被用做事件总线.AngularJS 允许我们去传播已经命名的事件用一种有效 ...

  9. Python 学习笔记二

    笔记二 :print 以及基本文件操作 笔记一已取消置顶链接地址 http://www.cnblogs.com/dzzy/p/5140899.html 暑假只是快速过了一遍python ,现在起开始仔 ...

  10. WPF的Binding学习笔记(二)

    原文: http://www.cnblogs.com/pasoraku/archive/2012/10/25/2738428.htmlWPF的Binding学习笔记(二) 上次学了点点Binding的 ...

随机推荐

  1. [转帖]InnoDB Page结构详解

    1导读 本文花了比较多的时间梳理了InnoDB page的结构以及对应的分裂测试,其中测试部分大部分是参考了叶老师在<InnoDB表聚集索引层什么时候发生变化>一文中使用的方法,其次,本文 ...

  2. [转帖]NVMe 与 AHCI

    https://www.cnblogs.com/zengkefu/p/5634345.html http://elf8848.iteye.com/blog/1731274 AHCI: NCQ技术,60 ...

  3. Python学习之六_同时访问Oracle和Mysql的方法

    Python学习之六_同时访问Oracle和Mysql的方法 背景 jaydebeapi 可以访问大部分数据库. 但是他有一个问题是仅能够访问一种类型的数据库. 如果同事连接两种数据库,那么就会出现问 ...

  4. OpenEuler2203 基于容器和本地文件部署Redis Cluster的过程以及简单性能测试

    背景 其实文件搭建和集群搭建没有任何区别 这次用先用容器搭建出来,然后测试一下性能 想着再使用本地部署的方式搭建一下. 两项验证容器和基于文件的搭建的性能差异 部分资料来源: https://blog ...

  5. forEach在项目中的使用

    forEach 会改变原始数组 被forEach循环的数组不能够为空 forEach会改变原始数组 value是内容 index是索引 array是你写的数组. foeEach内部是异步的哈 功能描述 ...

  6. # 继续前行github star突破8k即时通讯IM开源项目OpenIM版本发布计划

    项目简介 OpenIM继续领跑开源IM领域,在广大开发者的支持下,目前github star突破8k.在数据泄露.信息外泄.隐私滥用的时代,IM私有化部署需求旺盛.其中,政企协同办公对IM需求猛增,随 ...

  7. 三线表制作(word)

    三线表制作 转载:https://blog.csdn.net/zaishuiyifangxym/article/details/81668886

  8. Volatility 内存数字取证方法

    计算机数字取证分为内存取证和磁盘取证,活取证与死取证,不管是那种取证方式,都应尽量避免破环犯罪现场,例如通过内存转储工具对内存进行快照,通过磁盘克隆工具对磁盘进行克隆,方便后期的分析工作,这里将研究内 ...

  9. 8、数据库学习规划:MS SQL Server - 学习规划系列文章

    微软的SQL Server数据库是笔者最先接触的数据库,虽然之前有Access,但是那个是学校里知道的,没实际去开发基于Access的程序.SQL Server发展到现在已经有很多个版本了,其功能也非 ...

  10. 小知识:开启NTP服务并设置为开机启动

    我的一套测试环境发现时间慢了10分钟,影响我做各类测试. 首先就想到NTP服务,发现已安装NTP安装包,也有默认的NTP配置文件,只是没有启用. 用到的相关命令参考如下: [root@bogon ~] ...