Вы можете использовать это для создания текстового поля:
!include nsDialogs.nsh
!include LogicLib.nsh
...
Var EDIT
...
${NSD_CreateText} 0 35 100% 12u SomeDefaultText
Pop $EDIT
и получить ввод (Не уверен для этого):
System::Call user32::GetWindowText(i$EDIT,t.r0,i${NSIS_MAX_STRLEN})
(как показано в примере \ nsDialogs\ example.nsi)