Article ID: 933241 - View products that this article applies to.
Important This article contains information about how to modify the registry. Make sure that you back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base:
(http://support.microsoft.com/kb/256986/ )Description of the Microsoft Windows registry
A Microsoft Visual C++ 2005 Active Template Library (ATL) Server project contains performance counters. This project is configured to register an Internet Server API (ISAPI) DLL on a Windows Vista-based computer. However, the ISAPI DLL is not registered when you run the ATL Server application. Additionally, when you try to register the ISAPI DLL manually, you may receive an error message that resembles the following:
This problem occurs because the performance counter infrastructure in Windows Vista prevents a call to the RegSetValue function from modifying system files. Windows Vista prevents changes to system files to guarantee reliability of the operating system. The RegSetValue function must modify system files to install ATL-based performance counters.
Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall the operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.
To work around this problem, modify the registry to configre the Windows Vista performance counter infrastructure to bypass the system files integrity check. To do this, you must modify the Configuration Flags registry value that is located in the
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflibregistry key. If the registry value contains the 0x00010000 flag, Windows Vista bypasses the integrity check.
To do this, follow these steps:
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
The ATL is a set of template-based C++ classes that simplify programming Microsoft Component Object Model (COM) objects. The ATL Server Library is a set of template-based C++ classes for creating Web applications, Web services, and other server applications.
For more information about ATL features in Microsoft Visual Studio 2005, visit the following Microsoft Developer Network (MSDN) Web site:
http://msdn2.microsoft.com/en-us/library/ms235433(vs.80).aspxFor more information about ATL Server performance counters, visit the following MSDN Web site:
http://msdn2.microsoft.com/en-us/library/cy0fc747(VS.80).aspxFor more information about how to create a default registry value in Registry Editor, visit the following MSDN Web site:
Article ID: 933241 - Last Review: January 31, 2008 - Revision: 2.0