Skip to content
⌘ NSIS Forum Archive

Nsis-gui

70 posts

Sunjammer#
A few things...

- What do you mean exactly? A replacement/enhanced GUI for the installer itself, or a text editor for NSIS scripts maybe with development & word processor type features & wizards & help lookup, and/or something that integrates compilation of NSIS, or do you mean just a sort of wizardy thing, maybe WYSIWYG style editor ... like I said what do you mean?

- Have you considered if what you are proposing is being done already/has already been done? there are quite a lot of NSIS gui tools out there already (although I have only seen one that I personally believe is good enough to use (NSIS Workbench)).

Don't get me wrong, I'm not trying to spoil your party, I just want to make sure of what you intend and that it is worth your while, and I'm just curious to know if you maybe have something to say that I really didn't expect 😛

Hmm I guess there is the fact that NSIS Workbench is not open source (at least I don't think it is). I'd be willing to work on an open source project like this as long as it's goals were set out in advance and clearly justified the effort (and that we weren't just duplicating existing effort). The other problem for me is that the real work in NSIS is the scripting and you can't really aid that much with a GUI, it's very installation specific, (and yes I know you can provide context sensitive help etc etc but these don't help actually code a solution to a problem) and so for the amount of work required is a GUI necessary?
Fiffi#
Hello Sunjammer,

i would like to start a OpenSource GUI project that really help to write NSIS installation scripts.

I have see the NSIS Workbench too, and a lot others. But what i want is:

-OpenSource, because NSIS is OpenSource
-should be better than the competitors (WISE, InnoSetup...)
-should be able to create installer from compiler-projects: example: from a ".dsp"-file (VC++ project file)
-...

I think to add these (and more features) we must code NSIS-extensions.

I think the right compiler/language is VC++ with MFC.

I know that that is a lot of work and a hard work, but i think when there are enough people that works.
Sunjammer#
-should be able to create installer from compiler-projects: example: from a ".dsp"-file (VC++ project file)
What are you getting at with this? Seems to me that this would be very dependent on the user of the program having build tools on their system, and given the number of posts on this forum about people who use Borland having trouble building NSIS at all I'd think this is an extremely ambitious idea... too ambitious maybe.

Also a .dsp file is a VC++ specific thing, it would be more acceptable from a .mak file (exported from the NSIS .dsp) and more developer setups would be able (with a lot of kicking) to invoke a make tool to build NSIS. Still seems like a recipe for trouble 🙂

I'm going to sit back and see what other people make of what you've said, I'm a little ... dubious.
Fiffi#
Hello Sunjammer,

quote:
--------------------------------------------------------------------------------
-should be able to create installer from compiler-projects: example: from a ".dsp"-file (VC++ project file)
--------------------------------------------------------------------------------

Yes you are right, that is a extremely ambitious idea. But i think that is what a lot of people miss. A long time ago, as i started with codeing, under VB that was there aviable. That is one idea of a lot of ideas. The question is what is practicable.

I think first we must plan out the project, and we must look what is practicable and what must we do for that.

First we must found coders... and then we must discuss about what we would like to implement.
R@m00n#
Hi,
this is a good idea.

I'll help as much as I can.

I would prefer Delphi as the programmin language because it's easy and it's 50 times faster than VB.
Fiffi#
Hello R@m00n,

I would prefer Delphi as the programmin language because it's easy and it's 50 times faster than VB.
Why do you think we would like to use VB? I would like to code in VC++ with MFC, because i don't can code in Delphi. But we can combine the two languages with dll's and windows-messages.

What do you think about what we should implement (and how) and how to start the project?
Sunjammer#
SourceForge is a good way to go for an open source project with a few or more people working on it... but might be a bit much if the work is truly separated so people don't overlap and people aren't used to SourceForge.
Fiffi#
Hello Sunjammer,

You are right, and i have see SourceForge, but:

-we must save that we would like to start that project
-we must know the name of our project and these things...

When we are ready, then we go SourceForge.
Fiffi#
Hello friends,

is nobody isterested to have a good GUI for NSIS? And nobody would like to start a OpenSource NSIS-GUI project?


Sincerely Fiffi
R@m00n#
Hi,

I would really like to hav a GUI.
It should have Syntax-highlight, MakeNSISW included and a Wizard.

If it's in Delphi, then I'll help to create it.

I've already a good syntax-hightlighting component and it shouldn't be a problem to set it up for NSIS.

Ramon 👍 🙂
veekee#
Although i'm a c++ coder (i began last year, and i don't think i've enough skill to really help..... well, i don't know) ! As a french translator, i'ld like to be on this project to develop multi-language section ! I don't know if i'm able to help developping multi-language code (i'll surely try), but i'ld at least like making french pack !
Well, this message a bit confusing ! I hope you'll have understood it's meaning 😉 😁
veekee#
And about GUI's name, everybody would surely propose some : here is mine 😉
N-spot

hmmmmm... hope this don't have other strange meanings in english 😁 !
Sunjammer#
It could have been worse, you could have suggested G-Spot ;-)
What made you suggest the word spot?
Fiffi#
Hello friends,

👍OK, we start the project !!! I think the name could be "NSIS-Studio", what think you? I mean "N-Spot" resp. "G-Spot" is not the right name for a "Installer-Wizard...". What mean the other?

Think i right that we are 4 people: veekee, R@m00n, Sunjammer and me?!

Questions to Veekee: What version of MS-VC++ do you use? Can you programm with the use of MFC? What have you programm since last year?
Are you able to programm: file I/O, string manipualtion?

Questions to R@m00n: What do you think about that you programm the "Wizard" (Step by Step to a standard installer) in Delphi? How operates your syntax-highlighting?

Questions to Sunjammer: Are you able to change some-things (only when needed) in the source of NSIS? Would you like to contribute full or only help at some things?

Questions to all: have anyone experiences with SourceForge / CVS? Because we need a "project-place" at SourceForge with this things:

-a little homepage
-a forum for user-wishes, bugs...
-a mailing-list for our
-a documentaition about
-a "CVS-system" for our source-code
-a FTP-Server for uploading our software

Until Now i don't have used CVS. Whould anyone like to admin our project at SourceForge or/and a little homepage or/and the documentation...

my suggestion to the responsibility assignment:
-----------------------------------------------
veekee and i programm the main-application.
R@m00n prgramm plugins (external extensions to NSIS and extensions to our main-application) and/or admin our project at SourceForge. Sunjammer programm some changes at the NSIS-source.

PLEASE REPLY TO THIS SUGGESTION

Now each one must think/plan about our application, some clues:
(i think each one should post a file..)
---------------------------------------------------------------
- what do you think about three modes: easy/wizard, standard, hardcore

easy/wizard: step by step to a standard/easy istallation (and a "SFX"/Winzip-SFX-style with an shell extension to direct creation from folders in the explorer...) (save in the standard-mode-file-format)

standard: create a installation with a lot of properties-pages and dialogs... (We save/load i a different file-format to NSIS, because it's easier)

hardcore: script-editor with syntax-highlighting...

what things we would like to implement that at tis time not in NSIS 1.98?


Fiffi 😁 🙂
Sunjammer#
Nsis Source

Yes I can change NSIS source (see my latest post about a change I've recently made 😁). I have VC++6 at home running on Windows 2K.

Rainwater, myself and KiCHiK all have some experience with SourceForge, and KiCHiK and I certainly have *some* experience with CVS, me personally I don't have much but I'm learning fast.

I don't have a lot of time I'm afraid but I will help if I can.
Fiffi#
Hello Sunjammer,

Thank you very much for your help.

At this moment i don't have the overview if changes in the NSIS-source are required, but if requiered then i reply to you.

About the SourceForge and CVS: i would like to wait for veekee and R@m00n.

Fiffi🙂
veekee#
I use VC++ 6 !
I studied C and C++ at school last year, but we stopped before GUI lessons 😁 ! The only online source i made is a zip2exe modification (not really proud of it : my code seems soo bad compared to the other's code) !
What about MFC... is it library manipulation (like string class ...) ? I never used it, but string class ... 🙁 !
I've still used string and file I/O functions !

...as a matter of fact, i may not be able to be a GREAT help in this project !
By the way, i have beta testing skills 😁 😛 😉 !
Fiffi#
Hello friends and future users of our N²E,

we start to develop a script editor and wizard for NSIS!

Please help us at planing the layout ,functions...: please describe what you think about...

Thank you very much for your help!


Fiffi
Sunjammer#edited
I think it would be a good idea from the ground up to attempt to design an editor that can handle the fast changing nature of NSIS, i.e. :-
  • don't make the syntax highlighter use a fixed set of keywords
  • don't hardcode a link to the documentation helpfile (remember recently the directory structure was refined by Rainwater)
  • when invoking makensis.exe DO provide a means for the user to specify command line parameters
  • how about providing the option to remember multiple NSIS installation directories for people who run with more than one version installed?

Other ideas:-
  • Provide a way to set the list of file extensions that will be syntax highlighted. That way people can use the editor to quickly open say an INI file or a C file that they need to find something in whilst they work on their NSI file, and it won't come up in strange colours as the syntax highlighting engine struggles with a non NSI file.
  • Allow bold or italic options in syntax highlighting in addition to just setting the colour.
  • Make EVERY text string in the program go through a function to lookup the string in the correct language, and I mean EVERY string that is displayed to the user (except edited text of course 😉)

There are many more ideas... I'll write em down as I think of em.
Fiffi#
Hello Sunjammer,

don't make the syntax highlighter use a fixed set of keywords
Allow bold or italic options in syntax highlighting in addition to just setting the colour.
Provide a way to set the list of file extensions that will be syntax highlighted. That way people can use the editor to quickly open say an INI file or a C file that they need to find something in whilst they work on their NSI file, and it won't come up in strange colours as the syntax highlighting engine struggles with a non NSI file.
Yes we do this via a config-file for syntax-highlighting
----------
don't hardcode a link to the documentation helpfile (remember recently the directory structure was refined by Rainwater)
I don't know what you mean with that directory structure and the hardcore link.
----------
how about providing the option to remember multiple NSIS installation directories for people who run with more than one version installed?
Do you think we need that?
----------
Make EVERY text string in the program go through a function to lookup the string in the correct language, and I mean EVERY string that is displayed to the user (except edited text of course )
Yes we do this via a textfile for each language
----------
What do you think about wizards, text/script-blocks, little helper dialogs...?


Thank you very much for your suggestions!


Fiffi
Sunjammer#
I don't know what you mean with that directory structure and the hardcore link
I saw one editor that had a help menu that linked to the nsis html file, but if u moved the file it broke the menu, so newer NSIS distro's didn't work with the editor help menu.

Do you think we need that?
I won't use the editor to do compilation if it doesn't have the option, and I find the integration of compilation to be one of the best features of an NSIS editor, IMO. If I'm developing for NSIS I have the latest release version, plus my dev version. Frequently I compile scripts under both using separate dos windows but I'd prefer to do it in the editor really, a quick switch (like an optional drop box on the tool bar) to switch between them would be cool.

[edit]thinking about it this is very specific to the way I work, and is developer oriented rather than toward a typical user... so you can probably scratch the idea.

What do you think about wizards, text/script-blocks, little helper dialogs?
Yup good idea especially for new people, but you need to make wizards useful, rather than a wizard for blocks of code that are very problem specific. I vote you make the required wizards better rather than devote time to making more wizards than required (again a side shot at an existing editor 😛)...
Fiffi#
Hello Sunjammer,

saw one editor that had a help menu that linked to the nsis html file, but if u moved the file it broke the menu, so newer NSIS distro's didn't work with the editor help menu.
I think all these things must be variable via cinfig-files...

multiple NSIS versions
I think to implement this is not a lot of work, i implement that.

(again a side shot at an existing editor )...
down: I don't copy an existing editor, i only think what is useful.


Fiffi😁 🙂 👎
MoNKi#
First of all, sorry for my poor english, i'm from spain.

My idea is to make de nsis documentation in xml format. With this xml file you can create the html help using a parser, and the application can parse this xml and get all the information about functions, events... And always be up to date simply by replacing this xml file. The gui can use this xml to create the help, sintax highlighting, code completion, ...
Sunjammer#
Am I right in saying that an XSL style sheet could be used to transform the XML into HTML? So a user would just load the help up in their browser as normal, but a computer program could read the underlying XML data easily and obtain useful function information... if that's possible it's a good idea in my book.
Fiffi#
Hello Sunjammer and LsMoNKi,

sorry but i don't know anything about XML and XSL, i can only write (/programm) pure HTML. 🙁 😢

Can you two please explain me (a pure beginner in webdesign...) what do you exact mean and explain me a little bit how to marry my VC++ and your XML/XSL? 😁 👍

Thank you!


Fiffi
Sunjammer#
  • write makensis.htm in xml instead of html and make sure that the xml data clearly provides information about NSIS functions in a way that a computer program could use, e.g. with blocks like:
    <function name="LicenseText" description="Blah blah">
    <parameter name="text" description="Blah blah" type="text">
    <parameter name="buttontext" description="More blah blah" type="text">
    </function>
  • Create an XSL stylesheet (another XML file that defines how to create HTML from the makensis.xml documentation).
  • The user would load the makensis.xml file in their browser as they do at the moment with makensis.htm. The browser knows how to apply the XSL stylesheet to the XML to get HTML which it can display.
  • Our editor program could read the XML directly (using MSXML maybe as a parser, or there are other parsers) and would be able to find the information about the NSIS functions, what they do, how many parameters they take, what type they are etc.

If that doesn't make sense someone else had better try and explain it 🙂
MoNKi#
Not a bad explain 😉
Can you directly open the xml file in your browser? I don't know how a xsl works
Sunjammer#
I believe so because the XML file links to the XSL file (there is a standard syntax for this I believe, it may even be possible to embed the XSL but I don't think that's the preferred solution) and so IE (and other browsers?) can handle the XML by finding and applying the XSL it refers to.