Archive: Net Based?


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


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


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.


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.


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.


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.

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.


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 :)


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.


you can always have the installer download a .txt file with the dll versions in it, check the file, then download if necessary.

bye,


There's no dll versions...
I want to be able to check a file on the site, the actual installer itself.


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


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),

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.

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 ;)


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):

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

ahem. not to sound gay or anything but..
Justin, I love you.


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 :D :D

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.


heh, Justin's on a role with nsis updates again. its nice.


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.
...


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 :D