Archive: Runtime change of the Finish page


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?


You can do this in the finish page SHOW function, using the enablewindow command.


Thanks. But is there a way to deselect the checkbox before to disable it? Can I hide the complete line (checkbox + text)?


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...


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


Thanks a lot. I also corrected my comments...