Note that there are some explanatory texts on larger screens.

plurals
  1. PONSIS nsDialog has disabled back/next/cancel buttons?
    primarykey
    data
    text
    <p>I'm following the <a href="http://nsis.sourceforge.net/Docs/nsDialogs/Readme.html#step-basic" rel="nofollow noreferrer">NSIS nsDialog tutorial</a> with a goal to gather some user input I will use to write into a config file later. The NSISEclipse plugin has generated an MUI2 template that has gotten me started and successfully installs the files.</p> <p>I have used the nsDialog tutorial to generate a dialog that does get emitted exactly where I want it to, but for some reason the "Back/Next/Cancel" buttons are all grey. I don't see where in the nsDialog documentation it says to enable/disable those buttons.</p> <p>Here's my code:</p> <pre><code>Var Dialog Var Label Var MyTextBox Section configLocationDialog nsDialogs::Create 1018 Pop $Dialog ${If} $Dialog == error Abort ${EndIf} ${NSD_CreateLabel} 0 0 100% 12u "Hello, welcome to nsDialogs!" Pop $Label ${NSD_CreateText} 10% 20u 80% 12u "Hello World" Pop $MyTextbox nsDialogs::Show SectionEnd </code></pre> <p>And, the dialog once displayed:</p> <p><img src="https://i.stack.imgur.com/vhWOg.png" alt="dialog with disabled buttons"></p> <p>What do I need to change to tell NSIS to allow back/next/cancel?</p> <p><strong>EDIT</strong> More code was asked for. Here's the whole thing as it exists now.</p> <pre><code># Auto-generated by EclipseNSIS Script Wizard # Dec 19, 2013 3:48:34 PM Name SecureKeypad # General Symbol Definitions !define REGKEY "SOFTWARE\$(^Name)" !define VERSION 1.0.0 !define COMPANY **COMPANY** !define URL http://www.**COMPANY**.com # MultiUser Symbol Definitions !define MULTIUSER_EXECUTIONLEVEL Standard !define MULTIUSER_INSTALLMODE_COMMANDLINE !define MULTIUSER_INSTALLMODE_INSTDIR $PROGRAMFILES\SecureKeypad !define MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_KEY "${REGKEY}" !define MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_VALUE "Path" # MUI Symbol Definitions !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install-colorful.ico" !define MUI_FINISHPAGE_NOAUTOCLOSE !define MUI_STARTMENUPAGE_REGISTRY_ROOT HKLM !define MUI_STARTMENUPAGE_NODISABLE !define MUI_STARTMENUPAGE_REGISTRY_KEY ${REGKEY} !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME StartMenuGroup !define MUI_STARTMENUPAGE_DEFAULTFOLDER SecureKeypad !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall-colorful.ico" !define MUI_UNFINISHPAGE_NOAUTOCLOSE # Included files #!include MultiUser.nsh !include LogicLib.nsh !include nsDialogs.nsh !include AdvReplaceInFile.nsh !include Sections.nsh !include MUI2.nsh # Variables Var StartMenuGroup # Installer pages !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_STARTMENU Application $StartMenuGroup !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_PAGE_FINISH !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_UNPAGE_INSTFILES # Installer languages !insertmacro MUI_LANGUAGE English # Installer attributes OutFile setup.exe CRCCheck on InstallDir $PROGRAMFILES\${COMPANY}\SecureKeypad XPStyle on ShowInstDetails show VIProductVersion 1.0.0.0 VIAddVersionKey ProductName SecureKeypad VIAddVersionKey ProductVersion "${VERSION}" VIAddVersionKey CompanyName "${COMPANY}" VIAddVersionKey CompanyWebsite "${URL}" VIAddVersionKey FileVersion "${VERSION}" VIAddVersionKey FileDescription "" VIAddVersionKey LegalCopyright "" InstallDirRegKey HKLM "${REGKEY}" Path ShowUninstDetails show # Input dialogs Var Dialog Var Label Var MyTextbox #Page custom configLocationDialog configLocationDialogLeave #Page custom doConfiguration Section configLocationDialog nsDialogs::Create 1018 Pop $Dialog ${If} $Dialog == error Abort ${EndIf} GetFunctionAddress $0 "configLocationDialogLeave" nsDialogs::OnBack $Dialog $0 #nsDialogs::OnNext $Dialog ${NSD_CreateLabel} 0 0 100% 12u "Hello, welcome to nsDialogs!" Pop $Label ${NSD_CreateText} 10% 20u 80% 12u "Hello World" Pop $MyTextbox nsDialogs::Show SectionEnd Function configLocationDialogLeave ${NSD_GetText} $MyTextbox $0 MessageBox mb_ok $0 FunctionEnd # Installer sections Section -Main SEC0000 SetOutPath $INSTDIR SetOverwrite on File installable-content\CYBSSecurity.dll File installable-content\SecureKeypad.exe File installable-content\SecureKeypad.exe.config File installable-content\SecureKeypad.config File installable-content\SecureKeypad.frmSecureKeypad.resources WriteRegStr HKLM "${REGKEY}\Components" Main 1 !insertmacro AdvReplaceInFile $INSTDIR\SecureKeypad.exe.config "@@configFile@@" $INSTDIR SectionEnd Section -post SEC0001 WriteRegStr HKLM "${REGKEY}" Path $INSTDIR SetOutPath $INSTDIR WriteUninstaller $INSTDIR\uninstall.exe !insertmacro MUI_STARTMENU_WRITE_BEGIN Application SetOutPath $SMPROGRAMS\$StartMenuGroup CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk" $INSTDIR\uninstall.exe !insertmacro MUI_STARTMENU_WRITE_END WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayName "$(^Name)" WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayVersion "${VERSION}" WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" Publisher "${COMPANY}" WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" URLInfoAbout "${URL}" WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayIcon $INSTDIR\uninstall.exe WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" UninstallString $INSTDIR\uninstall.exe WriteRegDWORD HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoModify 1 WriteRegDWORD HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoRepair 1 SectionEnd # Macro for selecting uninstaller sections !macro SELECT_UNSECTION SECTION_NAME UNSECTION_ID Push $R0 ReadRegStr $R0 HKLM "${REGKEY}\Components" "${SECTION_NAME}" StrCmp $R0 1 0 next${UNSECTION_ID} !insertmacro SelectSection "${UNSECTION_ID}" GoTo done${UNSECTION_ID} next${UNSECTION_ID}: !insertmacro UnselectSection "${UNSECTION_ID}" done${UNSECTION_ID}: Pop $R0 !macroend # Uninstaller sections Section /o -un.Main UNSEC0000 Delete /REBOOTOK $INSTDIR\SecureKeypad.frmSecureKeypad.resources Delete /REBOOTOK $INSTDIR\SecureKeypad.exe.config Delete /REBOOTOK $INSTDIR\SecureKeypad.exe Delete /REBOOTOK $INSTDIR\&lt;sensored&gt;.dll DeleteRegValue HKLM "${REGKEY}\Components" Main SectionEnd Section -un.post UNSEC0001 DeleteRegKey HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk" Delete /REBOOTOK $INSTDIR\uninstall.exe DeleteRegValue HKLM "${REGKEY}" StartMenuGroup DeleteRegValue HKLM "${REGKEY}" Path DeleteRegKey /IfEmpty HKLM "${REGKEY}\Components" DeleteRegKey /IfEmpty HKLM "${REGKEY}" RmDir /REBOOTOK $SMPROGRAMS\$StartMenuGroup RmDir /REBOOTOK $INSTDIR SectionEnd # Installer functions Function .onInit InitPluginsDir FunctionEnd # Uninstaller functions Function un.onInit !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuGroup !insertmacro SELECT_UNSECTION Main ${UNSEC0000} FunctionEnd </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload