前言

  做产品时,定制的自定义安装界面常有的,使用NSIS + Qt可以完美的定制基于QT的安装界面,先从纯NSIS开始,制作常规的安装包。

 

应用程序的发布方式

  应用程序发布的时候,具备以下两种方式:

  • 静态编译:把相关联的库一并引入可执行程序,虽然发布简单,编译出来只有一个exe文件。(特别注意:编译时,其依赖的库也需要使用静态包)。
  • 动态编译:把相关联的库以dll的形式提供(linux下是.so)引入,不被包含进可执行程序,发布不方便,但可执行程序较小。
    预先准备工具
    Qt应用需要先打包,使用windeployqt,建议打包后到无环境的对应系统的虚拟机上尝试。
    具体直接略,不会的请百度。
      
 

Windows下安装与卸载

安装

  在windows下,很多程序运行起来,会有一系列安装,勾选用户协议,自定义的安装界面,安装之后对应的路径放置应用的程序文件,创建开始菜单文件夹,放置桌面快捷方式,任务栏也可能有固定图标,
  以上情况,安装包就需要单独定制了,如Qt的安装包,其他产品的安装包:
  
  以上Qt的界面确实不太漂亮,漂亮的界面是需要美工做主题的,怀疑Qt公司没有ui设计参与。
  还有很多其他安装界面:
  

卸载

  卸载界面也可以定制,当然会增加一定的工作量,如下图:
  

 

NSIS软件

  Nsis其实是使用一种脚本语言了,学习成本肯定是不低的。
  采用NSIS + QT 制作安装程序实际上就是使用QT制作安装程序,而NSIS仅仅将制作的安装程序打包成一个exe。

下载

安装

  
  
  
  

 

NSIS使用向导生成安装包

  可勾选用户协议,可选择安装路径,并且在开始菜单和桌面创建图标。

步骤一:启用应用,打开脚本编辑器

  一般需要用到的就是“编译NSI脚本”和“脚本编辑器(VNISEdit)”。
  
  

步骤二:新建向导脚本(自带内置)

  使用向导基本进行建立,可满足常规的一些应用安装过程:
  
  
  
  
  
  
  
  
  
  
  生成了脚本:
  
  保存为脚本:
   
  至此,可以关闭脚本编辑器了(注意:最好留着,后边边调试脚本边编译测试)。

步骤三:编译NISI脚本

  切到主界面,打开NSI脚本编译器,对脚本进行编译:
  
  加载脚本:
  
  加载之中(copy文件等操作):
  
  加载完成:
  

步骤四:测试安装程序

  向导生成的安装过程:
   
  
  
  
  
  

步骤五:测试成功

  
  

步骤六:测试卸载

  
  
  
  (注意:图标出来了,这个地方前面需要再调试,因为前面的图标没有出,读者自己调试吧,挺费时间的)。

 

上一篇:无
下一篇:《NSIS制作安装包笔记(二):NSIS使用NSIS+Qt界面制作安装包流程》(即将发布)

NSIS制作安装包笔记(一):NSIS介绍、使用NSIS默认向导脚本制作Windows安装包的更多相关文章

  1. C# Note19: Windows安装包制作实践

    前言 最近在项目中需要不断更新新版本的software installer(软件安装包),于是便查阅资料,整理了下制作方法. NSIS安装包制作脚本 NSIS(Nullsoft Scriptable ...

  2. InterSystems Ensemble学习笔记(一) Ensemble介绍及安装

    系列目录 InterSystems Ensemble学习笔记(一) Ensemble介绍及安装InterSystems Ensemble学习笔记(二) Ensemble创建镜像, 实现自动故障转移 一 ...

  3. Jmeter介绍以及脚本制作与调试

    目录 Jmeter介绍 Jmeter安装 Jmeter主要测试组件 Jmeter元件作用域与执行顺序 Jmeter运行原理 Jmeter脚本制作 Jmeter脚本调试 Jmeter介绍 Jmeter ...

  4. HTML+CSS学习笔记(1) - Html介绍

    HTML+CSS学习笔记(1) - Html介绍 1.代码初体验,制作我的第一个网页 <!DOCTYPE HTML> <html> <head> <meta ...

  5. cocos2d-x入门学习笔记,主要介绍cocos2d-x的基本结构,并且介绍引擎自带的示例

    cocos2d-x 3.0 制作横版格斗游戏 http://philon.cn/post/cocos2d-x-3.0-zhi-zuo-heng-ban-ge-dou-you-xi http://blo ...

  6. 《The Linux Command Line》 读书笔记01 基本命令介绍

    <The Linux Command Line> 读书笔记01 基本命令介绍 1. What is the Shell? The Shell is a program that takes ...

  7. 解决octave for windows安装包无法通过SourceForge下载的问题

    近期SourceForge访问不了,可以通过访问SourceForge的ftp镜像ftp://sourceforge.nchc.org.tw/进行下载: ftp下载工具可以使用FileZilla,可在 ...

  8. Typescript 学习笔记一:介绍、安装、编译

    前言 整理了一下 Typescript 的学习笔记,方便后期遗忘某个知识点的时候,快速回忆. 为了避免凌乱,用 gitbook 结合 marketdown 整理的. github地址是:ts-gitb ...

  9. Elasticsearch7.X 入门学习第五课笔记---- - Mapping设定介绍

    原文:Elasticsearch7.X 入门学习第五课笔记---- - Mapping设定介绍 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本 ...

随机推荐

  1. redis一句话木马控电脑

      (1)在redis管理工具内写入木马并保存: 输入命令行: config set dbfilename shell.php set shell "<?php @assert($_P ...

  2. 七种方案!探讨Redis分布式锁的正确使用姿势

    前言 日常开发中,秒杀下单.抢红包等等业务场景,都需要用到分布式锁.而Redis非常适合作为分布式锁使用.本文将分七个方案展开,跟大家探讨Redis分布式锁的正确使用方式.如果有不正确的地方,欢迎大家 ...

  3. 树莓派 3/4 安装 FreeBSD

    已盼春来归 已盼春来归 今日去 愿为春来归 盼归春天来了 FreeBSD 的春天在哪里? 树莓派是什么,相信凡是关注了我们的人都不会不知道,但是介于非专业人员需要在此做简要介绍.我们的安卓手机,大部分 ...

  4. 前后端分离之DRF——1

    1. 作用 1. 序列化,序列化器会把模型对象转成字典,经过 response 以后变成 json 字符串 2. 反序列化,把客户端发送过来的数据,经过 request 以后变成字典,序列化器可以把字 ...

  5. Windows搭建flutter开发环境以及android&idea配置

    Flutter:是谷歌新推出的一款能够支持Android和IOS跨平台开发的全新的UI框架. 拥有自己的一套UI渲染引擎,所以目前的测试数据来看,在性能上面,并没有比原生App性能低多少,所以目前来看 ...

  6. 安装JDK9,jemter无法正常启动,怎么退回到JDK8

    安装JDK8,配置环境变量 java -version显示的是8.1 然后安装JDK9之后,java -version显示的是9+8.1 这个时候,无法正常启动jemter 在环境变量中把path的C ...

  7. java.lang.IllegalArgumentException: MALFORMED

    java.lang.IllegalArgumentException: MALFORMED at java.util.zip.ZipCoder.toString(ZipCoder.java:58) a ...

  8. VSCode中插件Code Spell Checker

    说在前面 介绍 Code Spell Checker 是在VSCode中的一款插件,能够帮助我们检查单词拼写是否出现错误,检查的规则遵循 camelCase (驼峰拼写法). 安装方法 打开VSCod ...

  9. [源码解析] 并行分布式框架 Celery 之架构 (1)

    [源码解析] 并行分布式框架 Celery 之架构 (1) 目录 [源码解析] 并行分布式框架 Celery 之架构 (1) 0x00 摘要 0x01 Celery 简介 1.1 什么是 Celery ...

  10. Android Studio 之生成正式签名的 APK 文件

    生成 APK 文件 •步骤 点击  Build -> Generate Signed...... : 来到如下界面: 选择 APK 选项,点击 Next 来到如下界面: 如果你电脑上没有一个正式 ...