Unattended Setup

Windows 98


Bij het ontwikkelen van systeembeheer voor Useless Publications Unlimited moeten we rekening houden met het feit dat deze organizatie ook nog een aantal Windows 98 desktop PC's gebruikt. We leveren dus ook een oplossing voor het 'unattended' installeren van dit besturingssysteem. "Unattended Setup" of "Automatic Installation" wil zeggen dat tijdens de setup geen vragen gesteld zullen worden : alle antwoorden op vragen die gewoonlijk tijdens de setup gesteld worden, worden automatisch aangeleverd (door een "answer file") zodat de installatie volautomatisch verloopt. Het Setup-programma leest de answer file gedurende de setup, en neemt de gegeven waarden over : computernaam, netwerkinstellingen, tijdzone, landinstellingen, toetsenbordlayout, ... Hierdoor wordt de installlatie ook reproduceerbaar : een zelfde setup kan op gelijk welk tijdstip, al dan niet op dezelfde machine, herhaald worden.

Een 'unattended setup' is nuttig voor :

Tools

De answer file voor een Windows 98 setup kan gecreëerd worden met een tekst editor, of via tools uit de Windows 98 Resource Kit . Dat laatste is een stuk gemakkelijker, omdat je op die manier vanzelf een bestand krijgt met het juiste format, keywords, en zelfs een aantal waarden.
Windows 98 Resource Kit Tools

Werkwijze

Installatiebestanden aanpassen en answer files maken :

Om een customized unattended setup uit te voeren, moeten we enige aanpassingen maken aan de Windows Installatiebestanden. Bovendien werken de Deployement tools het snelst als je ze eerst de configuratie van een bestaande PC laten inventariseren. De Windows 98 setup answer file is namelijk nogal complex, en dus moeilijk manueel aan te maken.

We kopiëren dus eerst een Windows 98 setup CD naar een computer die reeds grotendeels geconfigureerd is zoals wij hem willen. Vervolgens voeren we Batch98 uit (Deployment tool) om een answer file (msbatch.inf) te maken. We doorlopen daarbij de volgende stappen :

  1. gather info : de configuratie van de model-PC inventariseren als basis voor een answer file
  2. aanpassingen en aanvullingen :

Batch98 laat toe de gevonden waarden te wijzigen. Dit kan je ook achteraf, door de answer file te bewerken met een tekst editor. De resultaten worden weggeschreven naar msbatch.inf in de folder waar we de installatiebestanden gekopieerd hebben.

hardware ondersteuning

Met INF Installer kan je .inf bestanden en drivers toevoegen aan de Windows installatiebestanden. Op die manier kan je ondersteuning voorzien voor hardware die niet door Windows 98 ondersteund wordt, of oudere Windows 98 drivers vervangen door nieuwe. Het is mogelijk meerdere drivers toe te voegen voor eenzelfde component, ttz. drivers voor meerdere netwerkkaarten of meerdere geluidskaarten, enz. De inf-bestanden en de drivers die er in gerefereerd worden (dll, vxd, cab, ...) worden automatisch toegevoegd aan de de Windows Setup, en het Plug&Play (Plug and Pray ?) mechanisme zorgt dat de relevante driver geďnstalleerd wordt.
De betreffende .inf files en andere bestanden worden hierbij gekopieerd naar de map waarin zich setup.exe bevindt (vandaar dat eerst de Windows 98 setup CD moet kopieren naar bijvoorbeeld een lokale harde schijf of een netwerklocatie).

werkwijze voor INFINST.exe

Eventueel kan Dbset ook gebruikt worden om ondersteuning voor verschillende hardwareconfiguraties toe te voegen. Dat zou dan als volgt moeten gaan :

Meerdere PC’s, verschillende configuraties

Client PC’s (workstations) moeten geďndividualiseerd worden : bij de setup worden namelijk waarden gevraagd die per PC uniek moeten zijn : computer naam, gebruikersnaam, eventueel IP adres als er geen DHCP gebruikt wordt, enz. De Resource Kit Deployement Tools bieden hiervoor dbset.exe (Bulk Configuration Utility). De Bulk Configuration Utility werkt met een template answer file en een ‘database, een tekstbestand waarin, per gebruiker/PC, waarden voor de variabele parameters gegeven worden. In de template answer file worden variabelen (%username%, %computername%, ...) gebruikt. Bulk Configuration Tool combineert vervolgens de template en de database tot een unieke answer file voor elke computer.

Dit is dus een handige manier om meerdere answer files te produceren die zowel gemeenschappelijke als unieke waarden moeten bevatten. Qua deployment moet je er wel voor zorgen dat je de juiste answer file kiest. Het is ook mogelijk de betreffende waarden op te slaan in environment variables. In dat geval zal de answer file zelf verwijzingen naar deze variabelen bevatten. De werkwijze is dan :

Alternatieven zijn :

Maak een CD

Je hebt nu een directory met

Kopieer de inhoud van dit directory naar een CD. De Setup die vanop deze CD uitgevoerd wordt, zal automatisch de gegeven instellingen en de gewenste hardware installeren. Eventueel : een batchbestandje voorzien om bijkomende handelingen uit te voeren en/of een keuze uit verschillende answerfiles mogelijk te maken. Je kan de installatie ook uitvoeren vanop een netwerklocatie, maar dat lukt alleen als het te installeren systeem al toegang heeft tot het netwerk ; daarvoor heb je dus ook nog netwerk boot diskettes nodig die bovendien drivers voor je netwerkkaart bevatten. Vooral bruikbaar voor eventuele upgrades, of voor een clean install als je ook nog netwerk boot disks aanmaakt. Een CD lijkt me in dit geval veiliger, al ben je ook daarbij afhankelijk van een Windows 98 boot diskette (tenzij je zelf een Windows 98 bootable CD-ROM kan maken).

Beperkingen

1- De custom hardware ondersteuning moet toegevoegd worden aan een directory waarin zich het windows98 setup programma bevindt. Bij gelijke P&P ID’s, of gelijknamige inf files, worden de originele bestanden vervangen door nieuwere. Je moet dus voor iedere hardware-configuratie een apart installatiepunt / CD-ROM maken, tenzij je er op kan rekenen dat Windows 98 alle hardware zelf zal herkennen en installeren. De msbatch.inf hoeft zich niet in het setup-directory te bevinden en kan zelfs een andere naam hebben. Het is dus mogelijk een verzameling answer files aan te legen, elk voor een andere setup.

2- De setup is niet volautomatisch : gebruikersinterventie is nog altijd nodig voor o.a.

3- Sommige fouten tijdens de installatie worden genegeerd, waardoor de setup onvolledig kan zijn : Stel bijvoorbeeld dat de netwerkkaart (3COM 509 ISA in Plug&Play mode) niet correct geďnstalleerd werd wegens bronconflicten met de geluidskaart, of omdat ISA Plug 'n' Play faalt. Omdat de NIC niet of incorrect geďnstalleerd werd, worden netwerkinstellingen ook niet toegepast. Het is dus nodig de setupprocedure uit te testen en iedere setup na te kijken.

4- Bepaalde waarden moeten uniek zijn per machine, bijvoorbeeld de computernaam en -- indien geen DHCP : -- het IP adres. Dat is op te lossen door een answer file per machine te maken. De Windows 98 Resource Kit biedt hiervoor de tool dbset (Bulk Configuration Tool, zie hoger) waarmee op basis van een ‘master’ answer file en een ‘database’ tekst file met waarden voor variabelen, een collectie unieke answer files aangemaakt kan worden. Een andere oplossing -- en bij een kleine aantal PC’s wellicht handiger -- is deze waarden niet in de answer file op te nemen, of een generische waarde te geven en deze achteraf aan te passen.

5- De setup wordt uitgevoerd met de bestanden van het installatiemedium : de Windows 98 setup CD. Bijgevolg moet het pas geďnstalleerde systeem nadien nog voorzien worden van de nodige patches, updates, fixes, service packs, enz. Dit kan enigszins geautomatiseerd worden door

Ondanks deze beperkingen biedt unattended setup een goede methode om reproduceerbare setups te creëren. Bepaalde problemen kunnen ondervangen worden door andere oplossingen, bijvoorbeeld :

Setup uitvoeren

Setup voert een unattended setup uit als zich in hetzelfde directory een answer file met de naam msbatch.inf bevindt. Om aan andere answer file te gebruiken, moet de naam en het pad meegegeven worden aan het setup statement. Setup.exe herkent ook nog een aantal command options die het mogelijk maken het setupproces verder bij te sturen. (setup /? toont de opties). Zie ook Windows 98 Setup & answer file.

Windows 98 boot disk voor unattended setup

We hebben ook nog een Windows opstartdiskette nodig. Daaraan voegen we een batchbestand toe (Win98Setup.bat) dat o.a. de volgende taken uitvoert :

Het is eveneens mogelijk zelf een bootable Windows 98 CD te maken waarin de benodigde bestanden voor een unattended installatie reeds toegevoegd zijn, zodat de installate gestart kan worden van een CD en er geen aparte opstart diskettes of diskettes met bestanden nodig zijn.

Post Installation Tasks

Windows 98 is een relatief oud systeem, en kan standaard niet overweg met vele nieuwe features die aanwezig zijn in Windows 2003 Server & Active Directory. We kunnen evenwel een beperkte vorm van ondersteuning voor deze features toevoegen. Op die manier kunnen Windows 98 systemen toch, in beperkte mate, profiteren van de functionaliteit van het Windows Management Instrumentarium, Active Directory, en Windows Scripting.

We kunnen daartoe een aantal setup bestanden toe voegen aan een (custom) Windows 98 setup CD en de gewenste functionaliteit toe te voegen door een script uit te (laten) voeren na de Windows 98 setup. De benodigde software kan gevonden worden op de Microsoft website (Technet, Support, Downloads, ...) :

De installatie ervan kan uiteraard gestart worden via een batchbestand, dat eventueel via een 'RUNONCE' statement in de Windows 98 Setup answer file gestart kan worden.
Active Directory Support for Windows 98

Zie ook : Client Configuration


Koen Noens
June 7th, 2005
Alle rechten voorbehouden
Terug naar Inhoudstafel