Можете ли вы объяснить, как вы планируете обрабатывать регистрационное имя и ключ, понадобится ли вам сервер для проверки правильности установки?
В любом случае вам нужно создать пользовательскую страницу и создать пользовательские формы на этой странице.Примерно так:
Page custom CreatePage QuitPage
Где CreatePage - это функция, которая создает страницу ui
Пример:
;;In the variables section
var regname_hdl
var regkey_hdl
Var regname_inpt_hdl
var regkey_inpt_hdl
var RegName
var RegKey
Function CreatePage
GetDlgItem $0 $hwndParent 3
EnableWindow $0 0
nsDialogs::Create 1018
Pop $Dialog
${If} $Dialog == error
Abort
${EndIf}
${NSD_CreateLabel} 0 0 100% 10u "Say something to user"
Pop $Label
${NSD_CreateLabel} 20u 20u 20% 20u "Enter Registration Name "
Pop $regname_inpt_hdl
${NSD_CreateLabel} 20u 40u 20% 20u "Enter Registration Key "
Pop $regkey_inpt_hdl
${NSD_CreateText} 30% 20u 30% 10u ""
Pop $regname_hdl
${NSD_CreatePassword} 30% 40u 30% 10u ""
Pop $regkey_hdl
nsDialogs::Show
FunctionEnd
Function QuitPage
${NSD_GetText} $reg_hdl $2
${NSD_GetText} $key_hdl $3
Push $3
Push $2
Pop $RegName
Pop $RegKey
${If} '$2' == ""
messageBox MB_ICONEXCLAMATION "Reg name is empty !"
Abort
${ElseIf} '$3' == ""
messageBox MB_ICONEXCLAMATION "Reg key is empty !"
Abort
${Else}
System::Alloc 9
Pop $4
;; Here you have to call some procedure to check if reg name and key are valid
;; let's say the procedure returns 1 for true and 0 for false and it stores the result in $1
${If} $1 == 0
messageBox MB_ICONEXCLAMATION "Installation denied !"
Abort
${EndIf}
${EndIf}
MessageBox MB_OK "Installation allowed !"
SetPluginUnload manual
System::Free 0
FunctionEnd