当前位置:必发365电子游戏 > 操作系统 > 必发365电子游戏MUI 的内置向导页面
必发365电子游戏MUI 的内置向导页面
2019-12-19

正文转自:

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_DIRECTOWranglerY 该引路页面展现安转目录接纳
MUI_PAGE_STARTMENU page_id variable 该引路页面突显起头菜单目录选取
MUI_PAGE_INSTFILES 该引路页面展现安装速度
MUI_PAGE_FINISH 该引路页面展现安装收尾

和卸载程序有关的开首页面
必发365电子游戏,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
体现在款待向导页上的文字。使用rn换行。
万般那个属性无需制订,省缺的值已经够用。

软件授权页面属性
在软件授权页面中能够定制客户选择软件授权许可的二种办法,一是按键,二是 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
寄放顾客选取的目录的变量,暗中认可是 $INSTDI凯雷德

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_GETFOLDETiggo获得开首菜单目录,上面的事例表明了怎么着删除急迅格局:
!insertmacro MUI_STARTMENU_GETFOLDER page_id $R0
Delete "$SMPROGRAMS$R0Your 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
突显在做到页面上文字,用rn换行

MUI_FINISHPAGE_TEXT_LARGE
借使利用了 checkbox 时,需求设定的文本区的附加空间

MUI_FINISHPAGE_BUTTON text
姣好按键的显示文字

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

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 旁的文字

InstallOptions 和定制页面 InstallOptions 是三个 NSIS 插件,他能让安装程序开辟职员创立定制的指导页面来收获内置向导页面不可能提供的顾客输入。

InstallOptions 会创设内嵌在 NSIS 窗体中的对话框。InstallOptions 的控件用 INI 文件陈诉。该文件能够用可视化学工业具生成。HM NIS EDIT 就是这么的一个工具。

InstallOptions 控件 INI 文件的布局
InstallOptions INI 文件包括一个必得的段。它饱含了控件的数据、窗体的属性等。该文还可含蓄描述具体空间的段。
必须的段是 Settings,它能够富含以下内容:
NumFields(必须的卡塔尔国 该对话框富含的控件数目
Title (可选的卡塔尔 Windows窗体的标题
CancelEnabled (可选的卡塔尔国 是还是不是启用Cancel开关,1:是,0:否
CancelShow (可选的卡塔尔国 是或不是出示Cancel按键,1:是,0:否
BackEnabled (可选的卡塔尔(قطر‎ 是或不是启用Back开关,1:是,0:否
CancelButtonText (可选的卡塔尔国 Cancel开关的展现文字
NextButtonText (可选的卡塔尔(英语:State of Qatar) Next开关的来得文字
BackButtonText (可选的卡塔尔 Back开关的展现文字
Rect (可选的)
RTL (可选的)
State (output) This is not something you have to supply yourself but is set by InstallOptions, before calling your custom page validation function, to the field number of the custom Button control (or other control having the Notify flag) the user pressed, if any.

各种控件段以"菲尔德 #"格局命名,井号表示数字,从1上马。控件有以下属性:

Type (required卡塔尔 控件的连串,有"Label", "Text", "Password", "Combobox", "DropList", "Listbox", "CheckBox", "RadioButton", "FileRequest" , "DirRequest" "Icon", "Bitmap", "GroupBox", "Link" 或 "Button"。

"Label" 用来展示静态文本
"Text" 和 "Password" 和 HTML 中的肖似,用来经受客户输入。
"Combobox"允许顾客输入列表中不设有的项, "Droplist" 则只可以接纳列表中规定的项。
"Listbox" 展现多少个筛选(不用下拉就能够看出卡塔尔国,并允许多选
"CheckBox" "RadioButton" 和 Windows中的相应控件形似。
"FileRequest" 展现一个输入框和浏览开关,允许客商用文件选择对话框选择文件。
"DirRequest" 和 "FileRequest" 雷同,但只采用到目录。
"Icon" 彰显图标
"Bitmap" 彰显位图
"GroupBox" 显示组合框
"Link" 突显超链
"Button" 按钮

Text (可选的卡塔尔(قطر‎ 对 checkbox,radio button 控件是 caption;对 DirRequest 控件是浏览对话框的标题;对Logo,位图控件是图像文件的的路径。

State (可选的卡塔尔(قطر‎ 控件状态,这场馆可以在 nsi 脚本读取。对于文本类型的控件,state 的值是客商输入的字符串。对于 radio button 和 check boxes state 为'0'或'1'。对 list boxes, combo boxes 和 drop lists 状态值是选中的选项,纵然有三个则用管道符号'|'分割。 对于超链和按键 State 是能够用 ShellExecute 实践的字符串。

ListItems (可选的卡塔尔国 combobox, droplist, 或 listbox的选项,选项之间用管道符号'|'分割
MaxLen (可选的卡塔尔 最大输入长度
MinLen (可选的卡塔尔(قطر‎ 最小输入长度
ValidateText (可选的卡塔尔 校验文本

Left
Right
Top
Bottom (required卡塔尔(قطر‎ 控件坐标,在可视化遭受中不重大。
Filter (可选的卡塔尔 钦定 "FileRequest" 控件的文本过滤器,形式如 文本文件|*.txt|程序文件|*.exe;*.com|全数文件|*.*

Root (可选的卡塔尔 钦定"DirRequest" 控件的根目录
Flags (可选的卡塔尔(英语:State of Qatar)钦点控件的修饰。四个值用管道符号'|'分割且不能够有空格。有效的值如下:
Value Meaning
REQ_SAVE 将 "FileRequest" 控件产生 "另存为" 对话框
FILE_MUST_EXIST 用于 "FileRequest" 控件,规定所选文件是还是不是必需存在
FILE_EXPLORER 用于 "FileRequest" 控件
必发365电子游戏MUI 的内置向导页面。FILE_HIDEREADONLY 用于 "FileRequest" 控件,隐藏 "open read only"checkbox
WARN_IF_EXIST 用于 "FileRequest" 控件,显示警报若是文件已存在
PATH_MUST_EXIST 用于 "FileRequest" 控件,规定输入的渠道必须存在
PROMPT_CREATE 用于 "FileRequest" 控件,在创造早前突显警报假使文件或路线不设有
MuranoIGHT 用于"Checkbox"和Radiobutton"控件,规定文字出今后左边手,少之又少用
MULTISELECT 用于"Listbox"控件允相当多选
EXTENDEDSELCT 用于"Listbox"控件允大多选
RESIZETOSpirior 用于"Bitmap"控件,将图纸扩展到控件的尺寸
GROUP 多个控件分组,该标记放在同组的率先个控件上。
NOTABSTOP 制止tab键主旨落在该控件上
DISABLED 禁止使用控件
ONLY_NUMBERS 用于"Text"控件,Forces the user to enter only numbers into the edit box.
MULTILINE 用于"Text"控件,允许多行输入
WANTRETU凯雷德N 用于"Text"控件,允多数行输入,规定按下Enter键时插入回车
NOWO科雷傲DWRAP 用于"Text"控件,允好多行输入禁止使用word-wrap
HSCROLL 展现档期的顺序方向的滚动条
VSCROLL 显示垂直方向的滚动条
READONLY 用于"Text"控件,使文本输入框形成只读
NOTIFY 用于"Button", "Link", "CheckBox", "RadioButton", "ListBox"和"DropList"控件。使InstallOptions触发事件,调用定制页面包车型大巴validation/leave方法。
TxtColor (可选的卡塔尔 用于"Link"控件,钦点文本的前景象,格式为: 0xBB路虎极光HavalGG (十七进制卡塔尔(英语:State of Qatar)

利用定制向导页的步子:

  1. 规划定制向导页分界面,发生界面描述ini文件,可以动用HM NIS Edit的可视化学工业具简化开垦
  2. 编写nsi脚本:
    第生机勃勃,假如运用了lzma,gzip等压缩算法,需求在具备File指令前reserve定制分界面的ini文件:ReserveFile ".ini"。
    然后,在.onInit方法中使用宏!insertmacro MUI_INSTALLOPTIONS_EXTRACT ".ini"。
    随着,编写定制对话框的显得函数。
    最后,用Page指令在分外的职位插入该引路页面。

定制对话框展现函数的演示:
Function setChooseBuildArea
!insertmacro MUI_HEADER_TEXT "请接受营造目录" "请选择构建目录"
!insertmacro MUI_INSTALLOPTIONS_WRITE "buildarea.ini" "Field 2" "State" "$INSTDIRbuildarea"
!insertmacro MUI_INSTALLOPTIONS_DISPLAY "buildarea.ini"
FunctionEnd
该函数的第后生可畏行代码设置指导页面包车型大巴头上的文字;第二行代码设置辅导页面第叁个控件的State为"$INSTDI锐界buildarea",也正是设置该控件的私下认可值;第三行代码突显对话框。
用Page指令插入向导页的代码如下:
Page custom setChooseBuildArea "" "--选拔营造目录"
该指令接纳八个参数,前八个是该页面的显得函数和离开函数,第四个是显得在标题栏的文字。

nsi的变量假设寄存字符串的话,暗许只可以保留1024。对于复杂的Java应用,由于要求设置Classpath其命令行的尺寸往往会当先1024。当时,必须让nsi的变量扶植胜出1024的字符串长度。有二种办法解决此主题材料,一个是到http: //nsis.sourceforge.net/download/specialbuilds/处下载SpecialBuilds,近些日子三个称呼Large strings的build扶助能够存放81九十几个字符的变量;别的叁个正是手工业编写翻译NSIS的源代码,加上须要的选项。

上一篇:没有了
下一篇:没有了