NSIS 的 Modern UI 教程(一)

[ 2008-02-24 20:22:19 | 作者: 陈敏毅 ]
http://chenmy.hanzify.org/article.asp?id=50
字体大小: 大 | 中 | 小
NSIS 2.0 版本支持定制的用户界面。所谓的 Modern UI(下称 MUI) 就是一种模仿最新的 Windows 界面风格的界面系统。MUI 改变了 NSIS 脚本的编写习惯,它使用 NSIS 的宏来表达,指定 MUI 的属性需要使用宏。所以,诸如 LicenseText, Icon, CheckBitmap, InstallColors 在 MUI 中失去意义。

MUI 的内置向导页面
和安装程序有关的向导页面
MUI_PAGE_WELCOME 该向导页面显示欢迎信息
MUI_PAGE_LICENSE text/rtf_file 该向导页面显示软件授权申明
MUI_PAGE_COMPONENTS 该向导页面显示安装组件选择
MUI_PAGE_DIRECTORY 该向导页面显示安转目录选择
MUI_PAGE_STARTMENU page_id variable 该向导页面显示开始菜单目录选择
MUI_PAGE_INSTFILES 该向导页面显示安装进度
MUI_PAGE_FINISH 该向导页面显示安装结束

和卸载程序有关的向导页面
MUI_UNPAGE_WELCOME
MUI_UNPAGE_CONFIRM
MUI_UNPAGE_LICENSE text/rtf_file
MUI_UNPAGE_COMPONENTS
MUI_UNPAGE_DIRECTORY
MUI_UNPAGE_INSTFILES
MUI_UNPAGE_FINISH

页面的属性设定需要放在插入页面的宏之前。比如:
Var PLUGINS_FOLDER
!define MUI_DIRECTORYPAGE_VARIABLE $PLUGINS_FOLDER
!insertmacro MUI_PAGE_DIRECTORY
这段 nsi 脚本表示,将目录选择页面中用户选择的目录位置存放到变量 $PLUGINS_FOLDER 中去。

以下是 MUI 各个内置向导页面属性说明:
所有页面适用的属性
MUI_PAGE_HEADER_TEXT text
显示在向导页头上的文字

MUI_PAGE_HEADER_SUBTEXT text
显示在向导页头上的文字,它是通常显示在 MUI_PAGE_HEADER_TEXT 之下,表示对 MUI_PAGE_HEADER_TEXT 的进一步解释。
对于使用 InstallOptions 的定制界面,使用宏 !insertmacro MUI_HEADER_TEXT "$(TEXT_IO_TITLE)" "$(TEXT_IO_SUBTITLE)" 实现类似功能。

欢迎页面属性
MUI_WELCOMEPAGE_TITLE title
显示在欢迎向导页上的标题

MUI_WELCOMEPAGE_TITLE_3LINES
标题区的空格

MUI_WELCOMEPAGE_TEXT text
显示在欢迎向导页上的文字。使用\r\n换行。
通常这些属性不需要制定,省缺的值已经足够。

软件授权页面属性
在软件授权页面中可以定制用户接受软件授权许可的三种方式,一是按钮,二是 checkbox,三是 radio。
MUI_LICENSEPAGE_TEXT_TOP text
显示在页面顶部的文字

MUI_LICENSEPAGE_TEXT_BOTTOM text
显示在页面底部的文字

MUI_LICENSEPAGE_BUTTON button_text
按钮方式时按钮上的文字

MUI_LICENSEPAGE_CHECKBOX
定义此宏表示用户需要钩选该 checkbox 来接受软件许可

MUI_LICENSEPAGE_CHECKBOX_TEXT text
在 checkbox 旁显示的文字

MUI_LICENSEPAGE_RADIOBUTTONS
定义此宏表示用户需要钩选相应的 radio box 来接受或拒绝软件许可

MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT text
在 radio 旁显示的表示接受的文字

MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE text
在 radio 旁显示的表示拒绝的文字

安装组件选择页面属性

MUI_COMPONENTSPAGE_TEXT_TOP text
显示在页面顶部的文字

MUI_COMPONENTSPAGE_TEXT_COMPLIST text
显示在组件列表旁边的文字

MUI_COMPONENTSPAGE_TEXT_INSTTYPE text
显示在安转类型下拉框旁边的文字

MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE text
显示在描述框顶部的文字

MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO text
当没有安装组件选中时,显示在描述框中的文字

安装目录选择页面属性

MUI_DIRECTORYPAGE_TEXT_TOP text
显示在页面顶部的文字

MUI_DIRECTORYPAGE_TEXT_DESTINATION text
显示在目地目录选择框上的文字

MUI_DIRECTORYPAGE_VARIABLE variable
存放用户选择的目录的变量,默认是 $INSTDIR

MUI_DIRECTORYPAGE_VERIFYONLEAVE
在离开该页面时验证目录的有效性,不禁用"下一步"这个按钮

开始菜单目录选择页面

创建快捷方式的代码应当放在 MUI_STARTMENU_WRITE_BEGIN 和 MUI_STARTMENU_WRITE_END 之间,示例如下:
!insertmacro MUI_STARTMENU_WRITE_BEGIN page_id
...create shortcuts...
!insertmacro MUI_STARTMENU_WRITE_END

这里的 page_id 是用户选择要创建快捷方式的页面。

MUI_STARTMENUPAGE_TEXT_TOP text
显示在页面顶部的文字

MUI_STARTMENUPAGE_TEXT_CHECKBOX text
显示在 checkbox 旁的表示禁止快捷方式创建的文字

MUI_STARTMENUPAGE_DEFAULTFOLDER folder
默认的开始菜单目录

MUI_STARTMENUPAGE_NODISABLE
不实现用于禁止快捷方式创建的 checkbox

MUI_STARTMENUPAGE_REGISTRY_ROOT root
MUI_STARTMENUPAGE_REGISTRY_KEY key
MUI_STARTMENUPAGE_REGISTRY_VALUENAME value_name
这三项用于指定开始菜单设定在注册表中的键和值,用于记录用户的偏好。在卸载时应当删除之。
卸载程序可以用宏MUI_STARTMENU_GETFOLDER获得开始菜单目录,下面的例子说明了如何删除快捷方式:
!insertmacro MUI_STARTMENU_GETFOLDER page_id $R0
Delete "$SMPROGRAMS\$R0\Your Shortcut.lnk"

安装进度页面属性

MUI_INSTFILESPAGE_FINISHHEADER_TEXT text
显示安装进度页面头上的文字,但对于结束页面不是MUI_(UN)FINISHPAGE_NOAUTOCLOSE)不显示。

MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT text
显示安装进度页面头上的,对MUI_INSTFILESPAGE_FINISHHEADER_TEXT的进一步说明。对于结束页面不是MUI_(UN)FINISHPAGE_NOAUTOCLOSE)不显示。

MUI_INSTFILESPAGE_ABORTHEADER_TEXT text
显示安装进度页面头上的表示安装过程非正常终止的文字

MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT text
对MUI_INSTFILESPAGE_ABORTHEADER_TEXT的进一步描述

完成页面属性

在完成页面中可以运行程序,打开文件或网站。

MUI_FINISHPAGE_TITLE title
页面标题

MUI_FINISHPAGE_TITLE_3LINES
页面标题区的额外空格

MUI_FINISHPAGE_TEXT text
显示在完成页面上文字,用\r\n换行

MUI_FINISHPAGE_TEXT_LARGE
如果使用了 checkbox 时,需要设定的文本区的额外空间

MUI_FINISHPAGE_BUTTON text
完成按钮的显示文字

MUI_FINISHPAGE_TEXT_REBOOT text
重启操作系统 checkbox 旁的文字,用\r\n换行

MUI_FINISHPAGE_TEXT_REBOOTNOW text
显示在'Reboot now'旁的文字

MUI_FINISHPAGE_TEXT_REBOOTLATER text
显示在'Reboot later'旁的文字

MUI_FINISHPAGE_RUN exe_file
指定用户可以用 checkbox 选择运行的应用程序,如果有空格无需引用。

MUI_FINISHPAGE_RUN_TEXT text
运行应用程序 checkbox 旁的文字

MUI_FINISHPAGE_RUN_PARAMETERS parameters
运行应用程序的参数,需要用$\"表示双引号

MUI_FINISHPAGE_RUN_NOTCHECKED
指定运行应用程序 checkbox 为非选中状态

MUI_FINISHPAGE_RUN_FUNCTION function_name
指定安装完成后要执行的nsi函数,在该函数中可以运行多个应用程序。

MUI_FINISHPAGE_SHOWREADME file/url
指定用户可以用 checkbox 选择是否查看的文件或网站,如果有空格无需引用。

MUI_FINISHPAGE_SHOWREADME_TEXT text
指定 'Show Readme' checkbox 旁的显示文字

MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
指定 'Show Readme' checkbox 为非选中状态

MUI_FINISHPAGE_SHOWREADME_FUNCTION function_name
指定安装完成后要执行的 nsis 函数,在该函数中可以显示多个文件或网站。

MUI_FINISHPAGE_LINK link_text
用户可及点击的超链上的文字

MUI_FINISHPAGE_LINK_LOCATION file/url
指定用户是否可以用超链查看网站,如果有空格无需引用。

MUI_FINISHPAGE_LINK_COLOR (color: RRGGBB hexadecimal)
超链上文字的颜色,默认为 000080

MUI_FINISHPAGE_NOREBOOTSUPPORT
禁用重启操作系统的功能

卸载确认页面属性

MUI_UNCONFIRMPAGE_TEXT_TOP text
显示在页面顶部的文字

MUI_UNCONFIRMPAGE_TEXT_LOCATION text
显示在 uninstall location 旁的文字

(未完待续)

  

NSIS 的 Modern UI 教程(一)
NSIS 的 Modern UI 教程(二)

NSIS 的 Modern UI 教程(一)相关推荐

  1. NSIS 的 Modern UI 教程(二)

    NSIS 的 Modern UI 教程(二) [ 2008-02-24 20:22:20 | 作者: 陈敏毅 ] http://chenmy.hanzify.org/article.asp?id=51 ...

  2. NSIS之Modern UI

    NSIS 2.0 版本支持定制的用户界面.所谓的 Modern UI(下称 MUI) 就是一种模仿最新的 Windows 界面风格的界面系统.MUI 改变了 NSIS 脚本的编写习惯,它使用 NSIS ...

  3. SharePoint Online 列表modern UI手把手教程如何使用及问题

    目录 快速上手 目前问题 快速上手 默认界面 默认的Modern UI在双击单个条目后会自动出现在右边, 自定义界面(Power Apps) 在列表上方点击PowerApps会出现下拉菜单,点击自定义 ...

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

    NSIS简介: NSIS 是"Nullsoft 脚本安装系统"(Nullsoft Scriptable Installation System)的缩写,它是一个免费的 Win32 ...

  5. 2023年Unity UI教程

    2023年Unity UI教程 Unity 新 UI 系统 UI 工具包的完整概述 课程英文名:Modern Unity UI with UI Toolkit 此视频教程共10.0小时,中英双语字幕, ...

  6. 基于 WPF + Modern UI 的 公司OA小助手 开发总结

    前言: 距离上一篇博客,整整一个月的时间了.人不能懒下来,必须有个阶段性的总结,算是对我这个阶段的一个反思.人只有在总结的过程中才会发现自己的不足. 公司每天都要在OA系统上上班点击签到,下班点击签退 ...

  7. 学习Modern UI for WPF

    这两天断断续续的学了学Modern UI for WPF 没啥学习笔记呵呵,来自大牛王春明的博客园 http://www.cnblogs.com/wangchunming/category/34288 ...

  8. iOS10 UI教程视图的绘制与视图控制器和视图

    iOS10 UI教程视图的绘制与视图控制器和视图 iOS10 UI视图的绘制 iOS10 UI教程视图的绘制与视图控制器和视图,在iOS中,有很多的绘图应用.这些应用大多是在UIView上进行绘制的. ...

  9. NSIS安装制作基础教程

    NSIS简介: NSIS 是"Nullsoft 脚本安装系统"(Nullsoft Scriptable Installation System)的缩写,它是一个免费的 Win32 ...

最新文章

  1. 【项目管理】项目经理每天、每周、每月应该做的都在这
  2. JAVA -Xms -Xmx -XX:PermSize -XX:MaxPermSize 区别
  3. 李航老师《统计学习方法》的代码实现、课件、作业等相关资源的最全汇总
  4. cURL模拟POST方式提交数据
  5. Gartner调查显示政府部门数字化转型尚处萌芽期
  6. 选主元的高斯-约旦(Gauss-Jordan)消元法解线性方程组/求逆矩阵
  7. dbartisan mysql_修改DbVisualizer默认快捷键
  8. 中国机器人清洁器行业市场供需与战略研究报告
  9. 再启程,Service Mesh 前路虽长,尤可期许
  10. 服务器清洗项目,服务器带电清洗流程和注意事项
  11. 怎么在线制作gif动图?推荐一款gif表情包在线制作生成器
  12. 图解十大机器学习算法
  13. mysql触发器更新自己表_mysql触发器实例:更新表数据之前触发
  14. linux下svn图形客户端,CentOS6.3下svn图形客户端SmartSVN安装
  15. nginx 支持HTTPS fdfs
  16. 迷失逃脱小程序_恐怖游戏大全:奇幻夜之迷失!密室逃脱解谜恐怖小程序
  17. P2440 木材加工(二分答案)
  18. 一些学习的网站 (持续更新)
  19. 安卓手机能提取当前页面的链接吗_如何获取一个app内的网页地址?
  20. 命令执行(ctfshow)

热门文章

  1. Myeclipse+mysql出现中文乱码情况
  2. Java事件处理机制和适配器
  3. sqlyog要先安装mysql_MySQL和SQLyog的配置-安装及遇到的问题
  4. key+value实现动态字段的存储设计
  5. python限制输入值范围_求python 中if 里如何设定一个值的范围
  6. 理解 K8s 资源更新机制,从一个 OpenKruise 用户疑问开始
  7. 云原生应用万节点分钟级分发协同实践
  8. DCGAN生成cifar10, cifar100, mnist, fashion_mnist,STL10,Anime图片(pytorch)
  9. 冒险者传说pc6java_冒险者传说
  10. linux 自启动程序 优先级,Linux自启动服务优先级/顺序设置