Jump to content

Modular Auto Installer


taemun

Recommended Posts

Sorry people, I haven't made it (programming expertise isn't exactly marvellous here).

My thoughts: at the moment there are a lot of different methods for unattended installation of programs:

  • the rather cludgy batch file method
  • the XPLode method (purdy :D)
  • the RunOnceEX method
  • eagle00789's "easy method for RunOnceEX"

I would like to propose a new, simpler (IMHO) method of autoinstallation. Lets say that you have X:\$OEM$\$1\Install\*installation files*

Currently for me, that entails:

C:\WXPVOL_EN\$OEM$\$1\Install>dir /b
CC4202
DC4032
DT346
F70190
FB083
FF093
FG16
GS221
JAVA2142
MIRC616
MSN62
MT52
OOD6
P054
QT651
SAV9
WD6
WI61
WMP9
WR33
X101

Just shortened names for each program, one program to each folder. Inside each folder have a setup.bat which is a plain batch file that installs that program. What I would suggest is an automated installer that doesn't actually have a direct 'config' file, rather that you point it at the root of the 'installation folders' and then it goes through each folder, and runs setup.bat in each case. Obvious ways to extend this: description.txt, containing a program title, a brief description, and perhaps a variable to say whether this item should be autoinstalled.

description.txt:

<title>program title</title>

<description>really cool program that makes fractals</description>

<other_field>BLAHBLAH</other_field>

Hmpf, after look at what i just wrote, looks like xml :angry:....i'm not really keeping up with the times, text files are just simpler :)

I came about thinking in this way after I found they way that I way making the installation packages (generally repackaging in RAR or 7z, and working out the switches, and registry entries required). I found it easier to dump each nescesary step (uncompress, run setup with switches, add registry entries, delete uncompressed installation, keeping the original installation files) into a small batch file, and then compile (loose use of the term ;)) all of the setup.bat's into a single XPLode xml file, or perhaps RunOnceEX. (both look purdy, tho XPLode is nicer).

Some people will probably revile at the thought of having to make ~20 setup.bat files (and the text files), but i would see this as a more accessible and sensible method of organising autoinstallation information.

Reinventing the wheel is ok, as long as the new one is better. Or is this a useless reinvention? Thoughts?

P.S. A quick question: why is it that XPLode hasn't found widespread use?

EDIT: Just read sleepnmojo's method in eagle00789's thread.....sounds similar......hehe

Link to comment
Share on other sites


if youre gonna create all these start.bat in each folder, could you just use a for command to put it in runonceex? I believe you can...im gonna look at for and see if I can come up with a way...the biggest problem is going to be how to count in for, because you cant use runonceex if they all get put in the first key...so ill check it out.

After rereading what you wrote, it sounds a lot like barts modboot design...why not take a look at that and translate it for what you want it to do...www.nu2.nu

Link to comment
Share on other sites

Are you talking about a small batch script that says (bluntly):

set i = 0
SET KEY=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
For each directory:
  i++
  REG ADD %KEY%\<i> /VE /D "<title>" /f
  REG ADD %KEY%\<i> /V 1 /D "%systemdrive%\<path>\<folder>\start.bat" /f
Loop

Cos that might work. This way, you could probably implement the same idea in the xml base required for XPLode (which looks better!), usuing the same basic stucture. (as above, in post #1)

EDIT: yeah i just went to see Bart's ModBoot, it looks somewhat like that yeah. Perhaps a different method would be to have a multitude of archives, called <short_title>.7z , in X:\$OEM$\$1\Install\, instead of having the folders. This way you say for each file, uncompress to C:\Install\<short_title>\*.* and inside that have setup.bat. NTFS, I know, supports "file streams", these could be used to get a <short_title>.7z:title=<title>, <short_title>.7z:description=<description> sorta thing going. (the standard syntax for streams is filename.ext:stream=data)

Learn about streams here, and here.

Unfortunatly, AFAIK, CDFS's (ISO, UDF) do not support streams. Please gimme a yell if you think they do!

So perhaps <short_title>.txt holds the nescesary information (<title> and <description>). Or perhaps <short_title>.title and <short_title>.description. Hmm the latter seems a bit better (easier from a scripting perspective, but 'chunkier').

Link to comment
Share on other sites

thats what im thinking...but no idea how to get for to count...and using set i=1 wouldnt work with for because for will run its command on everything without stopping, so again, everything would get put into the first key...

Link to comment
Share on other sites

This is pretty modular, least amount of maintenance when you change things.

http://www.msfn.org/board/index.php?showtopic=25929

I'm sure you could modify it to work for your needs (take out the ftp etc). Then you could use READINI_NT.CMD to read an INI with the description & what not. I know it's still a batch file, but I prefer em.

ReadINI_NT.CMD

http://www.robvanderwoude.com/files/readini_nt.txt

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...