Skip to content
⌘ NSIS Forum Archive

Runtime change of the Finish page

6 posts

TrifonovS#

Runtime change of the Finish page

Hi guys,
I have two options on my Finish page - run the installed application and create shortcuts on the desktop. But in some special cases (it depends of the selected components for installation) I need a possibility to make inactive one or both options. Or better to hide them completely. Is there any way to do this at runtime?
TrifonovS#
Thanks. But is there a way to deselect the checkbox before to disable it? Can I hide the complete line (checkbox + text)?
TrifonovS#edited
I found solution of all my questions, but it's tricky. I'm not sure if this is the normal way, but it works. Any feedback is appreciated.
So here is what I made:

; Change the tests of the ShowReadme option
SendMessage $mui.FinishPage.ShowReadme ${WM_SETTEXT} 0 "STR:Bla-Bla"

; Deselect the checkbox of the ShowReadme option
SendMessage $mui.FinishPage.ShowReadme ${BM_SETCHECK} ${BST_UNCHECKED} 0

; Make the ShowReadme option inactive
EnableWindow $mui.FinishPage.ShowReadme 0

; Hide the whole ShowReadme option
ShowWindow $mui.FinishPage.ShowReadme ${SW_HIDE}

At the end I left only the last one... because I don't need more...
Afrow UK#
That's the correct way. You also have the ${NSD_SetText} and ${NSD_Check}/${NSD_Uncheck} macros which wrap the first two.

(Also your comments on the last two are the wrong way around).

Stu