Article ID: 933241 - Last Review: January 31, 2008 - Revision: 2.0 FIX: An ISAPI DLL is not registered when you run an ATL Server application that contains performance counters in Windows Vista
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: 256986
(http://support.microsoft.com/kb/256986/
)
Description of the Microsoft Windows registry SYMPTOMSA 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: 0x80070002 COR_E_FILENOTFOUND CAUSEThis 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. WORKAROUNDWarning 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\Perflib registry key. If the registry value contains the 0x00010000 flag, Windows Vista bypasses the integrity check.To do this, follow these steps:
STATUSMicrosoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section. MORE INFORMATIONThe 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).aspx
(http://msdn2.microsoft.com/en-us/library/ms235433(vs.80).aspx)
For more information about ATL Server performance counters, visit the following MSDN Web site:http://msdn2.microsoft.com/en-us/library/cy0fc747(VS.80).aspx
(http://msdn2.microsoft.com/en-us/library/cy0fc747(VS.80).aspx)
For more information about how to create a default registry value in Registry Editor, visit the following MSDN Web site:http://msdn2.microsoft.com/en-us/library/xkfz6802(VS.80).aspx
(http://msdn2.microsoft.com/en-us/library/xkfz6802(VS.80).aspx)
APPLIES TO
| Other Resources Other Support Sites
CommunityGet Help NowArticle Translations |






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email
Back to the top
