Some WCF Registry Keys are not deleted on uninstall of some preview .NET Framework 3.0 (‘WinFX’) releases

Craig McLuckie just compiled documentation that details work around instructions for common .NET Framework 3.0 setup issues. You can find the full document on the WCF Forums titled Common WCF RC1 Installation Issues. The following is a WCF specific issue captured as a separate blog post here for ease of search.

Problem: Some WCF Registry Keys are not deleted on uninstall of some preview .NET Framework 3.0 (‘WinFX’) releases.

Source of Issue:

Some preview (CTP and Beta) versions of the .NET Framework 3.0 ("WinFX") did not remove all registry keys on uninstall. The presence of these keys on a system blocks the correct installation of the .NET Framework 3.0.

Symptoms:

1. .NET Framework 3.0 installation fails with this error:

“ERROR_INSTALL_FAILURE 1603 Fatal error during installation”

2. The following registry keys exit in the registry after uninstall:

                                                  i. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC Bridge 3.0.0.0\Performance

                                                ii. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceModelEndpoint 3.0.0.0\Performance

                                              iii. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceModelOperation 3.0.0.0\Performance

                                               iv. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceModelService 3.0.0.0\Performance

                                                 v. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SMSvcHost 3.0.0.0\Performance

Resolution:

Run the uninstall tool (recommended), or follow the following instructions:

1. First try rebooting. There is more than one issue that can destabilize performance counters on a machine and rebooting can fix some of those issues, and is the safest way to fix those issues rather than manual registry intervention.

2. If that does not work, try the following:

b. Check the following registry keys:

                                                                          i. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC Bridge 3.0.0.0\Performance

                                                                        ii. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceModelEndpoint 3.0.0.0\Performance

                                                                      iii. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceModelOperation 3.0.0.0\Performance

                                                                       iv. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceModelService 3.0.0.0\Performance

                                                                         v. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SMSvcHost 3.0.0.0\Performance

c. If those registry keys are empty or only include values named “Wbem*”, then you are in a partially removed state.

d. To fix, simply delete the parent registry keys of any of the above empty keys. For example, if the key “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceModelEndpoint 3.0.0.0\Performance” is empty, you should delete “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceModelEndpoint 3.0.0.0”.

Note: This issue only occurs if you have installed an early preview version of the .NET Framework 3.0 on your system before installing the RC1 version. The uninstall bug that results in this behavior has been addressed in current .NET Framework 3.0 preview editions.

Mark Gabarra

This posting is provided "AS IS" with no warranties, and confers no rights. Use of included script samples are subject to the terms specified at https://www.microsoft.com/info/cpyright.htm