Archive: Changing the form


Changing the form
In my installation it`s 2 licenses, and in second one, you may agree or disagree. So I want to make a form, with four buttons("Back", "I Accept", "I Decline" and "Cancel").

I`m a new in using NSIS, but I want to know, how can I change form, so that it includes 4 buttons (instead of 3 buttons) in my own form?

Thanks in advance...


You can't add extra buttons to the bottom without writing a plugin.
I could add support for this in my ScrollLicense plugin, but of course only if you want to use the main feature of the plugin also.

-Stu


You could also create the buttons in an InstallOptionsEX dialog, and move them down to the same height at the Back/Next/Cancel buttons using window positioning;

http://nsis.sourceforge.net/InstallOptionsEx
http://nsis.sourceforge.net/Get_inst...rner_of_screen
(SetWindowPos can be called on controls as well)

One note: The InstallOptionsEX binary includes GPL code. I never looked into how that may affect distributions using it and it doesn't appear to specifically say.


One note: The InstallOptionsEX binary includes GPL code. I never looked into how that may affect distributions using it and it doesn't appear to specifically say.
Good point. I'll launch a version without GPL until the end of the week, so nobody will need to worry about any GPL issues. I'll talk about that more in the IOEx thread.

I'll toss my reply there as well. Back on topic for this thread: I forgot to mention - you need InstallOptionsEx so that you can display a text/rtf file for the license :) Regular InstallOptions doesn't have a richtext control.


I was using InnoSetup, but I haven`t found how to solve that problem. So I`m looking for NSIS.
So one question more! Can I make so, that both buttons("I Accept" and "I Decline") do the same (going to next page), with only difference: in case "I Decline" boolean variable will be FALSE, otherwise it`ll be TRUE?
And if this variable == false, then don`t copy/run file?


If you can do what they said with InstallOptionsEx, then the next bit is easy. You can probably use the GotoPage function from the Wiki to go back to a previous page.

-Stu