- NSIS Discussion
- Announcement: New branch of NSIS, NSIS(lch), with new functionality!
Archive: Announcement: New branch of NSIS, NSIS(lch), with new functionality!
ExoticMandibles
18th September 2001 09:05 UTC
Announcement: New branch of NSIS, NSIS(lch), with new functionality!
NSIS(lch) is a variant of the NSIS installer we all know and love. I've hacked in a bunch of new functionality for a project I needed, and because my bosses are swell guys, I've made the changes available to you!
Frequently Asked Questions about NSIS(lch):
(Or, questions that would be frequently asked, if anyone cared.)
What's different about NSIS(lch)?
There are a total of ten new script elements.
Two new "attributes": BrandingText and ReserveFreeSpace.
Three new callback functions: .onExit, .onInsufficientSpaceInstDir, and .onSufficientSpaceInstDir.
And five new functions: BroadcastMessage, CallExtensionDll, DebugBreak, ExitWindows, and SetDialogText.
I put the full documentation up here:
http://www.midwinter.com/~funkster/nsislch.html
Of course, it's also included in the installer.
What license is NSIS(lch) released under?
It's licensed under the same license as the original NSIS (the zlib license); however, since I did the work on it on company time, my bosses wanted to retain ownership, so there was a one-line addition to the license to reflect this.
Where can I get technical support for NSIS(lch)?
Ha ha ha! Oh, you kill me. Seriously, post a message on this here Winamp message board, and I (or somebody else) will probably be able to help.
Where can I get this incredible new thingy, whatever it is? It sounds exciting!
You bet!
http://www.midwinter.com/~funkster/nsislch144.exe
:D
Seriously, please post here if you find this useful, or whatever. I'm interested in whether or not anybody uses this.
Bon appetit,
larry
DuaneJeffers
18th September 2001 10:00 UTC
Great, I'm downloadin' now to see what it is like. I hope it is good.
-Duane
DuaneJeffers
18th September 2001 10:12 UTC
Now, after formally downloading it, I have a few questions.
1) I see a DLL file, What is that???
2) I don't understand the BroadcastMessage tag, what does it do (with out using Programming terms)???
3) What does LCH mean???
There will be a few more questions when I really get to use the program. But for now, it sounds good.
-Duane
ExoticMandibles
18th September 2001 10:19 UTC
1) If you're talking about extdemo.dll, that's a sample "extension DLL" for use with the new CallExtensionDLL function. It's used in the examplelch.nsi sample NSI script. C programmers can now write DLLs to add new functions to NSIS, without having to hack up the NSIS source.
2) Explaining the BroadcastMessage function without using programming terms... ain't gonna happen. Don't sweat it, like I said in the documentation, it's not particularly useful for most folks.
3) L C H are my initials.
larry
prodangle
18th September 2001 17:15 UTC
Im downloading it now - thanks much ;)
prodangle
18th September 2001 17:41 UTC
lookin lovely - but the one feature I liked about the Yaga installer was the I agree checkbox. Do you plan to release something that'll let us all use that (or even could you...) if it's difficult making it optional, Id love it even more if it was the only way (although I dont know how others might feel about that :D :D :D )
thanks a lot for releasing what you have anyway
dTomoyo
25th September 2001 07:22 UTC
:( I can't download it.
DNS error... (at South Korea. Bora.net )
show me the mirror link.
plz...
:)
Someonebutnotme
4th October 2001 18:19 UTC
my bosses wanted to retain ownership, so there was a one-line addition to the license to reflect this
Isn't that against the original license agreement?
CraigF
5th October 2001 00:35 UTC
possibly.
I assume that as the original program is owned by nullsoft, and no agreement has taken place to transfer ownership of said software, then they cannot retain any ownership rights, as they had none in the first place.
Of course, im not one on the legalities of this such stuff.
ExoticMandibles
5th October 2001 00:51 UTC
The change to the license is simply the insertion of this line below the existing copyright notice:
Modifications Copyright 2001 Yaga, Inc.
or words to that effect. I don't have it handy. Anyway, I ran it past our lawyer, and he said it was appropriate and legal and all.
Why sweat it? It's still the zlib license, and you can do with the software whatever you like.
BTW, I know,
http://www.midwinter.com is down right now (actually it's up, it's just inaccessible due to a routing scroo-up); I'll get my variant put up somewhere else eventually.
larry
DuaneJeffers
5th October 2001 05:13 UTC
Are you gonna port the newest version to lch???
ExoticMandibles
5th October 2001 07:45 UTC
There are exactly two changes from NSIS 1.44 to NSIS 1.45:
- Made exehead explicitly call InitCommonControls() for potential XP bugfix.
- Fixed bug when you hit back and the OK button is disabled.
I already found (and fixed) the second one, and the first one is apparently only a "potential" bugfix. But yeah, what the hey, I'll incorporate that fix and kick out a new release in a week or two.
larry
Repzilon
6th October 2001 14:39 UTC
ExoticMandibles, the InitCommonControls change is just adding #include <commctrl.h> in declarations of exehead\main.c and InitCommonControls(); just after declarations of WinMain function of main.c .
But, NSIS 1.50 released and I will have to update my source code too (based on Edgewize, updated to match 1.45).
ExoticMandibles
11th October 2001 09:25 UTC
Since you posted, we got 1.50, and then in quick succession 1.51 - 1.55. I think I'm gonna wait until it's been at lest, oh, two days since a new release before I do my Big Hairy Merge. Besides, the machine I'd post it on has no chance of coming back online 'til next week anyway...
larry
DuaneJeffers
11th October 2001 21:38 UTC
Once you do your "Big Hairy Merge", Submit it to the NSIS Project House ( I'm the admin :D ). You can read more about it in the thread titled "NSIS Project House Coming Soon..." .
-Duane
P.s. I have to work on the PHP/MySQL Scripting :eek:
ExoticMandibles
12th October 2001 10:20 UTC
Updated to 1.55
I've sync'd up my branch of NSIS to version 1.55. Here's the list of changes from 1.44(lch):
- Removed RequireFreeSpace attribute, as it has been superceded by NSIS's excellent AddSize function.
- Added LicenseExplicitAgree and LicenseAgreeText attributes.
- Added NoSleep attribute/function.
Since the
www.midwinter.com web server is still down, I've put it up on my personal web server at home. Be kind to my poor DSL line! :) The URL is:
http://www.funkopolis.com:8080/~lch/nsislch155.exe
(You can thank Pacific Bell DSL for that :8080 crap. They've blocked everybody's port 80 following the recent Nimda / CodeRed worms, sigh.)
Oh, and DuaneJeffers: You'll be happy to know that 1.55(lch) has the checkbox for the license agreement. Please feel free to put it on yer
Der NSIS Projekt Haus web page thingy.
larry
DuaneJeffers
13th October 2001 02:14 UTC
Do you have a SourceForge Unix (login) Name??? I can add you to the project.
-Duane
DuaneJeffers
13th October 2001 17:05 UTC
I have added NSIS(lch) v. 1.55 to the following page
http://sourceforge.net/projects/nsisphouse .
-Duane
prodangle
15th October 2001 01:03 UTC
Re: Updated to 1.55
Originally posted by ExoticMandibles
I've sync'd up my branch of NSIS to version 1.55. ......
The uninstaller in NSISlch1.55 doesn't seem to work (or at least not on my either my win95, or WinXP system)
Scripts compile fine, as with NSIS 1.55 and 1.57 (official) but when I compile with NSISlch the Uninstaller always crashes with Unhandled exception in blah.exe: 0xC0000005: Access Violation as soon as I run it
I've tried commenting out differant sections of the uninstaller, but I can't narrow it down to a certain command that stops it from working. Can anyone else confirm the Uninstaller NSISlch155 creates doesn't work, or am I just missing something?
ExoticMandibles
15th October 2001 11:32 UTC
Sorry to hear it. I haven't seen it go by.
Could you make a tiny test case and send it to me / post it here? My email address is larry at hastings dot org.
larry
ExoticMandibles
15th October 2001 15:37 UTC
By the way: another user sent me email directly pointing out that the examplelch.nsi installer crashes immediately with 1.55(lch). That's because I included an older version of extdemo.cpp, which used a prototype extension DLL interface (which was radically different), and that was the version I built extdemo.dll from.
This is fixed, along with the (minor) bug of specifying the now-no-longer-defined ReserveFreeSpace. I was lazy and didn't create a new file, I just called it the same thing: http://www.funkopolis.com:8080/~lch/nsislch155.exe
If you care about extdemo.dll or examplelch.nsi, you should grab a fresh copy. Apart from that, the distribution is the same, and by not downloading a second copy you spare my poor DSL line :)
Enjoy,
larry
prodangle
15th October 2001 17:15 UTC
I've zipped up the files+script, and a copy of the installer created on my machine. It's at http://septor.screaming.net/massive_...5_testcase.zip if you want to take a look. (It's not that massive, only 223k :) )
Also, I should mention, I haven't tested it with NSIS155 (I thought I had, but I've only got 154, 156 and 157 here). The uninstaller created does work when created by NSIS154, 156 or 157 though.
Thanks a lot.
calum
ExoticMandibles
15th October 2001 18:34 UTC
Fixed it! And, it turns out, the uninstall was broken for everybody. Sigh. Sorry about that.
Once again, in my neglectful slacker ways, I just cut a new installer with the same name and all:
http://www.funkopolis.com:8080/~lch/nsislch155.exe
You can tell the difference, as this one is 1,233,774 bytes, was released today (Oct 15), and doesn't crash 100% of the time in the uninstaller.
For the record: it was my bug, in the quickly-hacked-together
SleepBetweenStatements code. When installing, it needs to look in the
install header; when
uninstalling it needs to look in the
uninstall header, as the install header is invalid. My previous code always looked in the install header, and that's why it crashed.
Sheepishly,
larry
prodangle
15th October 2001 19:05 UTC
Brilliant - works beautifully now. Thanks :p