Wat is XPlode?

XPlode is een programma om een unattended installatie van Windows XP te kunnen maken. Hierbij gebruikt dit programma XML sheets. In het XML bestand worden alle bewerkingen die moeten worden uitgevoerd gezet. Met XPlode kun je programma's installeren, tweaks aan het register toevoegen,bestanden kopieëren, verplaatsen, verwijderen en nog meer.

In deze tutorial ga ik het XML bestand bespreken en daarbij uitleggen waar elke tag voor dient en waar hij voor wordt gebruikt. Om te beginnen moet je natuurlijk XPlode hebben. Je kunt het hier downloaden.



Wat heb ik nodig?

Om het XML bestand te kunnen bewerken heb je aan kladblok in principe al voldoende. Echter, een programma zoals Dreamweaver kan makkelijker zijn vanwege het overzicht. HTML-editors zorgen voor kleuren die kladblok niet weergeeft.
Verder zo het handig zijn als je de basis van je unattended CD/DVD al klaar hebt. Op deze manier weet je de paden naar de te installeren software al. Kijk hier voor op deze pagina. Dit forum op GoT kan ook hierbij helpen.
Verder zou een klein beetje HTML kennis van pas kunnen komen, aangezien XML veel op HTML lijkt.



Hoe moet ik beginnen?

Om te beginnen pak je het gedownloade ZIP bestand uit in een map die je makkelijk terug kunt vinden. Vervolgens open je het bestand XPlode.XML in een editor. Let erop dat je de bestandsnaam hiervan niet mag aanpassen!



Het echte werk

Wanneer je het bestand XPlode.XML hebt geopend, kun je gaan beginnen met het maken van je unattended installatie. Zoals je ziet begint het bestand met de tag "<XPlode>". Hier hoeft niks mee te gebeuren, net zoals met de volgende tag, "<config>".

Binnen de tags <config> en </config> hoeft in de eerste instantie niks gewijzigd te worden. Maar wanneer je de installatie verder wilt personaliseren, kan het handig zijn dit aan te passen.

De <config> tags

<hidewindow>
Het eerste wat je ziet onder de tag <config> is de tag "<hidewindow>". Deze tag dient voor datgene waar zijn naam naar verwijst. Het zorgt ervoor dat vensters met de naam die tussen de tags staat wordt verborgen tijdens de installatie. Standaard staan er al twee voorbeelden in het bestandje, namelijk <hidewindow>Windows Update</hidewindow> en <hidewindows>CMD.EXE</hidewindows>. Op deze manier werken deze tags. De naam van het venster plaats je tussen de tags en XPlode zorgt ervoor dat het venster met die naam niet wordt weergegeven tijdens de installatie.

<show />
Na de hidewindow tags zie je de volgende tag staan:
<show
total='6'
after='2'
subcount='true'
/>
Het enige wat je hierin kunt wijzigen zijn de waardes achter total en after. Deze waardes vertellen hoeveel items er tijden de installatie mogen worden weergegeven. Op items kom ik later terug. Als je wilt dat het volledige scherm wordt gevuld, kun je respectievelijk de waardes 18 en 10 invullen.

<font />
Deze tag spreekt voor zich. Het lettertype en grootte die worden gebruikt. Bij small geef je de grootte aan voor de items. Bij large geef je de grootte van het lettertype aan voor de titel. De waardes zijn in pixels.

<windows />
De tag window bepaalt de weergave van XPlode. Standaard staat er het volgende:
<window
width='440'
position='8'
fixmain='0'
/>

Width spreekt voor zich. Dit is om aan te geven hoe breed het venster moet worden weergegeven. De waarde 440 is standaard ingesteld en is in principe de juiste waarde wanneer je XPlode gaat uitvoeren tijdens Windows Setup (bij T-12 of T-9). Position werkt op een andere manier. Je kunt hier de waardes 0 tot 8 invullen, waarbij iedere waarde staat voor een andere positie op het scherm. In de volgende afbeelding kun je zien waar het venster wordt geplaatst met welke waarde:

<windowmode />
Met windowsmode kun je aangeven hoe XPlode tevoorschijn moet komen. Je hebt keuze uit drie waardes:
- standalone: dit zort ervoor dat XPlode in een apart venster op de voorgrond wordt uitgevoerd.
- guitransparent: met deze waarde zorg je ervoor dat het de achtergrondkleuren gebruikt
- guiredraw: met deze waarde wordt de achtergrond "herbruikt" en komt XPlode volledig op de voorgrond.

<colours>
Ik ga er vanuit dat alles wat tussen de tags <colours> en </coulour> staat duidelijk is :).

<strings>
Aan de strings hoeft in principe niks veranderd te worden. Mischien datgene wat tussen <title> en </title> staat. Dat is namelijk de naam van het venster. Mocht je de Nederlandse vertaling hiervan willen hebben:

     <strings>
<!-- main XPlode string -->
<title>Post-Installatie</title>
<complete>voltooid</complete>
<!-- adduser plugin strings -->
<adduser>Gebruiker #1# wordt toegevoegd</adduser>
<addusertogroup>Gebruiker #1# wordt toegevoegd aan de groep #2#</addusertogroup>
<addgroup>Groep #1# wordt toegevoegd</addgroup>
<!-- file/dir ops plugin strings -->
<copy>Bezig met het kopieeren van #1# (#2#/#3# - #4#)</copy>
<move>Bezig met het verplaatsen van #1# (#2#/#3# - #4#)</move>
<delete>Bezig met het verwijderen van #1# (#3#)</delete>
<!-- shortcut plugin -->
<shortcut>Snelkoppeling wordt toegevoegd: #1#</shortcut>
</strings>

<strings> is de laatste tag die je vindt tussen de <config> tags. Je ziet ook dat de config tag wordt afgesloten met </config>. Er wordt vervolgens een nieuwe tag geopend: <items>. Alles wat achter deze tag komt is datgene wat XPlode ook echt voor je gaat installeren.

De <items> tag

<item>
Item is eigenlijk niet veel meer dan een string. Je gebruikt het als volgt:
<item display='De tekst die wordt weergegeven...'>
De tekst tussen de aanhalingtekens vervang door door de tekst waar je het mee wilt vervangen.
Binnen een item kun je een aantal dingel laten gebeuren: programma's installeren, gebruikers toevoegen etc.
Standaard voorbeeld uit het bestand example.xml:

         <item display='Adding users and groups...'>
             <addgroup
             groupname='Cowboy Bebop' 
             comment="It's them bounty hunters!"
             />
             <adduser 
             username='Spike'
             password='swordfish'
             groups='Administrators "Cowboy Bebop"'
             fullname='Spike Spiegel'
             comment="Don't mess with the best!"
             />
         </item>

Zoals je ziet wordt er tijdens dit item een groep en een gebruiker toegevoegd. <addgroup /> en <adduser /> staan tussen de tags "<item> en </item>"
Tijdens de setup wordt er alleen de tekst "Adding users and groups..." weergegeven, maar de bewerkingen worden uitgevoerd. Het gaat ongeveer op dezelfde manier bij het installeren van programma's.
Uit dit voorbeeld valt ook eenvoudig op te maken hoe je een gebruiker/groep toevoegd.

Het installeren van software gaat vrijwel op dezelfde manier:

			<item display="Medion OEM Software">
<execute display=Nero OEM..."
program="%systemdrive%\install\nero\nero.exe"
arguments="/silent /no_ui /noreboot"
/>
<execute display="Medion Videon Muvee..."
program="%systemdrive%\install\videon\setup.exe"
arguments="-s"
/>
</item>

Als eerst maak je een item aan, waarin wordt weergegeven waar XPlode op dat moment mee bezig is. De tag <execute /> geeft aan dat het programma moet worden uitgevoerd. Er zijn, zoals je in bovenstaand voorbeeld ziet, drie waardes mogelijk in deze tag.
- Display: de tekst die tussen aanhalingtekens staat wordt tijdens de installatie weergegeven.
- Program: hier geef je aan waar het programma gezocht moet worden. Let erop dat dit volledige paden moeten zijn!
- arguments: De argumenten die moeten worden gebruikt bij de installatie van de software. Vaak is dit /s of -s om de installatie stil te laten verlopen.

Ook kun je registrytweaks op deze manier toepassen. Dit gaat op de volgende manier:

		<item display="Register aanpassen...">
<registry display="Opslaan..." method="write"> ;Enable Boot Defrag
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction]
"Enable"="Y"
</item>

Zoals je ziet is het formaat precies het zelfde als hoe je het in *.reg bestanden terug vindt. Dus het is eigenlijk een kwestie van knippen en plakken. Let erop dat de tekst method="write" er bij staat, anders wordt er namelijk niks naar het register geschreven.