Jump to content

Xplode from CD


BritishBulldog

Recommended Posts


Ok its nothing spectacular but it works.

because XPlode.xml does not understand %CDROM% there had to be a way of getting this info before XPlode.exe started.

my DVD was built up as below in the picture, all my programs are in an install directory direct on the root and not in %OEM% so they dont get copied the the hard drive.

The main problem is getting the %CDROM%, so out of my cmdlines.txt i call up a findcd.cmd before XPlode is started.

cmdlines.txt

[COMMANDS]
"konten.cmd"
"findcd.cmd"
".\$1\Install\XPlode\XPlode.exe /xml:#Systemdrive#\Install\XPlode\XPlode.xml /log:#Systemdrive#\XPlode.log"

the findcd.cmd contains the routine to find the CD/DVD

findcd.cmd

cmdow @ /HID
@echo off

IF EXIST D:\CD.txt set CDROM=D
IF EXIST E:\CD.txt set CDROM=E
IF EXIST F:\CD.txt set CDROM=F
IF EXIST G:\CD.txt set CDROM=G
IF EXIST H:\CD.txt set CDROM=H
IF EXIST I:\CD.txt set CDROM=I
IF EXIST J:\CD.txt set CDROM=J
IF EXIST K:\CD.txt set CDROM=K
IF EXIST L:\CD.txt set CDROM=L
IF EXIST M:\CD.txt set CDROM=M
IF EXIST N:\CD.txt set CDROM=N
IF EXIST O:\CD.txt set CDROM=O
IF EXIST P:\CD.txt set CDROM=P
IF EXIST Q:\CD.txt set CDROM=Q
IF EXIST R:\CD.txt set CDROM=R
IF EXIST S:\CD.txt set CDROM=S
IF EXIST T:\CD.txt set CDROM=T
IF EXIST U:\CD.txt set CDROM=U
IF EXIST V:\CD.txt set CDROM=V
IF EXIST W:\CD.txt set CDROM=W
IF EXIST X:\CD.txt set CDROM=X
IF EXIST Y:\CD.txt set CDROM=Y
IF EXIST Z:\CD.txt set CDROM=Z


REGEDIT /S %CDROM%\install\CDROM\%CDROM%.reg

ok it can be shortened. when the CD drive is found then the coresponding .reg file is put into the registry through the last line.

so if the CD/DVD was at f: then F.reg would be loaded to the registry, if it was g: the g.reg is loaded.

I am sure there is another way of doing this without all the .reg files.

F.reg

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\HARDWARE\CD]
"CDROM"="F:"

G.reg

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\HARDWARE\CD]
"CDROM"="G:"

all that is needed now is that XPlode.xml calls up the value from the registry.

this is done before my first application is installed, the routine is below called Preparing CD ROM.

- <item display="Preparing CD ROM">
 <registry display="Reading CDROM" method="read" hive="HKLM" key="Hardware" item="CD" variable="CDROM" />
 </item>

So now instead of having everything copied to the hard drive they will install from the CD/DVD saving time.

my XPlode.xml is below, it is not finished I am still having problems with the 'filecopy' and 'dircopy' so if any of you can give me tips they are appreciated.

MS Office , Paintshop and WinAmp dont work at the moment but the others all do. :)

post-86-1098022283_thumb.jpg

Link to comment
Share on other sites

  • 3 weeks later...

What does #sourcepath# do then? Could someone explain to a newb?

BTW, maybe somone can explain what the difference is between % and #.

Sometimes when I look at Xplode.xml I see %systemdrive% and sometimes #systemdrive#. Does both work?

Link to comment
Share on other sites

# was added because certain variables (%XPLODE%, %SOURCEPATH%) are handled by the commandline, rather than XPLode, depending on how you call them.

On the command line, these would be set to a blank string, so it screws s*** up.

Using # works fine there....

In the XML, both are interchangeable.

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