I’m back on track in Sweden after being in the US for about a month; actually I have been working a month here already, so we continue the “Windows Vista Enterprise Project” that I’m currently completely busy with (see previous post). There still remains very much work to do, and trying to catch up with all different kind of dependences this project has to other teams inside the company i.e. DNS Team, Active Directory Team, PKI Team, Storage Team, Network Team, etc takes a lot of time.
Yesterday we did ship a first release of our Windows Vista image supporting 5 different hardware models, both x86 and x64 (that actually makes it 10) and a customized installation of Microsoft Office 2007. To certify a specific hardware model, takes about 8 hours (both x86 and x64) and then we use an ‘own’ developed method for certify our hardware. This is basically it (a bit simplified)
- Download all drivers for the specific model from the hardware vendor’s web site.
Create a folder structure for the specific hardware model in the central storage repository that looks something like:
HP nc6010p x64
- And so on…
- And so on.
Extract the content by lunching a custom tool (wrapping around winrar.exe)
- Identify driver type. (Core Driver) or (App0): The difference between those is that Core Driver is a REAL driver and App0 is a “BAD” driver that needs to execute some kind of setup package, i.e. .exe or .msi package.
- Check in the “REAL” drivers into the System Center Configuration Manager (Our main deployment tool) into the “All Drivers” driver package.
- Create Application Packages for all App0 Drivers.
- Create a task sequencer for the specific hardware, It will be something like “Install Vista Core-VBL-Hardware-HP6910p X86” The HW model is automatically detected by using a simple WMI query.
- Adding the App0 packages, and configures the task sequencer to use “Auto Apply Drivers” that means that Windows Vista during the deployment will do a PNP detection and by its own chose the best drivers from the “All-Drivers” driver package. We have to watch out for compatibility issues here between x86/x64 and storage drivers, It can cause Windows to never boot.
- Once the computer has finished it’s deployment, We use a custom made report in System Center Configuration Manager that tells us the best matching drivers that was picked up by Windows during the install, the best matching drivers in the “All-Drivers” driver package, as well all drivers that for some reason failed to install (if any) or if a device is completely missing a driver.
- Based on this information, the drivers for the specific model is locked and the model us getting its own Driver Package, based on the report generated above, the deployment starts all over again but now with its own driver package instead of “Auto Apply Drivers”,
- The process is repeated until all devices have a working driver.