Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account



Photo

A couple of questions about XPLode

- - - - -

  • Please log in to reply
10 replies to this topic

#1
sandman_qc

sandman_qc

    Junior

  • Member
  • Pip
  • 66 posts
  • Joined 09-October 03
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!


How to remove advertisement from MSFN

#2
Wraith

Wraith

    Dr. Nick

  • Member
  • PipPipPipPipPipPip
  • 1,256 posts
  • Joined 01-January 04
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 :)
Posted ImagePosted Image
Posted ImagePosted Image
Posted ImagePosted Image

#3
Alanoll

Alanoll

    CODE tags people, CODE tags!

  • Patrons
  • 5,496 posts
  • Joined 25-September 03
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
Welcome to the Forum! Please READ Me!!
Alright, that's it for the site for now. Now on to the next project....which could concievable replace the current site :)

#4
Wraith

Wraith

    Dr. Nick

  • Member
  • PipPipPipPipPipPip
  • 1,256 posts
  • Joined 01-January 04
I figured as much. But self-help is usually best, they learn something at the same time. *shrugs*
Posted ImagePosted Image
Posted ImagePosted Image
Posted ImagePosted Image

#5
sandman_qc

sandman_qc

    Junior

  • Member
  • Pip
  • 66 posts
  • Joined 09-October 03
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
Wraith

Wraith

    Dr. Nick

  • Member
  • PipPipPipPipPipPip
  • 1,256 posts
  • Joined 01-January 04
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.
Posted ImagePosted Image
Posted ImagePosted Image
Posted ImagePosted Image

#7
Shotgun

Shotgun

    Advanced Member

  • Member
  • PipPipPip
  • 462 posts
  • Joined 07-November 03

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
sandman_qc

sandman_qc

    Junior

  • Member
  • Pip
  • 66 posts
  • Joined 09-October 03

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
obiwantuxedo

obiwantuxedo
  • Member
  • 5 posts
  • Joined 17-February 04
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
obiwantuxedo

obiwantuxedo
  • Member
  • 5 posts
  • Joined 17-February 04
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
Wraith

Wraith

    Dr. Nick

  • Member
  • PipPipPipPipPipPip
  • 1,256 posts
  • Joined 01-January 04
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:
Posted ImagePosted Image
Posted ImagePosted Image
Posted ImagePosted Image




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users