Benign error messages appear when running ngen update on Windows Vista

If you have tried to update native images on a Windows Vista beta 2 or later build by running %windir%\Microsoft.NET\Framework\v2.0.50727\ngen.exe update, you probably noticed that a series of error messages appear in the NGEN console output. I have listed the exact error messages at the bottom of this post for reference.

A few Windows Media Center managed interop assemblies (ehiPlay.dll, ehiProxy.dll and ehiVidCtl.dll) have been built with some incorrect dependency information, and as a result there is an extra dependency expressed for the file stdole.dll. This file does not exist on Windows Vista, so it causes some file not found errors to be displayed.

The file stdole.dll is not actually needed for any of the functionality provided by these Windows Media Center assemblies. Therefore these errors are benign and can be safely ignored if you see them. Unfortunately, the way in which these assemblies are being built is complicated and changing the build scripts is very risky, so we decided to ship them for Windows Vista with this incorrect dependency information.

The following is a list of the error messages that you will see when trying to run ngen.exe update on Windows Vista. You may see more than one of the messages per assembly, so the exact list will likely be longer than this on your system:

  • Failed to load dependency stdole of assembly ehiPlay, Version=6.0.6000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 because of the following error : The system cannot find the file specified. (Exception from HRESULT: 0x80070002)
  • Failed to load dependency stdole of assembly ehiProxy, Version=6.0.6000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 because of the following error : The system cannot find the file specified. (Exception from HRESULT: 0x80070002)
  • Failed to load dependency stdole of assembly ehiVidCtl, Version=6.0.6000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 because of the following error : The system cannot find the file specified. (Exception from HRESULT: 0x80070002)