NSIS的自訂頁

最近想要在利用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的風格裏

本文其實不是要介紹怎麼用
是要提醒大家為什麼自訂頁不會顯示出來
避免大家跟我一樣,試了簡單的範例卻就是沒自訂頁

引用通告地址: http://www.fase.idv.tw/blog/trackback.php?tbID=88&extra=5862ab
標籤: NSIS
評論: 0 | 引用: 0 | 閱讀: 3197
發表評論
暱 稱(*): 密 碼:
網 址: E - mail:
驗證碼(*): 驗證碼圖片
請用滑鼠點選輸入
選 項:
頭 像:
內 容(*):