The people in the computer depot clinic reported a vexing problem with Windows DS deployment today… one of the techs reported a 0x80070020 error in a WDS deployment session. The text was “Windows cannot install required files”. There is no mention of which files, which is quite irritating. The error comes up after 20-25 minutes of deployment activity (when the process is 97% done). Annoying… and no telling how long it has been going on, either.
I had a look that the Vista setup log files on a system that was experiencing the reported error:
To look at the log, press shift-F10 to bring up a command prompt, then “cd” to “C:$WINDOWS.~BTSourcesPanther”, and “notepad setuperr.log”. In this case we see that the file “WinPEpge.sys” failed to copy owing to a “sharing violation”.
Some quick Googling reveals:
Some of these images have a file called “WinPEpge.sys” in their root directories. This file is not supposed to be in the image at all. I have purged the Student X20 and X30 images of this foulness. I am not sure how that file got in there, as it should be excluded by default. However, to be safe I have updated the WDS Deployment and Capture images with config files that explicitly exempt the winpepge.sys file from capture and deployment.
Having to spend four hours on this today was not all bad, though. This gave me the chance to add GImageX.exe to the deployment/capture images:
this is a new graphical front-end to imagex that allows easier image capture, mounting, and maintenance. It will be available on the CD drive letter of a WDS Capture/Discover ISO, or the flash drive letter of a USB bootable version.
I really should try to dredge though the current image library for these “winpepge.sys” files in some sort of programmatic fashion. Doing so is made somewhat more complicated by the fact that you cannot directly edit WDS images that have been single-instanced into “.RWM” files by the WDSUTIL or its sister MMC console… ImageX just can’t handle this. You have to export the image from WDS, then edit it, then re-import. WDSUTIL is highly script-able, so this should be possible… it is just not “simple”. Maybe next week…