When you start a computer that is running the Microsoft .NET Framework 2.0, the New Hardware Found wizard may start. This wizard may try to install the .NET Runtime Optimization Service V2.0.Number_Number.
This issue occurs because a race condition may exist when the computer creates legacy device instances for a Win32 service or for a legacy kernel driver. When the computer creates a legacy device instance, the following registry subkey is created:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_<ServiceName>\0000The device instance key has a legacy registry value. This value identifies a legacy device that should not be installed. Additionally, the value of the legacy registry subkey is set just after the key is created. When the key is created and the value for the key is not set, a re-enumeration of the device tree may be initiated. In this re-enumeration, the value of the key does not yet exist. Therefore, the key is perceived not to reference a legacy device. When this race condition occurs, a Win32 service may be installed as a device instead of a service.
To resolve this issue, examine the device manager to see whether the .NET Runtime Optimization Service V2.0.Number_Number is installed as a device. If the service is installed as a device, you must uninstall the device. Then, run the following command to install the service correctly:
mscorsvw.exe -iTo do this, follow these steps:
- Click Start, click Run, type DEVMGMT.MSC, and then click OK.
- Right-click .NET Runtime Optimization Service V2.0.Number_Number if the device appears, and then click Uninstall.
- In the Confirm Device Removal dialog box, click OK.
- At the command prompt, run the following command:%WINDIR%\Microsoft.NET\Framework<64>\v2.0.Number\mscorsvw.exe -iNote If the service is already installed correctly, you may receive the following error message:Failed to install Microsoft .NET Runtime Optimization Service.You can ignore the error message.
Article ID: 918608 - Last Review: Mar 29, 2017 - Revision: 3