NSIS 的 Modern UI 教程(一)
生活随笔
收集整理的這篇文章主要介紹了
NSIS 的 Modern UI 教程(一)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
NSIS 的 Modern UI 教程(一)
[ 2008-02-24 20:22:19 | 作者:?陳敏毅?] http://chenmy.hanzify.org/article.asp?id=50字體大小:?大?|?中?|?小 NSIS 2.0 版本支持定制的用戶界面。所謂的 Modern UI(下稱 MUI) 就是一種模仿最新的 Windows 界面風(fēng)格的界面系統(tǒng)。MUI 改變了 NSIS 腳本的編寫習(xí)慣,它使用 NSIS 的宏來表達(dá),指定 MUI 的屬性需要使用宏。所以,諸如 LicenseText, Icon, CheckBitmap, InstallColors 在 MUI 中失去意義。
MUI 的內(nèi)置向?qū)ы撁?/strong>
和安裝程序有關(guān)的向?qū)ы撁?br /> MUI_PAGE_WELCOME 該向?qū)ы撁骘@示歡迎信息
MUI_PAGE_LICENSE text/rtf_file 該向?qū)ы撁骘@示軟件授權(quán)申明
MUI_PAGE_COMPONENTS 該向?qū)ы撁骘@示安裝組件選擇
MUI_PAGE_DIRECTORY 該向?qū)ы撁骘@示安轉(zhuǎn)目錄選擇
MUI_PAGE_STARTMENU page_id variable 該向?qū)ы撁骘@示開始菜單目錄選擇
MUI_PAGE_INSTFILES 該向?qū)ы撁骘@示安裝進(jìn)度
MUI_PAGE_FINISH 該向?qū)ы撁骘@示安裝結(jié)束
和卸載程序有關(guān)的向?qū)ы撁?br /> MUI_UNPAGE_WELCOME
MUI_UNPAGE_CONFIRM
MUI_UNPAGE_LICENSE text/rtf_file
MUI_UNPAGE_COMPONENTS
MUI_UNPAGE_DIRECTORY
MUI_UNPAGE_INSTFILES
MUI_UNPAGE_FINISH
頁面的屬性設(shè)定需要放在插入頁面的宏之前。比如:
Var PLUGINS_FOLDER
!define MUI_DIRECTORYPAGE_VARIABLE $PLUGINS_FOLDER
!insertmacro MUI_PAGE_DIRECTORY
這段 nsi 腳本表示,將目錄選擇頁面中用戶選擇的目錄位置存放到變量 $PLUGINS_FOLDER 中去。
以下是 MUI 各個(gè)內(nèi)置向?qū)ы撁鎸傩哉f明:
所有頁面適用的屬性
MUI_PAGE_HEADER_TEXT text
顯示在向?qū)ы擃^上的文字
MUI_PAGE_HEADER_SUBTEXT text
顯示在向?qū)ы擃^上的文字,它是通常顯示在 MUI_PAGE_HEADER_TEXT 之下,表示對(duì) MUI_PAGE_HEADER_TEXT 的進(jìn)一步解釋。
對(duì)于使用 InstallOptions 的定制界面,使用宏 !insertmacro MUI_HEADER_TEXT "$(TEXT_IO_TITLE)" "$(TEXT_IO_SUBTITLE)" 實(shí)現(xiàn)類似功能。
歡迎頁面屬性
MUI_WELCOMEPAGE_TITLE title
顯示在歡迎向?qū)ы撋系臉?biāo)題
MUI_WELCOMEPAGE_TITLE_3LINES
標(biāo)題區(qū)的空格
MUI_WELCOMEPAGE_TEXT text
顯示在歡迎向?qū)ы撋系奈淖帧J褂肻r\n換行。
通常這些屬性不需要制定,省缺的值已經(jīng)足夠。
軟件授權(quán)頁面屬性
在軟件授權(quán)頁面中可以定制用戶接受軟件授權(quán)許可的三種方式,一是按鈕,二是 checkbox,三是 radio。
MUI_LICENSEPAGE_TEXT_TOP text
顯示在頁面頂部的文字
MUI_LICENSEPAGE_TEXT_BOTTOM text
顯示在頁面底部的文字
MUI_LICENSEPAGE_BUTTON button_text
按鈕方式時(shí)按鈕上的文字
MUI_LICENSEPAGE_CHECKBOX
定義此宏表示用戶需要鉤選該 checkbox 來接受軟件許可
MUI_LICENSEPAGE_CHECKBOX_TEXT text
在 checkbox 旁顯示的文字
MUI_LICENSEPAGE_RADIOBUTTONS
定義此宏表示用戶需要鉤選相應(yīng)的 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
顯示在安轉(zhuǎn)類型下拉框旁邊的文字
MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE text
顯示在描述框頂部的文字
MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO text
當(dāng)沒有安裝組件選中時(shí),顯示在描述框中的文字
安裝目錄選擇頁面屬性
MUI_DIRECTORYPAGE_TEXT_TOP text
顯示在頁面頂部的文字
MUI_DIRECTORYPAGE_TEXT_DESTINATION text
顯示在目地目錄選擇框上的文字
MUI_DIRECTORYPAGE_VARIABLE variable
存放用戶選擇的目錄的變量,默認(rèn)是 $INSTDIR
MUI_DIRECTORYPAGE_VERIFYONLEAVE
在離開該頁面時(shí)驗(yàn)證目錄的有效性,不禁用"下一步"這個(gè)按鈕
開始菜單目錄選擇頁面
創(chuàng)建快捷方式的代碼應(yīng)當(dāng)放在 MUI_STARTMENU_WRITE_BEGIN 和 MUI_STARTMENU_WRITE_END 之間,示例如下:
!insertmacro MUI_STARTMENU_WRITE_BEGIN page_id
...create shortcuts...
!insertmacro MUI_STARTMENU_WRITE_END
這里的 page_id 是用戶選擇要?jiǎng)?chuàng)建快捷方式的頁面。
MUI_STARTMENUPAGE_TEXT_TOP text
顯示在頁面頂部的文字
MUI_STARTMENUPAGE_TEXT_CHECKBOX text
顯示在 checkbox 旁的表示禁止快捷方式創(chuàng)建的文字
MUI_STARTMENUPAGE_DEFAULTFOLDER folder
默認(rèn)的開始菜單目錄
MUI_STARTMENUPAGE_NODISABLE
不實(shí)現(xiàn)用于禁止快捷方式創(chuàng)建的 checkbox
MUI_STARTMENUPAGE_REGISTRY_ROOT root
MUI_STARTMENUPAGE_REGISTRY_KEY key
MUI_STARTMENUPAGE_REGISTRY_VALUENAME value_name
這三項(xiàng)用于指定開始菜單設(shè)定在注冊表中的鍵和值,用于記錄用戶的偏好。在卸載時(shí)應(yīng)當(dāng)刪除之。
卸載程序可以用宏MUI_STARTMENU_GETFOLDER獲得開始菜單目錄,下面的例子說明了如何刪除快捷方式:
!insertmacro MUI_STARTMENU_GETFOLDER page_id $R0
Delete "$SMPROGRAMS\$R0\Your Shortcut.lnk"
安裝進(jìn)度頁面屬性
MUI_INSTFILESPAGE_FINISHHEADER_TEXT text
顯示安裝進(jìn)度頁面頭上的文字,但對(duì)于結(jié)束頁面不是MUI_(UN)FINISHPAGE_NOAUTOCLOSE)不顯示。
MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT text
顯示安裝進(jìn)度頁面頭上的,對(duì)MUI_INSTFILESPAGE_FINISHHEADER_TEXT的進(jìn)一步說明。對(duì)于結(jié)束頁面不是MUI_(UN)FINISHPAGE_NOAUTOCLOSE)不顯示。
MUI_INSTFILESPAGE_ABORTHEADER_TEXT text
顯示安裝進(jìn)度頁面頭上的表示安裝過程非正常終止的文字
MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT text
對(duì)MUI_INSTFILESPAGE_ABORTHEADER_TEXT的進(jìn)一步描述
完成頁面屬性
在完成頁面中可以運(yùn)行程序,打開文件或網(wǎng)站。
MUI_FINISHPAGE_TITLE title
頁面標(biāo)題
MUI_FINISHPAGE_TITLE_3LINES
頁面標(biāo)題區(qū)的額外空格
MUI_FINISHPAGE_TEXT text
顯示在完成頁面上文字,用\r\n換行
MUI_FINISHPAGE_TEXT_LARGE
如果使用了 checkbox 時(shí),需要設(shè)定的文本區(qū)的額外空間
MUI_FINISHPAGE_BUTTON text
完成按鈕的顯示文字
MUI_FINISHPAGE_TEXT_REBOOT text
重啟操作系統(tǒng) checkbox 旁的文字,用\r\n換行
MUI_FINISHPAGE_TEXT_REBOOTNOW text
顯示在'Reboot now'旁的文字
MUI_FINISHPAGE_TEXT_REBOOTLATER text
顯示在'Reboot later'旁的文字
MUI_FINISHPAGE_RUN exe_file
指定用戶可以用 checkbox 選擇運(yùn)行的應(yīng)用程序,如果有空格無需引用。
MUI_FINISHPAGE_RUN_TEXT text
運(yùn)行應(yīng)用程序 checkbox 旁的文字
MUI_FINISHPAGE_RUN_PARAMETERS parameters
運(yùn)行應(yīng)用程序的參數(shù),需要用$\"表示雙引號(hào)
MUI_FINISHPAGE_RUN_NOTCHECKED
指定運(yùn)行應(yīng)用程序 checkbox 為非選中狀態(tài)
MUI_FINISHPAGE_RUN_FUNCTION function_name
指定安裝完成后要執(zhí)行的nsi函數(shù),在該函數(shù)中可以運(yùn)行多個(gè)應(yīng)用程序。
MUI_FINISHPAGE_SHOWREADME file/url
指定用戶可以用 checkbox 選擇是否查看的文件或網(wǎng)站,如果有空格無需引用。
MUI_FINISHPAGE_SHOWREADME_TEXT text
指定 'Show Readme' checkbox 旁的顯示文字
MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
指定 'Show Readme' checkbox 為非選中狀態(tài)
MUI_FINISHPAGE_SHOWREADME_FUNCTION function_name
指定安裝完成后要執(zhí)行的 nsis 函數(shù),在該函數(shù)中可以顯示多個(gè)文件或網(wǎng)站。
MUI_FINISHPAGE_LINK link_text
用戶可及點(diǎn)擊的超鏈上的文字
MUI_FINISHPAGE_LINK_LOCATION file/url
指定用戶是否可以用超鏈查看網(wǎng)站,如果有空格無需引用。
MUI_FINISHPAGE_LINK_COLOR (color: RRGGBB hexadecimal)
超鏈上文字的顏色,默認(rèn)為 000080
MUI_FINISHPAGE_NOREBOOTSUPPORT
禁用重啟操作系統(tǒng)的功能
卸載確認(rèn)頁面屬性
MUI_UNCONFIRMPAGE_TEXT_TOP text
顯示在頁面頂部的文字
MUI_UNCONFIRMPAGE_TEXT_LOCATION text
顯示在 uninstall location 旁的文字
(未完待續(xù))
???
NSIS 的 Modern UI 教程(一)
NSIS 的 Modern UI 教程(二)
總結(jié)
以上是生活随笔為你收集整理的NSIS 的 Modern UI 教程(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NSIS安装制作程序
- 下一篇: NSIS 的 Modern UI 教程(