Prepopulating Windows Experience Index (WEI, a.k.a. WinSAT) numbers in Windows 7

In Windows Vista, the first time the operating system booted up it would run through a series of performance tests to calculate the machine’s Windows Experience Index score, and it would use these numbers to determine what operating system features such as Windows Aero should be enabled.  This process could take a while.

Fortunately, Windows 7 improves this: the initial boot-up still runs the video performance test to determine whether to enable Aero, but the rest of the tests are deferred and will run in the background at a later time.

But for those of you who are deploying identical hardware (e.g. thousands of new laptops, all with the same specs), you might want to optimize this even more.  With Windows Vista, I mentioned in https://blogs.technet.com/mniehaus/archive/2008/11/06/want-to-save-some-time-when-deploying-windows-vista.aspx that there was a process to do this involving a hotfix that added some additional unattend.xml parameters.  I started to write a much longer blog article explaining the detailed implementation steps, but never got around to verifying that the instructions worked – the process really was rather cumbersome.

Fortunately with Windows 7 the process is much easier.  See the Windows AIK documentation at https://technet.microsoft.com/en-us/library/dd744241(WS.10).aspx for all the details.  To add this into your reference computer image creation task sequence (using MDT 2010 Lite Touch or ConfigMgr 2007 SP2), you just need to add one additional command after Windows 7 is installed and before the step that runs Sysprep.  This step needs to have the following command line:

WinSAT.exe -prepop

That’s all you need.  As the Windows AIK documentation explains, this will create a set of WinSAT XML files containing the performance details, and Sysprep won’t remove them.  When the image is deployed, WinSAT will verify that the hardware is truly the same and ignore the XML files if there are changes.