MSFN Forum: A couple of questions about XPLode - MSFN Forum

Jump to content


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

A couple of questions about XPLode ... newbie questions... Rate Topic: -----

#1 User is offline   sandman_qc 

  • Junior
  • Pip
  • Group: Members
  • Posts: 66
  • Joined: 09-October 03

Posted 19 February 2004 - 06:55 PM

First of, I would like to say that this tool is very impressive. Great work! But since I'm a newbie when it comes to those things I have a few questions.

Btw, my XP Install CD is pre-SP2 and I also used Gosh reducing size method. I tried editing the .xml file to fit what I wanted, meaning I removed a couple of things, like the "add users" and "registry" functions. What I want to do is use XPLode to install only the hotfixes, via Runonce... But when I tried it, EVERYTHING was copy over D:

I did read the quick tutorial on how to install from the CD but I don't quite understand it. How can I edit the .xml to install the hotfixes from the CD (or just copy the needed files)? I figure I have to edit the Copying Post-Installation Files part, but I'm not sure.

Also, is it safe to remove the following string if I don't use the "add users" function:

 <strings>
  	<!-- main XPlode string -->
  	<title>Post-Install Configuration</title>
  	<complete>complete</complete>
  	<!-- adduser plugin strings -->
  	<adduser>Adding user #1#</adduser>
  	<addusertogroup>Adding user #1# to group #2#</addusertogroup>
  	<addgroup>Adding group #1#</addgroup>    
  	<!-- file/dir ops plugin strings -->
  	<copy>Copying #1# (#2#/#3# - #4#)</copy>
  	<move>Moving #1# (#2#/#3# - #4#)</move>
  	<delete>Deleting #1# (#3#)</delete>
  </strings>


That's about it... Thx!


#2 User is offline   Wraith 

  • Dr. Nick
  • PipPipPipPipPipPip
  • Group: Members
  • Posts: 1,256
  • Joined: 01-January 04

Posted 19 February 2004 - 07:04 PM

Yep, you only need the strings for the plugins that you're using.

So if you're not adding users, etc., you don't need the add user strings, not copying files, don't need the other three.

The only ones that you would be advised to use are title and complete.


As for the hotfixes and whatnot, your'e going to have to elaborate. WHere are you installing from? Are you using the $OEM$ method to copy the files across, or are you trying to install from the CD?

Try and be as descriptive as is possible, it helps :)

#3 User is offline   Alanoll 

  • CODE tags people, CODE tags!
  • Group: Patrons
  • Posts: 5,496
  • Joined: 25-September 03

Posted 19 February 2004 - 08:29 PM

my guess is that he left in the line from you (Wraith) that copies over files to the hdd.

if so, you can just remove that line to prevent the copying

#4 User is offline   Wraith 

  • Dr. Nick
  • PipPipPipPipPipPip
  • Group: Members
  • Posts: 1,256
  • Joined: 01-January 04

Posted 19 February 2004 - 08:37 PM

I figured as much. But self-help is usually best, they learn something at the same time. *shrugs*

#5 User is offline   sandman_qc 

  • Junior
  • Pip
  • Group: Members
  • Posts: 66
  • Joined: 09-October 03

Posted 19 February 2004 - 09:08 PM

Yep! I'm using the $OEM$ way. My hotfixes are in 3 separate folders (Hotfxes1-3) wich are in the Install folder.

Goes like this:

XPCD --> $OEM$ --> $1 --> Install --> Hotfixes1
XPCD --> $OEM$ --> $1 --> Install --> Hotfixes2
XPCD --> $OEM$ --> $1 --> Install --> Hotfixes3

Btw, thx for the reply... :)

#6 User is offline   Wraith 

  • Dr. Nick
  • PipPipPipPipPipPip
  • Group: Members
  • Posts: 1,256
  • Joined: 01-January 04

Posted 19 February 2004 - 09:52 PM

You're going to have to manually go through and add <execute> tags for each and every hotfix, with the required arguments.

Program should be program='%SYSTEMDRIVE%\Install\HotfixesX\QXXXXXX.exe', and arguments being the appropriate one for that hotfix.

There's no simple "drop files in these folders and it'll do them all" feature.

Read the documentation on the <execute> tag syntax for an example.

#7 User is offline   Shotgun 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 462
  • Joined: 07-November 03

Posted 19 February 2004 - 11:13 PM

Wraith, on Feb 19 2004, 11:52 PM, said:

There's no simple "drop files in these folders and it'll do them all" feature.

Mmmmm.... sounds like something a plugin could do!

Let me study the SDK a little more...

#8 User is offline   sandman_qc 

  • Junior
  • Pip
  • Group: Members
  • Posts: 66
  • Joined: 09-October 03

Posted 20 February 2004 - 08:32 AM

Wraith, on Feb 19 2004, 09:52 PM, said:

You're going to have to manually go through and add <execute> tags for each and every hotfix, with the required arguments.

Program should be program='%SYSTEMDRIVE%\Install\HotfixesX\QXXXXXX.exe', and arguments being the appropriate one for that hotfix.

There's no simple "drop files in these folders and it'll do them all" feature.

Read the documentation on the <execute> tag syntax for an example.

Ok! Think I got it. Like this?

<item>
    ...
    <execute
        display='Installing 888888...'
        program='%SYSTEMDRIVE%\Install\Hotfixes1\Q888888.exe'
        arguments='/Q:A /R:N' 
        nowait='true'
        hide='true'
    />
    <execute
        display='Installing 999999...'
        program='%SYSTEMDRIVE%\Install\Hotfixes2\Q9999999.exe'
        arguments='/Q:A /R:N' 
        nowait='true'
        hide='true'
    />
    ...
</item>


#9 User is offline   obiwantuxedo 

  • Group: Members
  • Posts: 5
  • Joined: 17-February 04

Posted 20 February 2004 - 01:17 PM

I am working on a KiXtart script that will create the XML file for you. What I have planned is to separate the Hotfixes based on the arguments, similar to above. I am testing it now and it is working fairly well. I will post it later when I fix a few small issues.

Thanks for XPlode...I have found it very useful when build our W2k machines that won't connect to our RIS server. I will soon be adding XPlode to our RIS image to handle our AV and Novell client installs.

#10 User is offline   obiwantuxedo 

  • Group: Members
  • Posts: 5
  • Joined: 17-February 04

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.

#11 User is offline   Wraith 

  • Dr. Nick
  • PipPipPipPipPipPip
  • Group: Members
  • Posts: 1,256
  • Joined: 01-January 04

Posted 20 February 2004 - 02:44 PM

Good to hear someone using it for something other than a CD-based install :)

When you do, can I get you to confirm any problems with paths on the network? All of that code is completely untested, so it would be a great help :rolleyes:

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

2 User(s) are reading this topic
0 members, 2 guests, 0 anonymous users



All trademarks mentioned on this page are the property of their respective owners
Copyright © 2001 - 2013 msfn.org
Privacy Policy