With the release of the windows AIK for Windows 7 SP1 supplement (see Windows AIK for Windows 7 SP1 Released for details), there is a new version 3.1 version of Windows PE available. If you plan to install this update, you need to be aware of an issue when using this with mdt 2010 update 1.
With mdt 2010, deployment Workbench will look for a “boot.wim” file from one of the imported operating systems that has the same build number as Windows AIK (e.g. “boot.wim” from a Windows 7 RC, build 7100, operating system to go with the Windows AIK for Windows 7 RC). If it finds a match, it will use that WIM instead. Why do we do this? Because the “boot.wim” contains the Windows Recovery Environment (Windows RE), a component that isn't available in Windows AIK.
So let's get a little more specific. First, some background details:
- The build number for the RTM version of Windows 7 is 6.1.7600.16385.
- The build number for Windows AIK for Windows 7, released with Windows 7 RTM, is also 6.1.7600.16385. This is stored in the registry.
- The build number for Windows 7 SP1 is 6.1.7601.17514.
- The build number for the files included in the Windows 7 AIK for Windows 7 SP1 supplement, including Windows PE 3.1 and all the Windows PE feature packs, is also 6.1.7601.17514. But since this supplement is installed by replacing files in the Windows AIK installation directory using XCOPY, the registry isn't updated so MDT still thinks the Windows 7 RTM version (6.1.7600.16385) of Windows AIK is installed.
Now, let's assume that you have Windows 7 RTM x86 installation files present in your deployment share, and you haven't installed the Windows 7 AIK for Windows 7 SP1 supplement. MDT's processing when creating a boot image will look like this:
- Is there a boot.wim available with the same version number as Windows AIK (6.1.7600.16385 = 6.1.7600.13685)? Yes, copy it to a temporary folder and mount it.
- Inject the required Windows PE optional components from the Windows AIK installation directory into this mounted boot image.
- Inject the needed MDT scripts.
- Commit the changes to the WIM file and copy it to the deployment share.
Now, install the Windows 7 AIK for Windows 7 SP1 supplement and update the deployment share:
- Is there a boot.wim available with the same version number as Windows AIK (6.1.7600.16385 = 6.1.7600.13685)? Yes (because MDT doesn't know that Windows AIK has been updated, the registry still says it is version 6.1.7600.16385), copy it to a temporary folder and mount it.
- Try to Inject the required Windows PE feature packs from the Windows AIK installation directory into this mounted boot image. All fail, because they are for Windows PE 3.1 and won't work with the Windows PE 3.0 boot image copied from the Windows 7 RTM files.
The actual error will look something like this (repeated for each Windows PE feature pack):
Deployment Image Servicing and Management tool
Image Version: 6.1.7600.16385
Processing 1 of 1 – Adding package WinPE-HTA-Package~31bf3856ad364e35~x86~~6.1.7601.17514
The specified package is not applicable to this image.
The DISM log file can be found at C:\Windows\Logs\DISM\dism.log
Exit code = –2146498530
DISM /Add-Package failed for component C:\Program Files\Windows AIK\tools\PETools\amd64\WinPE_FPs\winpe-hta.cab, rc = -2146498530.
Modify the Settings.xml file in the deployment share's “Control” folder to tell MDT to never use the boot.wim. The settings look like this:
They should be changed to instead say:
As a result of this change, MDT will no longer use the boot.wim from the Windows 7 RTM installation files. Instead, it will always use the winpe.wim from Windows AIK. And since the Windows PE feature packs in Windows AIK should always match the winpe.wim in Windows AIK, this will always work.
Note that this will never be an issue with MDT-generated boot images used with ConfigMgr 2007, as MDT will always use the winpe.wim from Windows AIK when generating these. (ConfigMgr 2007 doesn't yet support Windows PE 3.1, so don't install the Windows AIK for Windows 7 SP1 supplement yet if you are using ConfigMgr.)