Posted 20 February 2004 - 01:50 PM
Here is the code I have so far for automatically generating the XML file. You need KiXtart to run it...
;*******************************************************************
Break on
? Color G+/N 'Scanning building XPlode XML file...'
$ = Open (1,'f:\XPLODE-2k\XPlode.xml',5)
$ = WriteLine (1, "<XPlode>" + @CRLF)
$ = WriteLine (1, " <plugins>" + @CRLF)
$ = WriteLine (1, " <!-- the list of plugins to load -->" + @CRLF)
$ = WriteLine (1, " <plugin>#XPLODE#\XPlodeAdduser.xpd</plugin>" + @CRLF)
$ = WriteLine (1, " <plugin>#XPLODE#\XPlodeExecute.xpd</plugin>" + @CRLF)
$ = WriteLine (1, " <plugin>#XPLODE#\XPlodeFileOps.xpd</plugin>" + @CRLF)
$ = WriteLine (1, " <plugin>#XPLODE#\XPlodePluginBase.xpd</plugin>" + @CRLF)
$ = WriteLine (1, " <plugin>#XPLODE#\XPlodeRegistry.xpd</plugin>" + @CRLF)
$ = WriteLine (1, " </plugins>" + @CRLF + @CRLF)
$ = WriteLine (1, " <config>" + @CRLF)
$ = WriteLine (1, " <hidewindow>Windows Update</hidewindow>" + @CRLF)
$ = WriteLine (1, " <hidewindow>CMD.EXE</hidewindow>" + @CRLF)
$ = WriteLine (1, " <show total='6' after='2' />" + @CRLF)
$ = WriteLine (1, " <font face='Tahoma' antialias='true' Small='8' large='12' />" + @CRLF)
$ = WriteLine (1, " <window width='540' position='4' fixmain='1' />" + @CRLF)
$ = WriteLine (1, " <windowmode>Standalone</windowmode>" + @CRLF)
$ = WriteLine (1, " <colours>" + @CRLF)
$ = WriteLine (1, " <header back='#003399' fore='#FFFFFFFF' image='#XPLODE#\images\head.png' />" + @CRLF)
$ = WriteLine (1, " <footer back='#003399' fore='#FFFFFFFF' image='#XPLODE#\images\foot.png' />" + @CRLF)
$ = WriteLine (1, " <progress border='#FFFFFFFF' back='#00000000' fore='#FFFFFFFF' />" + @CRLF)
$ = WriteLine (1, " <main back='#4A6FD6' fore='#FFFFFFFF' current='#FF8000' description='#FFFFFF' image='#XPLODE#\images\main.png' overlay='#FFFFFF22'/>" + @CRLF)
$ = WriteLine (1, " </colours>" + @CRLF)
$ = WriteLine (1, " <strings>" + @CRLF)
$ = WriteLine (1, " <!-- main XPlode string -->" + @CRLF)
$ = WriteLine (1, " <title>Hotfix Installation</title>" + @CRLF)
$ = WriteLine (1, " </strings>" + @CRLF)
$ = WriteLine (1, " </config>" + @CRLF + @CRLF)
$ = WriteLine (1, " <items>" + @CRLF)
;************************************************************************
;Create IE 6 SP 1 structure
$ = WriteLine (1," <item display='Installing IE6 SP1'>" + @CRLF)
Shell "%comspec% /c dir /b F:\XPLODE-2k\IE6SP1\* > f:\XPLODE-2k\hotfixinst.txt"
$ = Open (2, 'f:\XPLODE-2k\hotfixinst.txt')
$File = ReadLine(2)
While @error = 0
If $File = 'ie6setup.exe'
$ = WriteLine (1, " <execute display='Installing " + $File +"...' program='#XPLODE#\IE6SP1\" + $File +"' arguments='' />" + @CRLF)
EndIf
$File = ReadLine(2)
Loop
$ = Close (2)
$ = WriteLine (1," </item>" + @CRLF +@CRLF)
;************************************************************************
;Create MSJAVA structure
$ = WriteLine (1," <item display='Installing MSJAVA'>" + @CRLF)
Shell "%comspec% /c dir /b F:\XPLODE-2k\msjava\* > f:\XPLODE-2k\hotfixinst.txt"
$ = Open (2, 'f:\XPLODE-2k\hotfixinst.txt')
$File = ReadLine(2)
While @error = 0
$ = WriteLine (1, " <execute display='Installing " + $File +"...' program='#XPLODE#\MSJAVA\" + $File +"' arguments='/c:"javatrig.exe /exe_install /l /qq" /q:a /r:n' />" + @CRLF)
$File = ReadLine(2)
Loop
$ = Close (2)
$ = WriteLine (1," </item>" + @CRLF +@CRLF)
;************************************************************************
;Create Type 1 structure
$ = WriteLine (1," <item display='Installing Type 1 Hotfixes'>" + @CRLF)
Shell "%comspec% /c dir /b F:\XPLODE-2k\TYPE1\* > f:\XPLODE-2k\hotfixinst.txt"
$ = Open (2, 'f:\XPLODE-2k\hotfixinst.txt')
$File = ReadLine(2)
While @error = 0
$ = WriteLine (1, " <execute display='Applying " + $File +"...' program='#XPLODE#\HFTYPE1\" + $File +"' arguments='-u -n -z' />" + @CRLF)
$File = ReadLine(2)
Loop
$ = Close (2)
$ = WriteLine (1," </item>" + @CRLF +@CRLF)
;************************************************************************
;Create Type 2 structure
$ = WriteLine (1," <item display='Installing Type 2 Hotfixes'>" + @CRLF)
Shell "%comspec% /c dir /b F:\XPLODE-2k\TYPE2\* > f:\XPLODE-2k\hotfixinst.txt"
$ = Open (2, 'f:\XPLODE-2k\hotfixinst.txt')
$File = ReadLine(2)
While @error = 0
$ = WriteLine (1, " <execute display='Applying " + $File +"...' program='#XPLODE#\HFTYPE2\" + $File +"' arguments='/Q /R:N' />" + @CRLF)
$File = ReadLine(2)
Loop
$ = Close (2)
$ = WriteLine (1," </item>" + @CRLF +@CRLF)
;************************************************************************
;Create Type 3 structure
$ = WriteLine (1," <item display='Installing Type 3 Hotfixes'>" + @CRLF)
Shell "%comspec% /c dir /b F:\XPLODE-2k\TYPE3\* > f:\XPLODE-2k\hotfixinst.txt"
$ = Open (2, 'f:\XPLODE-2k\hotfixinst.txt')
$File = ReadLine(2)
While @error = 0
$ = WriteLine (1, " <execute display='Applying " + $File +"...' program='#XPLODE#\HFTYPE3\" + $File +"' arguments='-u -n -z' />" + @CRLF)
$File = ReadLine(2)
Loop
$ = Close (2)
$ = WriteLine (1," </item>" + @CRLF +@CRLF)
;************************************************************************
;Create Type 4 structure
$ = WriteLine (1," <item display='Installing Type 4 Hotfixes'>" + @CRLF)
Shell "%comspec% /c dir /b F:\XPLODE-2k\TYPE4\* > f:\XPLODE-2k\hotfixinst.txt"
$ = Open (2, 'f:\XPLODE-2k\hotfixinst.txt')
$File = ReadLine(2)
While @error = 0
$ = WriteLine (1, " <execute display='Applying " + $File +"...' program='#XPLODE#\HFTYPE4\" + $File +"' arguments='-u -n -z' />" + @CRLF)
$File = ReadLine(2)
Loop
$ = Close (2)
$ = WriteLine (1," </item>" + @CRLF +@CRLF)
;************************************************************************
;Create Type 5 structure
$ = WriteLine (1," <item display='Installing Type 5 Hotfixes'>" + @CRLF)
Shell "%comspec% /c dir /b F:\XPLODE-2k\TYPE5\* > f:\XPLODE-2k\hotfixinst.txt"
$ = Open (2, 'f:\XPLODE-2k\hotfixinst.txt')
$File = ReadLine(2)
While @error = 0
$ = WriteLine (1, " <execute display='Applying " + $File +"...' program='#XPLODE#\HFTYPE5\" + $File +"' arguments='-u -n -z' />" + @CRLF)
$File = ReadLine(2)
Loop
$ = Close (2)
$ = WriteLine (1," </item>" + @CRLF +@CRLF)
;************************************************************************
;Create Clean Up structure
$ = WriteLine (1," <item display='Cleaning Up'>" + @CRLF)
Shell "%comspec% /c dir /b F:\XPLODE-2k\CLEANUP\* > f:\XPLODE-2k\hotfixinst.txt"
$ = Open (2, 'f:\XPLODE-2k\hotfixinst.txt')
$File = ReadLine(2)
While @error = 0
$ = WriteLine (1, " <execute display='Applying " + $File +"...' program='#XPLODE#\CLEANUP\" + $File +"' arguments='' />" + @CRLF)
$File = ReadLine(2)
Loop
$ = Close (2)
$ = WriteLine (1," </item>" + @CRLF)
;************************************************************************
;Closing XML file
$ = WriteLine (1," </items>" + @CRLF + "</XPlode>" + @CRLF)
$ = Close (1)
Del 'f:\XPLODE-2k\hotfixinst.txt'
? Color G+/N 'XPlode XML file created.'
?
? Color C+/N 'Executing XPlode to install Win2k patches.'
Run 'f:\XPLODE-2k\XPlode.exe'
Sleep 3
;*******************************************************************
I hope this helps.