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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: NSIS (Nullsoft Scriptable Install System) 是一种用于创建 Windows 安装程序的脚本语言。它具有一组内置命令和参数,可用于定义安装程序的行为和外观。 PageCallbacks 是 NSIS 中的一种功能,可用于在安装程序向用户显示页面时执行自定义操作。例如,您可以使用 PageCallbacks 来更改页面的文本或标题,或者在用户点击按钮时执行特定的操作。 使用 PageCallbacks 时,您需要在安装脚本中使用特定的命令来定义回调函数,然后使用另一个命令将回调函数与页面关联。例如,要在页面显示时更改文本,您可以使用 `PageEx` 命令,并使用 `/onInit` 选项指定回调函数: ``` Function MyPageInit ${If} ${RunningX64} StrCpy $0 "This is the x64 version." ${Else} StrCpy $0 "This is the x86 version." ${EndIf} SetWindowText $0 FunctionEnd PageEx MyPage /onInit MyPageInit ``` 您还可以使用其他 PageCallbacks 命令,如 `/onShow` 和 `/onLeave`,来执行其他自定义操作。有关更多信息,请参阅 NSIS 官方文档或其他 NSIS 教程。 ### 回答2: NSIS(Nullsoft Scriptable Install System)是一个专业的安装制作工具,通过使用其自定义脚本语言,可以创建灵活且功能强大的安装程序。 在NSIS中,PageCallbacks是一种用于处理页面事件的机制。页面事件可以是用户在安装过程中与界面进行交互时触发的事件,比如点击“下一步”按钮、选择安装路径等操作。 通过PageCallbacks,我们可以在安装过程中根据需要进行一些自定义的操作。例如,可以在用户点击“下一步”按钮之前检查某些条件,如果条件不满足,可以显示一个错误提示,阻止用户继续安装。另外,还可以在用户完成某个页面的操作后,执行一些额外的任务,比如根据用户选择的安装路径,进行相关的配置操作。 NSIS提供了一些常用的PageCallbacks函数,如PageEx、PageDir、PageCustom等,通过这些函数可以注册页面事件的处理函数。在这些处理函数中,我们可以编写自定义的逻辑,根据需要进行一些操作。例如,在PageEx函数中可以处理用户点击“下一步”按钮的事件,在PageDir函数中可以处理用户选择安装路径的事件。 要使用PageCallbacks,我们首先需要在NSIS脚本中定义对应的页面,并为其注册相应的PageCallbacks函数。然后,通过编写处理函数来实现我们想要的功能。 总之,NSIS的PageCallbacks提供了一种灵活的方式来处理安装过程中的页面事件,并允许我们根据需要进行一些自定义的操作。通过合理使用PageCallbacks,可以提高安装程序的用户友好性和功能性。 ### 回答3: NSIS(Nullsoft Scriptable Install System)是一款用于创建Windows安装程序的脚本语言。在NSIS中,PageCallbacks是一种特殊的回调函数,用于在安装过程中的每个页面上触发特定的事件或操作。 PageCallbacks在NSIS中具有以下几个重要的用途: 1. 页面初始化:可以在页面加载时执行特定的初始化操作,例如设置页面标题、初始化界面元素或执行某些必要的检查等。 2. 页面显示:可以在页面显示时触发的回调函数中执行一些特定的操作。例如,在“Install”页面上可以进行安装相关的操作,或者在“Uninstall”页面上可以执行卸载相关的操作。 3. 页面跳转:通过PageCallbacks,可以根据特定的条件来决定页面之间的跳转。例如,在某个页面上进行条件判断,如果满足条件,则跳转到指定的页面,否则,可以继续停留在当前页面或者跳转到其他页面。 4. 用户交互:可以在PageCallbacks中捕获用户的输入或选择,并根据用户的操作来进行后续的操作。例如,在某个页面上显示一个选择框,根据用户的选择来执行相应的操作。 总之,通过使用NSIS的PageCallbacks,可以在安装程序的各个页面上添加自定义的操作和逻辑,以满足不同的需求。这些回调函数可以根据不同的事件来触发,并在用户操作时执行相应的操作,从而为开发人员提供了更大的灵活性和控制权。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值