使用NSIS打包程序安装包

使用NSIS打包程序安装包

我使用的NSIS 软件是V3.08 简体中文增强版,下载安装是按照 水晶石 的文章教程操作的
(原文链接:https://www.cnblogs.com/NSIS/p/16581122.html )。

打包步骤:

1、打开NSIS菜单,选择“VNsiedit(编译器环境)在这里插入图片描述
然后会打开下图窗口
在这里插入图片描述
2、新建安装向导:选择左上角“文件”-“新建脚本:向导
(熟悉NSIS脚本编写的话可以选择其他的方式进行新建脚本)
在这里插入图片描述
然后会弹出下图脚本向导窗口,按照步骤一步步来就可以编写好一个基本的脚本文件了。
在这里插入图片描述
具体操作步骤如下:
(1)填写应用程序信息,包括程序名称、版本号、出版人信息、出版人或公司网站、程序标志(可以默认不用改)
在这里插入图片描述
(2)指定安装程序选项,包括安装程序logo、安装程序名称、语言(默认选择“简体中文”)、图形界面和压缩算法。

图形 界面和压缩算法可以参考其他资料介绍进行修改,一般默认选择即可。

在这里插入图片描述
(3)设置快闪屏幕和背景窗口

这一步可以直接跳过,这部分是修改安装时背景可视效果。

在这里插入图片描述
(4)设置应用程序的目录与授权信息

默认目录一般无须修改,如果没有授权文件,需要将红色部分内容清空,再进行下一步操作

在这里插入图片描述

(5)指定应用程序文件

下图左侧1部分是展示安装组件;
2部分可以对选中组件的文件进行编辑,可以新建单个文件或文件夹、更改和删除文件;
3部分是展示选中组件已添加的文件列表;
4部分是在多个可选安装组件情况下,是否允许用户自行选择安装组件,如果只有一个组件,不用勾选;
5部分是对组件的描述,方便用户了解程序信息;
6部分可以新建组件、更改组件名称和删除组件;

在这里插入图片描述

(6)设置应用程序图标

在红框部分,一定要有您添加的程序快捷方式,才算添加应用程序文件成功,一般会有两个快捷方式,一个是安装目录下的快捷方式,一个是桌面快捷方式

在这里插入图片描述

(7)指定安装程序之后运行

默认选择即可,在安装完成后会提示是否运行程序

在这里插入图片描述
(8)指定卸载程序属性

这一步是设置卸载程序向导的信息,一般只需要修改程序图标即可,其他可以默认

在这里插入图片描述
(9)完成安装向导

勾选前两个即可,先将脚本保存,然后再根据需求编辑脚本

在这里插入图片描述
(10)编辑脚本
常用的脚本设置设置

所有 Function 区段必须放置在 Section 区段之后编写

  • 有两个组件需要安装,并且允许用户自行选择安装第二个组件时
Function .onInstSuccess

  SectionGetFlags ${SEC02} $0  # 检测 SEC1 的选择状态,1为已勾选该组件
  IntOp $0 $0 & ${SF_selectED} # 只过滤勾选的状态,Checkbox 的状态可能包含多位
  IntCmp $0 ${SF_selectED} showpage hidepage hidepage
  showpage:
  Execwait '"$INSTDIR\xxxx.exe" /q'
  hidepage:

FunctionEnd
  • 安装前检查是否已安装该程序

Function .onInit
  ClearErrors
  ReadRegStr $UNINSTALL_PROG ${PRODUCT_UNINST_ROOT_KEY} ${PRODUCT_UNINST_KEY} "UninstallString"
  IfErrors  done

  ReadRegStr $OLD_VER ${PRODUCT_UNINST_ROOT_KEY} ${PRODUCT_UNINST_KEY} "DisplayVersion"
  MessageBox MB_YESNOCANCEL|MB_ICONQUESTION \
    "检测到本机已经安装了 ${PRODUCT_NAME} 。\
    $\n$\n是否先卸载已安装的版本?" \
      /SD IDYES \
      IDYES uninstall \
      IDNO done
  Abort

uninstall:
  StrCpy $OLD_PATH $UNINSTALL_PROG -10
  ExecWait '"$UNINSTALL_PROG" /S _?=$OLD_PATH' $0
  DetailPrint "uninst.exe returned $0"
  Delete "$UNINSTALL_PROG"
  RMDir $OLD_PATH
done:
FunctionEnd
  • 设置开机自启

这是将程序的快捷方式添加到开机启动的注册表中,要注意在卸载程序部分添加删除注册表信息。

添加开机自启(在安装完成可选择是否设置开机自启动)
以下这段放在“; MUI 预定义常量”后面,“开机自启动”是选择项的名称

; 开机自启动
!define MUI_FINISHPAGE_SHOWREADME
!define MUI_FINISHPAGE_SHOWREADME_Function AutoBoot
!define MUI_FINISHPAGE_SHOWREADME_TEXT "开机自启动"

下面这段放置在 Section 区段之后

Function AutoBoot
    WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "程序名"'"$DESKTOP\程序名.lnk"'
FunctionEnd

删除开机自启

添加到“Section Uninstall”部分中

DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Run\xxx"
  • 21
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值