Recently I have been working on curious case and wanted to share with you the problems I was facing and how I finally solved them.
Client of mine is deploying Windows 7 to several PC’s using a task sequence I’ve built in SCCM. Due to some local limitations, the deployment is done using a USB stick and not PXE/network. Every thing is working great and the client is very pleased.
Recently he has purchased a new hardware – a pc that is designed for Windows 10, but Windows 7 is still supported by the HW manufacturer (you can download drivers from their website and etc…). I began by downloading the drivers and injecting them in the task sequence – I use WMI query to identify the type of HW the TS is currently running on and deploy its drivers. Usually I prefer to use INF drivers, but sometimes I have no other choice than to use the application drivers. While working on this HW I have noticed that during the deployment sequence a certain driver was missing – USB. Since I was using a USB keyboard and mouse they have failed to work. USB drivers are INF so I have added them to the TS and viola – everything is working and the TS completes with success. When testing out a new or modified TS I use a network PXE boot and once its finished I create a TS media that can run from a USB stick.When I ran the modified TS from a USB stick – TS failed. USB drivers were missing.
Since my goal is to always keep the image file empty from any drivers I worked on this issue a lot. I’ve tried everything – add INF to boot image, added INF to TS sequence, added application to TS…. nothing. The problem is that USB is not recognized during the deployment from… USB!
In the end, I’ve decided to inject the INF directly to the image file. This can be done in several ways, the easiest I can think of is using DISM (document very good on this Technet article).
Once the drivers were inject, I’ve updated the DP with the new OS, created a new TS media and viola! everything is working again 🙂