Archive: Just a thought...


Just a thought...
If you could please change the instfiles progress bar to show a percent figure, example:

___________________
|||||||__41%_______|


It would also be nice to add the bar to the makensis.exe. If not, just the percent in the title bar of the compiler would be nice.

I would be a very happy chappy if this was in a future version :).

Thanks.

(P.S I have just started working on a wizard for making scripts in VB6. Hope it helps the newbies out there once I've finished it :). This software is also the first freeware source code that compiled first time round with no errors :D. )


Because the major changes of 2.07, I think I will stick with 2.06 for now. Most of the major changes are:

Requiring /solid for solid compression; no source code; restructured nsis directory; new build system; making nsis and the installers it makes run on windows xp only. (Just kidding about the windows xp).
Yes, I am a bit angry as I like getting new versions but this is the first time the new version changes has stopped me from getting it.

Update on the script wizard: The user interface is finished, have started the engine. For those of you who don't know, this wizard is being made in VB6.

I have made other apps over the last year. The main one being a computer version of hangman. I made it in 2004 and rehauled it in 2005. Made an nsis installer (of course!) and it has source code included. The source code total is 2.5 MB in size. Most of you would faint if you had to download that size! Anyway the installer shrunk in down to just 2.4 percent of its original size. Which means the installer is only 90kb! The reason why it compresses so well is that the bulk of the data is solid 5 color bitmaps. I think I should put a link to the vb6 runtimes on the net somewhere in my installer so the download time is still small.
Another app is a simple cd database program. Uses my own engine I developed. It is almost finished but has been sitting on my todo list for a few months now.
I have also made this light sequencer program. This program is one of the first programs I have made in VB. has seven "lights" and has a background colour and a forground colour for each light on a black background. If it is possible to host these programs on the net (for free, cough) edit: (i could put the installer in a zip file and post it as an attachment on this thread), I would love for people to try these free apps.

I decided to make up a name for my software. I initially thought of "Rubber Chicken Software", but if you type in the quoted statement in google, the name is already taken :(. I have just thought of "Axle Grease Software" but that might be a bit dirty (no pun intended). Any thoughts on "company" names are appreciated.

Update: name just thought of: "Attic Light Software" possibly with ", Inc."

Sorry for the very long post but it is just one of those information posts you have to get out there.

Thanks for the great installer.

Jason a.k.a JasonFriday13

/* Edit */ As you can see, this will be my thread to post news, updates and bugs for my programs when they are finally let loose on the world. /* learning to program in c for my course and making my comments ansi c compliant. */


As for the percent text in the progress bar, you can submit a feature request. However, I doubt I'll ever implement it. It doesn't look good, in my opinion.

The source can still be obtained using CVS on sourceforge servers. It just isn't bundled with the main NSIS distribution no more.


Announcment!

I am currently working on a "abort to finish" header file to be used with MUI and classic interface. I will attach a zip with documentation and header file when I have it working. Or I could put a link to the file on the wiki.


I've already made an abort to finish script.
I'll try and find it.

Edit: Bah, can't find it now, but it's on my hard drive at home somewhere. I'll try and find it when I get home and you can convert it into a header script (if it's possible).

-Stu


Found it
I don't think it's possible to convert it to a script header because each page has to have a show function set which sets how many pages must be jumped to the finish page.

-Stu


I was going to try to adapt the code from the abort to finish script (I downloaded it from the wiki awhile ago - thanks Afrow UK) to work on the classic interface (not MUI), and possibly convert it to a header file. I will toss around some ideas during the weekend to try to find a way to convert it to a header (as well as working on the classic interface).


The only way that I can think of that will allow for this would be to simply modify Modern UI. It shouldn't be too hard, but if a new Modern UI script is made we'll lose the changes. Then there's the problem that there's no translations for the abort text that is written to the finish page.

-Stu


Well, I am waving the white flag. It can't be done. But I did find a bug in the abort to finish script. Compile and run the abort to finish script and click next until you get to the directory page. Click the cancel button and it gives a "are you sure you want to abort?" messagebox. Click yes and you are taken to the finish page that says: "Completing the Abort to Finish Example". In other words the aborting code does not work properly on this page. I have already fixed this bug.

The original:

Function abortToFINISH
call relgotopage
strcpy $R9 "cancelled"
abort
FunctionEnd
Function preFINISH
strcmp $R9 "cancelled" 0 pre_FINISH
;I can't remember this code at the moment.
;It writes the aborting text in the header at the top.
pre_FINISH:
Function End
The fixed version:
Function abortToFINISH
strcpy $R8 "cancelled"
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "settings" "cancelenabled" "0"
call relgotopage
strcpy $R9 "cancelled"
abort
FunctionEnd
Function preFINISH
strcmp $R8 "cancelled" 0 pre_FINISH
;I can't remember this code at the moment.
;It writes the aborting text in the header at the top.
pre_FINISH:
Function End
This code uses a diferent variable for telling the installer it has cancelled. And it is changed to cancelled FIRST before any other command. Now it should abort properly on every page (including installoptions pages).

I will put the fixed version on the forum in the next day or two.

I couldn't find the feature request forum (or thread) so I will post it here. I would like to see an adaption of the experienceUI abort to finish code developed into the Modern UI. This might be a job for Joost Verburg (if it gets the go ahead or if it is a plain en oh ('no' for people who couldn't work that out)). That would be very nice.


you can post requests on the project page. a link on the nsis website would be useful (i couldn't find it in a quick attempt)


Uploaded fixed version and added language strings.

-Stu


The reason why I put this line
(!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "settings" "cancelenabled" "0")
in the "abortToFINISH" function is because the cancel button is still enabled after aborting on certain pages. So I put this code in to disable it.


I will upload my version of the abort to finish anyway for people to look at.


I still think you should take a look on this:

http://saivertweb.no-ip.com/nsis/NonObligatoricPages.7z

It demonstrates some neat tricks with skipping of pages and using the SendMessage 0x408 trick.


Ok, will do.

In this reply I have uploaded the Hangman program that I said I might post. This installation program demonstrates some cool features to make it look fancy and big company like.

Here you go (the 7z file is only 70KB! The setup program is 90KB and the installed size is 2.5MB! Talk about compression! :D):


Originally posted by JasonFriday13
I will upload my version of the abort to finish anyway for people to look at.
I never noticed that, but thanks I've added it.

-Stu

OK, I better put it out into the world: I have advanced to using 2.07. Yees, it is a bit ironic because of one of my first posts in this thread.

I would also like to know where I can download the ms toolkit for wind0ws me. I downloaded ms toolkit 2003 and found out it needed wind0ws XP. Can anyone provide a link?


NSIS v2.07 should be much easier to work with as long as you did a clean install. THe improved directory structure makes things so much easier. And not having the source files in there is also a bliss. I hate mixing source files with binary files (even if they are in a source subdirectory). Source files should be put in peoples "dev" folder away from program folders. And making installers that install plug-ins for NSIS should now also be easy as you can drop the docs in the docs and the examples in the example dir. Heck, a 7z or zip with the appropraite directory structure can just be unzipped right in the NSIS folder.


The Hangman program above has a mistake in it. I have fixed it and will upload a new version with this post. :up:


And to Saivert: I have already tinkered around with the script you posted here. I have added some code to the example script. This is what it does: You can't install until the user has gone to the license page and agreed to the license (if you click back it still won't let you install). If you click next (and you have not visited and agreed to the license), a message box comes up with a big red cross and a message saying "You have not agreed to the license agreement yet!" This feature took just 15 minutes to make. :)

EDIT: I just thought of something during the week. I might plan to make an older In5tallShi3ld (spelling changed to prevent me being sued) UI for NSIS. When I installed Visual Studio 6 (PE), I noticed there was in5tallshi3ld for visual c++ 6 included with the install. I might learn just enough of the language so I can import all the pages to nsis (layout and font style). I compiled the example script in in5tallshi3ld and it actually initiallised quite quickly (5 secs max). I would like some help in making a ui. I might just use the modern UI's system.nsh macro system and possibly make a new exe for the ui (need big help on how to make one). If any one is interested, drop a brick (post a reply).


Nice.TO make a new UI Exe file (actually a resource only EXE file with only a simple code to gerate the preview when run) you can use Resource Hacker. Google it.


OK, I have a few questions.

1. When I try making a dll, the dll file produced always hovers at 200kb. I have already tried #define WIN32_LEAN_AND_MEAN and #define VC_EXTRALEAN to try and make the file smaller. Is there some setting I have missed to make it smaller?

2. Is the cancel button on the instfiles page going to work in the near future?

3. Is there going to be support for splitting the installer into chunks (like a 4 meg file into 1.4 meg chunks to fit on floppy disks - it dosen't really matter about this feature, I was going to use this feature for the new UI I am making. I will just use the percent completed data for this).

4. Is there any way to get the info off the instfiles page (percent of install completed, percent of file completed), or is there a custom function that is called (that I don't know about) for each command (I was going to use this info to update the custom instfiles dialog I am working on). If there is a command being called, I was going to use it to get the space left compared to the total capacity on the disk drive. I will upload a screenshot for this question in the next hour or so.

And also, I speak english not german (I presume it's german - from the screenshot).

Oh, and one more question (you might punch me in the face for this one): Is kichik really from Jerusalem, Israel?


I am getting very close to finishing the UI I am making.

I have also made a new name for it:
InstallSpider UI for NSIS.

I got the name from the original installshi3ld and I got the spider from the fanta bottle. It just sounded cool.

The UI .exe is the default.exe and I have modified it to work with my converted MUI macro system.

I might make a new thread for this UI once I have it finished. I will upload a Beta version soon. I will also add a changelog file showing the few new macros I have added to make things slightly easier.

I will upload some screenshots once my unnessesarly huge dll is finished. Maybe I could get one of you other developers to compile it for me since the C++ 6.0 pro edition I have compiles it to more than 200KB :mad:.

Cheers


I am going to have another crack at doing an abort to finish header file. I have thought of different ways of doing it. It will probably be ready by monday (it may still be impossible). This will probably be for the classic interface only because I can use the page callbacks unlike the MUI. I might look at the MUI and fiddle around there with the system.nsh.


*sorry re-opening old topic*

I couldn't find the feature request forum (or thread) so I will post it here. I would like to see an adaption of the experienceUI abort to finish code developed into the Modern UI.
Can do. I noted that the Modern UI has a hidden $MUI_NOARBORTWARNING var...that's what I was looking for. Will try and finish it in the next few days here.

-dandaman32

Done ;)

See: http://forums.winamp.com/showthread.php?postid=1804639 for more information

-dandaman32