Hi,
first, thanks for developing this great app.
I cannot find the way to read which button was pressed, based on that make an action, and then continue with the next page.
Var action !include "resources\already_installed.nsdinc" Page Custom PrePage Function PrePage ReadRegStr $R0 HKLM "${PRODUCT_UNINST_KEY}" "UninstallString" StrCmp $R0 "" NotInstalled Call fnc_already_installed_Show NotInstalled: FunctionEnd Function reinstall_click StrCpy $action 1 Call PreLeave FunctionEnd Function uninstall_click StrCpy $action 2 Call PreLeave FunctionEnd Function cancel_1_click StrCpy $action 3 Call PreLeave FunctionEnd Function PreLeave StrCmp $action 0 cancel StrCmp $action 1 reinstall StrCmp $action 2 unistall StrCmp $action 3 cancel unistall: Exec $INSTDIR\uninst.exe cancel: Quit reinstall: FunctionEnd !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_LICENSE "License.rtf" !insertmacro MUI_PAGE_INSTFILES !define MUI_FINISHPAGE_RUN "$INSTDIR\Program123.exe" !insertmacro MUI_PAGE_FINISH
And the code from NSISDialogDesigner is:
; handle variables Var hCtl_already_installed Var hCtl_already_installed_Label1 Var hCtl_already_installed_Label3 Var hCtl_already_installed_Button1 Var hCtl_already_installed_Button3 Var hCtl_already_installed_Label2 Var hCtl_already_installed_Button2 ; dialog create function Function fnc_already_installed_Create ; === already_installed (type: Dialog) === nsDialogs::Create 1018 Pop $hCtl_already_installed ${If} $hCtl_already_installed == error Abort ${EndIf} !insertmacro MUI_HEADER_TEXT "$(ALREADY_INSTALLED_HEADER)" "$(ALREADY_INSTALLED_TEXT)" ; === Label1 (type: Label) === ${NSD_CreateLabel} 127u 7u 143u 32u "$(REINSTALL_TEXT)" Pop $hCtl_already_installed_Label1 ; === Label3 (type: Label) === ${NSD_CreateLabel} 127u 47u 143u 32u "$(UNINSTALL_TEXT)" Pop $hCtl_already_installed_Label3 ; === Button1 (type: Button) === ${NSD_CreateButton} 18u 7u 97u 32u "$(REINSTALL_BTN)" Pop $hCtl_already_installed_Button1 ${NSD_OnClick} $hCtl_already_installed_Button1 reinstall_click ; === Button3 (type: Button) === ${NSD_CreateButton} 18u 47u 97u 32u "$(UNINSTALL_BTN)" Pop $hCtl_already_installed_Button3 ${NSD_OnClick} $hCtl_already_installed_Button3 uninstall_click ; === Label2 (type: Label) === ${NSD_CreateLabel} 127u 89u 143u 32u "$(CANCEL_TEXT)" Pop $hCtl_already_installed_Label2 ; === Button2 (type: Button) === ${NSD_CreateButton} 18u 89u 97u 32u "$(CANCEL_BTN)" Pop $hCtl_already_installed_Button2 ${NSD_OnClick} $hCtl_already_installed_Button2 cancel_click FunctionEnd ; dialog show function Function fnc_already_installed_Show Call fnc_already_installed_Create nsDialogs::Show $hCtl_already_installed FunctionEnd
But the problem is that the buttons do not respond.
They do the function, but then it doesn’t continue.
Can you help me with that?
Thanks a lot
Maria