Imagex /capture e Wimscript.ini: come perdere 1 giorno (o come evitare di perderlo, scegliete voi)

Per la serie “impariamo dagli errori degli altri” (nella fattispecie i miei), ecco un altro post che mi sento di condividere nella speranza che a qualcuno serva per evitarsi un bel po’ di perdite di tempo (nel mio caso 1 giorno in totale).

In questi giorni mi è capitato di creare un DVD che automaticamente installasse un’immagine WIM di Windows Vista (precedentemente creata, syspreppata e catturata). Penso che farò un breve post a riguardo, se a qualcuno interessasse vedere come ho fatto.

Per farla breve, una volta creata la macchina, utilizzando il WAIK (Windows Automated Installation Kit), creo il file di risposte (Unattend.xml) da passare come parametro a Sysprep, testo il tutto (Syspreppato, spento la macchina). Una volta riaccesa la macchina si autoconfigura come indicato in Sysprep: perfetto! Sono pronto a catturare l’immagine.

  • Ri-syspreppo la macchina (attenzione che dovete tenere conto del fatto che si può syspreppare Vista al massimo 3 volte, oppure con l’opzione SKIPREARM 8 volte, consultate QUESTO articolo per maggiori dettagli);
  • Catturo l’immagine con IMAGEX;
  • Passo alla prova dei fatti: formatto il disco e applico l’immagine appena catturata e…

SORPRESA: mi chiede di impostare la tastiera… e poi di accetare l’EULA… e poi di impostare un utente… e poi… MA LE AVEVO MESSE TUTTE IN AUTOMATICO QUELLE COSE!?!!

Prova, riprova, rideploya, ricattura, risyspreppa, riformatta…. un giorno buttato al vento.

Poi, la soluzione.

Per catturare l’immagine ho utilizzato per il boot un CD di WinPE. Nativamente in WinPE non c’è il tool IMAGEX (che serve a catturare l’immagine), per cui ho copiato da un’installazione di MDT (Microsoft Deployment Toolkit) che avevo su un server la cartella TOOLS\X86 che contiene, tra l’altro, imagex e l’ho messa sul CD.

All’interno di questa cartella però si trova un file, WIMSCRIPT.INI. Questo file, se configurato, viene letto da Imagex durante la cattura di un’immagine e, fondamentalmente, serve ad indicare le “exclusions”, ovvero le cartelle ed i files non da catturare. Il files WIMSCRIPT.INI che si trovava nella cartella da me copiata conteneva anche come exclusions la cartella c:\windos\panther, che è una cartella generata da SYSPREP quando prepara la macchina per essere catturata. Questo perchè nel ciclo di installazione gestito da MDT non servono le informazioni contenute nella cartella PANTHER. MA SE DISTRIBUISCO L’IMMAGINE SOLO CON IMAGEX SERVONO, ECCOME! Da notare che se avessi seguito la procedura da manuale (copiando la cartella che si trova nell’installazione del WAIK) questo non sarebbe successo in quanto quel file non esiste.

Nel file di log (SETUPACT.LOC) della machina non catturata (syspreppata e poi fatta ripartire) appare:

“Found no unattend file.”

Mentre nello stesso log file della macchina cattturata e rideployata appare:

Found unattend file at [C:\Windows\Panther\unattend.xml]; examining for applicability.”

Meglio tardi che mai. Buon week end a tutti!

ale

image