- NSIS Discussion
- Items that need to be put in the NSIS installer
Archive: Items that need to be put in the NSIS installer
DuaneJeffers
22nd August 2001 01:33 UTC
Items that need to be put in the NSIS installer
This is a place where you post what you would like to see in the NSIS installer.
Rules:
1) Don't flame anyone for having stupid ideas
2) Just post ideas, replies are accepted, just keep them short and sweet.
--------------------------------------------
Here is my offerings:
Have client-side registration
The option to replace the Name "Nullsoft Install System vX.XX" with whatever we want.
Have Fun
-DJ
Pomflain
22nd August 2001 05:24 UTC
Basically I'd like the aforementioned ideas:
1) An option to automatically check for a previous installation on a new installation and that will run the uninstaller before the new installation.
2) The ability to increment or decrement variables. I understand this is a bit more involved since the variables are currently strings and not a type of int.
3) Ability to autoclose the uninstaller program so that you don't have to click on close to exit. This is sort of tied into the first one since you end up with the uninstallers sitting on top of the current installer without closing in the current situation.
Pomflain
22nd August 2001 15:31 UTC
One other thing I forgot
4) Something like #define for easy replacement of templated types of scripts. I have a suite of installers which all have a similar style and have resorted to using strcpy $4 "name" and then using $4 to create the template, but it doesn't work for everything. It won't work in File statements, or outside of function/section blocks. So a #define type of replacement would be very nice and useful.
5) The ability to resize the installer/uninstaller window. It's currently a fixed size, so if you have really long filenames/directory names, you can't see the full path since you can't resize the windows.
6) Carryover of variables between functions. Doubt this will happen, but it would be nice to be able to set a var in the main section and then check it in one of the call back functions such as .OnInstSuccess. You can do it by writing registry keys and checking them between functions, but having some global vars would be useful in some situations.
sixty4bit
22nd August 2001 23:35 UTC
User interaction other than INSTDIR
It would be very nice to be able to get user input. The best solution would be to have as many questions as I want on each panel and then be able to set the size (Pomflain's idea) of the install app so that the questions look right. Something along the lines of the Sections directives would be cool.
QuestionPane [title for pane]
Question $(0-9) "[string for question in quotes]"
QuestionChoice $(0-9) "[string for question in quotes]" (RADIO, DROPDOWN)
Selection "[title for selection]"
Selection "[title for selection]"
Selection "[title for selection]"
QuestionChoiceEnd
QuestionPaneEnd
example:
QuestionPane "User Address"
Question $0 "Address"
Question $1 "City"
QuestionChoice $2 "State" DROPDOWN
Selection "Alabama"
Selection "Arkansas"
Selection "Arizona"
QuestionChoiceEnd
QuestionPaneEnd
QuestionPane "User Info"
Question $3 "Username"
Question $4 "Server Name"
QuestionPaneEnd
ExecWait '"emailUserInfo.exe $0 $1 $2 $3 $4"'
WriteINIStr "$INSTDIR\config.ini" "userinfo" "username" "$3"
WriteINIStr "$INSTDIR\config.ini" "userinfo" "servername" "$4"
This example would have two panes that would show up, one with three questions and the next with two. The placement could be standard, with the questions on top of the textbox or selection. I believe textbox and selection should be the minimum since free form text and specific answers to questions are usually needed.
DuaneJeffers
23rd August 2001 02:41 UTC
Something like what I wanted, except for the multiple pop-ups.
-DJ
DoctorMO
24th August 2001 16:04 UTC
I'd like the ability to add small graphics on these 'panes' or Dialogs as we programmers call them.
-- DoctorMO --
Angry Weasel
4th December 2001 13:05 UTC
I want the programmer to have the option for the main NSIS window to close when it is complete. It doesn't look good if the user needs to click on "close" in order to receive a notice that installation is complete. (if this feature is already implemented, please, HOW DO I USE IT?)
Also, I want the ability to use .png files for a splash screen, taking full advantage of the alpha channel. One could have a round, anti-aliased splash screen that blends perfectly with whatever is behind it.
Here are some minor suggestions:
1. Ability to change the NullSoft Install System text.
2. Why does it automatically append "Setup" to the end of the titlebar? I don't like this!
3. Ability to change the titlebar of a popup dialog.
4. Ability to specify the installer/uninstaller icons.
And finally, I have a few questions:
1. How do I allow the user to choose what to install? (Full, Compact, Recommended, Custom)
2. How do I auto-close the main window when installation is finished? And is there a way I can prompt the user to reboot the system?
Hando
4th December 2001 13:35 UTC
Some possible solutions
Pomflain:
1) An option to automatically check for a previous installation on a new installation and that will run the uninstaller before the new installation.
Already possible. In the .onInit check to see if a key in the registry exists, if it does then you know that there has been a previous installation. Then run the uninstall for that version with ExecWait and then continue with the install.
3) Ability to autoclose the uninstaller program so that you don't have to click on close to exit. This is sort of tied into the first one since you end up with the uninstallers sitting on top of the current installer without closing in the current situation.
Pretty sure this can be done already.
Angry Weasel:
Most of your questions could be answered by going through the documentation or examples that come with NSIS. Anyways try:
1. Use 'BrandingText'
4. Use 'Icon'
Set AutoCloseWindow to True to automagically close the installer upon completion.
Have a look at SectionIn re: Full/compact/custom Install types
Me? I'd like additional callbacks added for each page like Felfert's patch allows (or, in my case, doesn't..)
Thor
4th December 2001 22:38 UTC
Re: Items that need to be put in the NSIS installer
Originally posted by DuaneJeffers
The option to replace the Name "Nullsoft Install System vX.XX" with whatever we want.
WTF?? NSIS is a great product, Justin puts a lot of his free time in it, it's completely free and open-source, and now you wanna remove that one small label of credits???
It's not even real credits in fact...
Kinda ingratefull ... /me really feels like flaming now...
Angry Weasel
5th December 2001 01:54 UTC
Dude, chill. BrandingText doesn't even really work.
Angry Weasel
5th December 2001 21:46 UTC
Oops :D It hadn't yet been implemented in the version I used primarily (the wizard I had been using used a different version)...dl'ed whatever the new version is and now it works fine :)
DoctorMO
6th December 2001 06:31 UTC
I don't mind the small pice of text, whats the point in using someone elses installer if you won't allow them a credit. be ashamed of yourselves.
I like the idea of a splash screen, but I'd still like to see graphic abilty built in.
i.e
PictureFile, X, Y, Pannel ect.
-- DoctorMO --
Thor
6th December 2001 07:46 UTC
DoctorMO : there's already a splash screen possibility, it even allows you to play sound.
Go to yuor startmenu --> NSIS --> Contrib --> Splash Screen Help
FreeNsisTweaker
6th December 2001 18:58 UTC
You can replace "Nullsoft Install System vX.XX" by the BrandingText command.
CodeSquid
9th December 2001 17:51 UTC
Here my small wishlist:
1. Ability to add/remove components when rerunning setup. On the first page of the setup wizard you should have the following options: add/remove components, repair and uninstall.
2. It should be possible to insert a small graphic on the left (or right :D ) side of the setup pages.
trace
9th December 2001 19:33 UTC
orig. by angry weasel:
Also, I want the ability to use .png files for a splash screen, taking full advantage of the alpha channel. One could have a round, anti-aliased splash screen that blends perfectly with whatever is behind it.
yay this is a very good idea, but can please somebody explain me what exactly is the alpa channel?
some idea: this is maybe stupid, but however. What if will be the installer splitted in multiple files. e.g. if you have installer that has 4MB and you need to put it on 3 floppy disks... do you know what i mean? (`coz my english is not good:D) you compile the installer with some new magic directive /split_into_4_files... compiler generates "install.exe, install.e00, install.e01, ..." you insert first disk run installer and after short while "pip..." please insert disk two atc... did you get that? bye bye, trace ;)
WolfieD
10th December 2001 08:28 UTC
Originally posted by trace
yay this is a very good idea, but can please somebody explain me what exactly is the alpa channel?
An Alpha Channel is a part of a image file (Gif or PNG) that controls transparency. While gifs only have 1 Alpha channel (Pixels can only be There, or Not There, [100%, or 0%]) PNG's are allowed multiple channels. Pixels can be 50% Transparent, 25% transparent, 100%, 0%, anything. Basically, Alpha is Transparency.
As for the suggestion, it's kinda like a .rar file, right? Like, it'll split each part into a 1.4meg file, instead of 15meg files.
Sounds nifty.
CodeSquid
10th December 2001 10:16 UTC
Originally posted by WolfieD
An Alpha Channel is a part of a image file (Gif or PNG) that controls transparency. While gifs only have 1 Alpha channel (Pixels can only be There, or Not There, [100%, or 0%]) PNG's are allowed multiple channels.
Small correction: Both Gifs and PNGs have only one alpha channel. The difference between the alpha channels is, that the alpha channel of gif is 1 bit large (visible or not, like a mask) while the alpha channel of a png image is several bits large (8 I think). Imagine it as a greyscale image where white is visible and black invisible and the grey colours are partial visible.
trace
10th December 2001 20:09 UTC
yes it`s like *.rar file... and thaks for the alpha channel :D is there somebody else who thinks that the file splitting is an good idea? now i`m thinking, that i didn`t see any reply from justin (nsis creator). so why do we post thousands of ideas when the leader don`t tell as, if it`s a fakin` idea or not, and why is this impossible to do and blah bla blah...:(
bye bye, trace ;)
DuaneJeffers
11th December 2001 19:49 UTC
I do like the idea of file splitting an installer. But don't get mad a Justin for not responding. He is busy you know, with Winamp, SHOUTcast, NSIS, and any other project, he will come back to give input.
-Duane
locnar42
11th December 2001 20:03 UTC
GIFs don't support an alpha channel at all. They added the ability to specify that a particular color in the image should be rendered transparent. Although very similar, it features the drawback that you lose one color from the final image. In a format that only supports 256 color images to begin with, it becomes a more important issue.
Splitting an installer across multiple files would be nice, but are there really that many people distributing software on floppy anymore? A CD costs less that one floppy, much less 10 of them. I guess that if your install is several hundred megabytes then I could see the use, especially if you plan to offer web download. CDs are cheap, and even having it made professionally doesn't cost much compared to floppies.
Along the lines of the above mentioned large installs, I would like to see something similar to make dependancies. To only recompile items which have been modified since the last compile. (do you know how long it takes to build a 600 MB install with compression enabled) Perhaps a way to isolate the files in each Section and then only recompile the section which has modified files.
I would like to see the ability to add a graphic to the main install window. If this is across the top (like Windows Installer) or down the side doesn't matter much.
Callback functions for additional items like when the user selects/deselects a section. This would have to have the ability to programatically select/deselect sections also.
And pizza. It definately needs to be able to cook pizza.
michael
trace
11th December 2001 20:24 UTC
i`m not angry at justin i undestand that he`s busy.
that pizza idea is good i love pizza yum-yum:D
oh! no ideas for today, maybe later, cheers :p
s0mbre
11th December 2001 20:55 UTC
If it's not too much trouble, I'd love to see support for at least 256 colour images for the selected/deselected bmps, and icons, etc.
I also really like michael/locnar42's idea for callback functions in order to enable section selection/deselction.
Great job on NSIS Justin, and any other contributors. :D
Michael - a special thank you for you amongst the contributors since I love InstallOptions so much. :D
(Hey!! I liked the old 'eek' smiley - the new one is nice too, but I miss the old one. :eek: Gosh we users sure are a picky bunch arent we? Can't let anything go without making some kind of comment. ;))
ssurfer26
26th December 2001 22:04 UTC
256 color icons for sure! 16 bit is for Win9x and NT4 pc's and those are old OS's...
DuaneJeffers
27th December 2001 00:34 UTC
But there are still a whole bunch of people who use Windows 98 and other OSes like that. Granted, it would be nice to have a NSIS XP-enhanced version, but it might not happen.
-Duane
Angry Weasel
27th December 2001 13:33 UTC
The "Nullsoft Install System vX.XX" text can easily be replaced. Use BrandingText "Whatever you want."
kichik
27th December 2001 14:45 UTC
CodeSquid
1. Ability to add/remove components when rerunning setup. On the first page of the setup wizard you should have the following options: add/remove components, repair and uninstall.
You can easily do it by adding an InstallOptions screen on startup that asks you what would you like to do and then make the installer act according to the selection.
BTW, my wish is that NSIS or InstallOptions will have support for images.
DuaneJeffers
28th December 2001 04:24 UTC
kichik:
Try NSIS BrandImage. The only version is 1.59, but you could do some code hacking. https://sourceforge.net/project/show...lease_id=59178 (it is hosted by the NSIS Project House .. Admin(s): Koen van de Sante and me :))
-Duane
crish
28th December 2001 10:12 UTC
i want visible required sections (ok nobody else needs this)
some of the wishes are already implemented (in 1.91)
so thats not the problem
branding images would be fine
and a new component page (treeview) like in the ms office installer for big installers so that u can group your files
and an option if u select one section that requires another (strange i know but would be fine) then the other should select itselfs automaticly
something like
if (a<b) {
}
crish
28th December 2001 10:27 UTC
have a german version at my hp ...
click on my sig
jcagle
25th July 2003 04:34 UTC
I only got one word: ReadRegBin
ingig
29th July 2003 11:38 UTC
Add OnChange to a field in Custom page.
Example:
[Field 1]
Type=droplist (or whatever type)
ListItems=MSSQL|MySQL
OnChange=DoStuffFunction
...
When the droplist is changed the function DoStuffFunction is executed, there I could e.g. let [Field X] be Enabled or Disabled
ingig