NSIS的自訂頁
作者: fase 日期: 2010-12-31 16:26
最近想要在利用NSIS作的安裝程式加入一個自訂頁
雖然看手冊是有講到Page custom來加
但怎麼試,就不會跑出一頁出來
因為我都是用最簡單的範例來試
後來看到一個範例,就給它隨便亂試
竟然出現自訂頁了
小小感動了一下
後來經過研究,為什麼那些簡單的範例都不會出現自訂頁呢?
原來是因為那頁沒內容,所以自動被忽略了
不過呢,要製作自訂頁,還是要參考nsDialogs
這在安裝NSIS時,會一起安裝,所以當執行NSIS時,在Plug-ins那也會看到
可以叫出說明檔來了解
以下就copy最簡單的範例並稍微修改了一下
!include nsDialogs.nsh
!include LogicLib.nsh
Name nsDialogs
OutFile nsDialogs.exe
XPStyle on
Var Dialog
Var Label
Var Text
Page license
Page custom nsDialogsPage
Page instfiles
Function nsDialogsPage
nsDialogs::Create 1018
Pop $Dialog
${If} $Dialog == error
Abort
${EndIf}
${NSD_CreateLabel} 0 0 100% 12u "Hello, welcome to nsDialogs!"
Pop $Label
${NSD_CreateText} 0 13u 100% 12u "Type something here..."
Pop $Text
nsDialogs::Show
FunctionEnd
Section
SectionEnd
可以看到Page custom nsDialogsPage
這就是自訂頁並呼叫nsDialogsPage這Function
所以把該自訂頁裏要加的項目寫在這裏面
基本是就是nsDialogs::Create先建立
然後各別建一個label和text
最後在nsDialogs::Show顯示出來
所以直接編譯就可以看到結果了
當然除了label和text外,其它基本的控制項都有
該說明文件也有寫到如何記住輸入的資料
這些對基本的使用就夠了
當然這自訂頁也可以用在MUI的風格裏
本文其實不是要介紹怎麼用
是要提醒大家為什麼自訂頁不會顯示出來
避免大家跟我一樣,試了簡單的範例卻就是沒自訂頁