Go Back   Winamp Forums > Developer Center > NSIS Discussion

Reply
Thread Tools Search this Thread Display Modes
Old 14th October 2001, 19:27   #1
phre0n
Junior Member
 
Join Date: Oct 2001
Posts: 6
Question Net Based?

Ok bare with me.

Is there anyway or is there ever going to be a way to do web based install.

Example
create the installer with some sort or ftp command built in.

I would like it to connect to my server with an already set name and passwrd then copy all the contents of the folder and maby know if there is anything new in the folder.

I am not that great with c\c++. Or I would add it myself if it doesn't already exist.

But I think that would be a great feature.

Another good one would be passwrd required for install like a registration number.

Thank you for baring with me.

Please reply with anything that would help including how to add the source code my self to make the thing do what I would like.

phre0n
http://linux.ppp0.com <-Curently down
phre0n is offline   Reply With Quote
Old 14th October 2001, 21:43   #2
DuaneJeffers
Major Dude
 
DuaneJeffers's Avatar
 
Join Date: May 2001
Location: Winter Park, FL
Posts: 1,776
I wanted to create something like this, with an IDE, and it would be able to have "live updating" or patch updating. But Who knows.


-Duane

Website

Yeah, that's pretty much it. :-\
DuaneJeffers is offline   Reply With Quote
Old 14th October 2001, 23:26   #3
prodangle
Major Dude
 
prodangle's Avatar
 
Join Date: Nov 2000
Location: Scotland
Posts: 718
Edgewize has made something which helps do the job. It's at http://scorpius.spaceports.com/~edgewize/

It's impossible to do version checks on dlls on the web without downloading them first (so you can't only download DLL's if neccessary) - but if that's not what you'll be using it for then i'd say it's tip top.
prodangle is offline   Reply With Quote
Old 14th October 2001, 23:43   #4
phre0n
Junior Member
 
Join Date: Oct 2001
Posts: 6
That should work but I think i will modify it some.

One more how do you force a reboot.
i tried C:\windows\rundll.exe user.exe,exitwindowsexec doesn't work in ME
C:\windows\rundll.exe user.exe,exitwindows does shut it down but not what i want

thanks for the help.
phre0n is offline   Reply With Quote
Old 15th October 2001, 17:42   #5
pjw62
Senior Member
 
Join Date: Aug 2001
Posts: 108
You could have the program check the last modified stamp in the HTTP header when downloading.. or download a preliminary text file with the version numbers in. I personally hate installers like 'Wise' that you download once and then have to connect to the internet to download the install files. It is extrememly frustrating when the internet is unavailable at later times for whatever reason.
pjw62 is offline   Reply With Quote
Old 15th October 2001, 17:58   #6
prodangle
Major Dude
 
prodangle's Avatar
 
Join Date: Nov 2000
Location: Scotland
Posts: 718
Quote:
Originally posted by pjw62
You could have the program check the last modified stamp in the HTTP header when downloading.. or download a preliminary text file with the version numbers in. I personally hate installers like 'Wise' that you download once and then have to connect to the internet to download the install files. It is extrememly frustrating when the internet is unavailable at later times for whatever reason.
It would need to get the version number of the component, as the last modified stamp doesn't really mean anything. According to Edgewize it's damn difficult to compare the version number of DLL's on your system to numbers specified in a script (saying which DLLs should be there, and downloading if neccessary) so that's why his component doesn't do it.

If this could be made to work, downloading only the parts of programs the user hasn't already got could save most folks a lot of download time though.
prodangle is offline   Reply With Quote
Old 15th October 2001, 18:11   #7
phre0n
Junior Member
 
Join Date: Oct 2001
Posts: 6
That is the effect I am going for. Just to get the newer parts to something they may already have. I made one that used the reading and writing of ini files. I made an ini in the folder and put the version numbers and downloads they may need in it. Then had it get the ini first then compare to the one they already have. Then download it if it was different. My NSI is a cluster f*ck that way but it seems to be doing fine. Thanks for all the help. But I still can't figure how to force a reboot.

Also has anyone thought of making NSIS cross platform that would be nice for linux users like myself.
phre0n is offline   Reply With Quote
Old 15th October 2001, 18:13   #8
pjw62
Senior Member
 
Join Date: Aug 2001
Posts: 108
well ermm, what about writing a PERL/PHP/C proggy that the user can install on their webserver that returns the version of a given dll ? (From the version section of the pe).

it was only a suggestion
pjw62 is offline   Reply With Quote
Old 15th October 2001, 18:23   #9
Pomflain
Member
 
Pomflain's Avatar
 
Join Date: Aug 2001
Posts: 83
Will it do the following?

Does it allow you to do an easy check for the file and then give you the option to update? For example, when you run the installer, it will check the specified URL for a filename and then return the filesize and timestamp so you can comare it to the current installer. Something like that, then you can inform the user about the new version if it is detected.

If not does anyone have some scripting that will do that? I think it would be kind of cool.
Pomflain is offline   Reply With Quote
Old 16th October 2001, 19:48   #10
liquidmotion
Smokes Two Joints
Beta Team
 
liquidmotion's Avatar
 
Join Date: Feb 2001
Location: SFBA
Posts: 3,680
Send a message via ICQ to liquidmotion
you can always have the installer download a .txt file with the dll versions in it, check the file, then download if necessary.

bye,

For a good time: shup | stashbox | my homepage
liquidmotion is offline   Reply With Quote
Old 17th October 2001, 22:21   #11
Pomflain
Member
 
Pomflain's Avatar
 
Join Date: Aug 2001
Posts: 83
There's no dll versions...

I want to be able to check a file on the site, the actual installer itself.
Pomflain is offline   Reply With Quote
Old 17th October 2001, 22:28   #12
phre0n
Junior Member
 
Join Date: Oct 2001
Posts: 6
That is what i had to do with the ini file.
make an ini that goes with the program.
make it look something like this

[program_name]
version=1.1

then make a section called update.
have it down load the ini
compare version's string with the ini that is already with it.
if diferent have it download
there you have it.

if some one really wants i am good with perl i will right a script to check dll versions and have it where you could run it via cgi.

thanks
phre0n

http://linux.ppp0.com <- Still down
phre0n is offline   Reply With Quote
Old 18th October 2001, 00:58   #13
prodangle
Major Dude
 
prodangle's Avatar
 
Join Date: Nov 2000
Location: Scotland
Posts: 718
According to Edgewise, the problem comes with having NSIS compare a DLL version already on the user's system to a given number. Apparently it's easy to compare 2 DLLs on the system against each other, but not one against a version number. In his words (I'm sure he won't mind me posting this),
Quote:
Right now, there is no simple way to check DLL versions against a number or string that you would put in a script. The version-resource API was designed from the ground up to frustrate programmers, it seems, and its a little trickier than I'd like it to be. So the short answer for you is, no there's no way to do this now.
prodangle is offline   Reply With Quote
Old 18th October 2001, 07:11   #14
Edgewize
Member
 
Join Date: Apr 2001
Posts: 89
Hrm, I must correct myself here. What I was expressing before was a combination of frustrations with the Win32 API, Justin's EXEHEAD script parsing, and the CompareDLLVersions command. With the new numeric variables, this should be quite feasable.

But since Justin is on the upside of another manic NSIS swing, I'm leaving the code alone until he cools down a bit
Edgewize is offline   Reply With Quote
Old 18th October 2001, 07:37   #15
justin
Moderator Alumni
 
Join Date: Apr 2000
Location: USA
Posts: 315
Quote:
Originally posted by Edgewize
Hrm, I must correct myself here. What I was expressing before was a combination of frustrations with the Win32 API, Justin's EXEHEAD script parsing, and the CompareDLLVersions command. With the new numeric variables, this should be quite feasable.

But since Justin is on the upside of another manic NSIS swing, I'm leaving the code alone until he cools down a bit
Heh I am so obsessive. Here's what's coming in 1.60 (due this weekend):
  • Improved CopyFiles some (added /SILENT option)
  • Added FindFirst, FindNext, FindClose.
  • Added FileOpen, FileClose, FileSeek, FileRead, FileWrite (text file manipulation yay)
  • Improved GCC compatibility (using some of Nels' suggestions)
  • Made config.h options more granular.
  • Cleaned up lots of code.
  • Broke lots of code, I'm sure.

Right now with all features enabled, the exehead is exactly 36kb. Having the file i/o and directory scanning code is nice, too.
There will probably be more suprises as well.

-Justin
justin is offline   Reply With Quote
Old 18th October 2001, 07:48   #16
spanky
Senior Member
 
Join Date: May 2000
Posts: 295
Send a message via ICQ to spanky
ahem. not to sound gay or anything but..
Justin, I love you.

all work and no play makes jack a dull boy
spanky is offline   Reply With Quote
Old 18th October 2001, 08:04   #17
prodangle
Major Dude
 
prodangle's Avatar
 
Join Date: Nov 2000
Location: Scotland
Posts: 718
Quote:
What I was expressing before was a combination of frustrations with the Win32 API, Justin's EXEHEAD script parsing, and the CompareDLLVersions command. With the new numeric variables, this should be quite feasable.

But since Justin is on the upside of another manic NSIS swing, I'm leaving the code alone until he cools down a bit
Oh... sorry folks
prodangle is offline   Reply With Quote
Old 18th October 2001, 22:31   #18
phre0n
Junior Member
 
Join Date: Oct 2001
Posts: 6
I am looking forward to the text file manipulation that will be nice. And help a bunch in my work. keep up the good work justin.

thanks,
Michael Garcia

http://linux.ppp0.com <-- Damn thing is still down.
phre0n is offline   Reply With Quote
Old 19th October 2001, 20:07   #19
Someonebutnotme
Guest
 
Posts: n/a
heh, Justin's on a role with nsis updates again. its nice.
  Reply With Quote
Old 20th October 2001, 14:54   #20
prodangle
Major Dude
 
prodangle's Avatar
 
Join Date: Nov 2000
Location: Scotland
Posts: 718
Now this looks exciting:

from NSIS 1.60 beta whatsnew-
...
Added FileOpen, FileClose, FileSeek, FileRead, FileWrite (text file manipulation yay)
...
Removed CompareDLLVersions, CompareFileTimes, added GetDLLVersion, GetFileTime, GetDLLVersionLocal, GetFileTimeLocal, and IntCmpU.
...
prodangle is offline   Reply With Quote
Old 20th October 2001, 20:39   #21
Edgewize
Member
 
Join Date: Apr 2001
Posts: 89
Edgewize

Well that solves the DLL version-test problem for good, I think

GetDLLVersion on the downloaded file, GetDLLVersion on the Windows\System file, compare with IntCmpU, and replace as necessary.

I like the direction NSIS scripting is headed
Edgewize is offline   Reply With Quote
Reply
Go Back   Winamp Forums > Developer Center > NSIS Discussion

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump