Archive: Adding a button to components page


Adding a button to components page
Hi I want to add a button to the components page. I was wondering if that's feasible, maybe through ioSpecial.ini or something ?


Components page is a built-in page - not an InstallOptions dialog. What do you want this button to do?
The only ways to add a button is:

1. Modify the original NSIS source code and EXE resource, or;
2. Write a plugin which adds the button and sets a flag if the button is clicked so that it can be queried in the leave function of the page.

-Stu


Originally posted by Afrow UK
2. Write a plugin which adds the button and sets a flag if the button is clicked so that it can be queried in the leave function of the page.
-Stu [/B]
Is there some code I can start with for that ? because reshacking the exe can place a button, but can't set the notify flag for that button.

a notify flag doesnt help since its not a InstallOptions page.

a) change the source and recompile
b) create a plugin that subclasses the components page


anyone care to give me a hand here ? I don't know where to start. Where can I find the source code for example ?


You just need Resource Hacker and you need to open the resource exe and modify the correct page to add a button. Give it a unique id, that way you can access it and send it a message from your NSIS script.

NSIS: C:\Program Files\NSIS\Contrib\UIs\default.exe
MUI: C:\Program Files\NSIS\Contrib\UIs\modern.exe

From both of these resources, it's dialog 104 you would need to add a new button to.


goldy it isn't at all that simple. A button when added with Resource Hacker will have no action at all - Try it yourself. The button has no event attached to it.

There are many plugins on the Wiki which subclass an already existing NSIS dialog and then adds its own button or what have you. Plugins that I have made do this, such as RealProgress, ScrollLicense, ToggleInstFiles and others.
These plugins are on the Wiki; source included.

I would write a plugin for you but of course for custom plugins for individual installers this tends to cost some money.

-Stu


Ok, my bad. Thanks for the info.