Need page Abort support

Please let our ADS show!

This sites offers only FREE software and it's supported by a few advertisement boxes (no intrusive popups).
Please:

  • disable your AdBlocker by adding CoolSoft website to whitelist
  • give the proper cookie consent
  • enable JavaScript for this website

This seconds wait is to let you update your browser configuration...

Ok, I've done the required changes... now show me your content!
!!! Please enable JavaScript !!!
Anonymous user
Need page Abort support

Thanks for this project. Absolutely loving it.

I want to cancel a custom page based on a macro. The only supported way to do this is to run Abort. Currently the first opportunity to run Abort is using it in ControlCustomScript. Unfortunately this happens after the window is created which then causes the installer to crash. Can you please add a property for PrePageScript so that macros can execute before the call to nsDialogs::Create 1018

As it is, the nsdinc file needs to be modified manually to move the script which is not in the intention of this product.

It would also be good if there was a better mechanism for providing feedback to this product.

Looking forward to using this more.

Cheers,

Rory

Posts: 1972
Joined: 25 Mar 2012 - 01:19
Suggestions

Thanks for your detailed feedback.

As for your question, adding the suggested property won't be difficult BUT I don't like it so much...
I thought *Script functions as a workaround to do something not yet implemented by NSISDialogDesigner; but "something" must be strictly related to control creation, style, content.

Your needing regards script flow logic and, IMHO, should be kept outside nsddef/nsdinc files.
I see you're a .NET developer: think about *.designer.cs files. They only contain control creation instruction, no code flow logic that must be implemented into your own *.cs file.

So I think that the ${If} condition you like to add to nsddef file should be put outside NSISDialogDesigner generated files, around your call to fnc_*_Show function.
If you still want to wrap your own code into nsddef/nsdinc files (I appreciate your trust ;-) ), you can use HeaderCustomScript Dialog property and add something like this:

Function fnc_Form1_ShowTest
  ${If} .....
    fnc_Form1_Show
  ${EndIf}
End Function

Then from your script call fnc_Form1_ShowTest instead of default fnc_Form1_Show.

PS: you can feedback using comments here or the "official" thread on NSIS/Winamp forum here.
I'm going to add a forum to my website to let comment stay ordered, but I'm really out of spare time.

Anonymous user
Ah, yep, I can see what you

Ah, yep, I can see what you mean. I'm totally happy with this as a solution.

Thanks for the quick reply.

BTW, I'm getting the following error message box when shelling a nsddef file from VS2012

---------------------------
There is already a component with this name.
---------------------------
OK   
---------------------------
 
The application still works perfectly fine after dismissing this message.

Posts: 1972
Joined: 25 Mar 2012 - 01:19
VS2012 error

I don't think VS2012 is related to the error.
Does it also appear if you double click on the .nsddef file itself?

This kind of message is due to .nsddef file content that is "malformed"; in this case it contains two elements with the same Name property (or empty one).

Please open it with a text editor (it's an XML file) and double check that each XML tag has its own (and unique) Name property.
The only exception is the

element where the Name property is missing.

If you can't solve the issue, please zip the .nsddef file and send it to me through the contact form.