Archive: NSIS 2 frontend modification is too complex


NSIS 2 frontend modification is too complex
Hi,
Besides the obvious fact that NSIS 2 is going to blow everything away with the modern interface, etc, there is a slight problem.

NSIS has started looking too much like the source code of programming language (its OK, coz it looks like C/ASM :) )

This might not be too good for people of other faiths (innosetup/WISE/VISE/etc) ans it looks extremely cumbersome in comparison to their own beliefs :)

I think that the general idea would be to get *everyone* on the NSIS bandwagon, wouldn't it ?

Well...the message is that we need a easy-to-use GUI (like ISTool for innosetup). I know this discussion is going on in a separate thread, but I felt like saying a few words...

- Shantanu


Most people who make installers are programmers, so they can learn using NSIS very quikly.

The new Modern UI version also has a macro system, so you can use the new Modern UI, and even InstallOptions, without writing code, just by adding some !insermacro's to script.

Of course a good UI to create scripts would be even better. But it's really a lot of work to make one.


I sort of have to agree with the first poster. I got attractd to NSIS in the first place because it was so easy to use with so few lines of code.

When I had a look at example.nsi in the ModernUI directory of alpha7 I thought I was looking at programming hell. It definitely apps the ante in terms of learning curve.

Maybe ModernUI should be integrated as the main UI and should be given regular commands to access it instead of macros.

For the time being I stuck with the old UI, learning the new one seemed like a big training curve.


Don't be afraid of some capitals. There is absolutely nothing new to learn there. The macros just insert the text for you. All of those settings are strings that will show in the installer. Just copy, paste, change the file name, insert your sections, and you are done. Nothing new to learn, absolutely nothing.


Ah...but we lazy programmers dream of..

UseModernUI off|on

:D


And how would you set the strings?

I guess a simple UseModernUI macro can be created, but it will lack a lot of options.


The macro system also had improved very much since alpha 7.

Get a snapshot with installer at http://nsis.sourceforge.net/ and see.


NSIS will still work using pretty much the same language set since NSIS' inception. If you don't want to change the interface, then don't use it and you don't have to deal with any of the new complexities.


Well...I guess this might rattle some feathers...why can't NSIS be ported to use the new UI by default and have all the regular functions ported to render using that instead?

It seems most people want to use the new UI instead of the old one.


Originally posted by Zaraza
Well...I guess this might rattle some feathers...why can't NSIS be ported to use the new UI by default and have all the regular functions ported to render using that instead?

It seems most people want to use the new UI instead of the old one.
Its all about size. Using the Modern UI will not result in the smallest installer. Looks are important, but they don't take precendence over functionality and size.

Not everybody wants to use the modern UI. Some people like the old, simple, non fancy UI.


I know that the idea of NSIS is to keep *EVERYTHING* modifyable, but it still looks a bit scary to the new-comer, who will definitely find "innosetup"+"ISTool" easier to use.

My basic argument is that although installer overhead is *EXTREMELY* important, the newcomer cares two-hoots for it.

When anyone says "reduced 1 kb overhead" or "18 bytes down", it's value will be appreciated by a programmer and not by a newcomer.

Solution to problem... ????

The most obvious, make a frontend, but then again what if tomorrow NSIS changes the way it works (which it has got a habit of doing), the frontend tool nedds modification.

How about...a DETAILED tutorial of what macros are etc, which will solve the problem of they not understanding what they are looking at.

Basically heavy duty documentation of EACH and EVERY minute thing so that even my 12 year old nephew (niece too :) lets not get sexist, OK ) will be able to use NSIS.

- Shantanu


Macro's just include a bit of code in your script, it's really simple.

And installers are always made by programmers, so why should your 12 year old nephew be able to understand it?


because installers are not always made by programmers. I agree with everyone else that the new interface is tough to use. I do a lot of things with NSIS from installing single database and crystal report files to distributing a complete VB application. I wish I could convert all my current NSIS scripts a lot easier to the new UI but I can't because its so much more complicated.

My .nsi script goes from 30 lines to 100 when I'm done adding in the macros.

I didn't find it terribly difficult to learn and I have converted some of my installers, but I'm sure it took me an hour to convert the first one and there are a few that I'll never do because its too much work. Its just not simple like NSIS was in the first place.


It wouldn't be as simple even if we get it in the compiler. You will still have to define a lot more strings, only their lines won't have !insertmacro in them...

Besides, another good point of this, is the ability to use more than one UI. Joost and Don are currently working on another wizard like UI. You can make your UI whatever you want.

I agree that a GUI to design it all would be helpful, but NSIS always was script based. I am sure N²E will be able to do it when it's done.


Originally posted by Dick4
because installers are not always made by programmers. I agree with everyone else that the new interface is tough to use. I do a lot of things with NSIS from installing single database and crystal report files to distributing a complete VB application. I wish I could convert all my current NSIS scripts a lot easier to the new UI but I can't because its so much more complicated.

My .nsi script goes from 30 lines to 100 when I'm done adding in the macros.

I didn't find it terribly difficult to learn and I have converted some of my installers, but I'm sure it took me an hour to convert the first one and there are a few that I'll never do because its too much work. Its just not simple like NSIS was in the first place.
The "New" modern interface is just one of an infinite number of UI's that you can use. The point is, it wouldnt matter if it were the default UI or not. The reason for the new system is you can use any UI you want. All of these UIs will have their own macro system that handles all of the tough work. Looking through the example.nsi file for the ModernUI, it is very basic. Without any knowledge of how ModernUI works, you should be able to use the system.

like I said, I read the ModernUI and figured it out...and you could really just copy and paste most of hte stuff in. I don't think anyone is saying that its rocket science, they're just saying that its not as easy as we'd like.

And you may be saying that "its not possible to do what you guys want", but thats why Shantanu mentioned the differences of other installers like NSIS and InnoSetup. InnoSetup, for example, has the pretty interface without any extra work.


You know... If you want a pretty GUI for your NSIS scripting, none is stopping you from making one. :)

Make it open-source, start a sourceforge.net account and also post here in the forums, I'm sure some people will gladly assist you with it. :)


Originally posted by Dick4
InnoSetup, for example, has the pretty interface without any extra work.
But you cannot make your own customized interface, and it's much larger.

Hello shantanu_gadgil,

we (The N²E Team) develop an OpenSource IDE/GUI for NSIS! You are welcome to help us!

We don`t need only programmers...


Fiffi