FIX: An ISAPI DLL is not registered when you run an ATL Server application that contains performance counters in Windows Vista

FIX: An ISAPI DLL is not registered when you run an ATL Server application that contains performance counters in Windows Vista

Article ID : 933241
Last Review : January 31, 2008
Revision : 2.0
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 (/Feedback.aspx?kbNumber=256986/) Description of the Microsoft Windows registry

SYMPTOMS

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:

0x80070002 COR_E_FILENOTFOUND

Back to the top

CAUSE

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.

Back to the top

WORKAROUND

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 Perflib registry key. If the registry value contains the 0x00010000 flag, Windows Vista bypasses the integrity check.

To do this, follow these steps:

1. Click Start, type regedit in the Start Search box, and then click regedit.exe in the Programs list.

If you are prompted for an administrator password or for confirmation, type your password, or click Continue.

2. Locate and then click the following registry subkey:

HKLM SOFTWARE Microsoft Windows NT CurrentVersion
3. Click CurrentVersion, right-click Perflib, and then click Modify.
4. Click CurrentVersion, and then click Perflib.
5. If the Configurations Flags value exists, right-click Configuration Flags, and then click Modify. If the Configuration Flags value does not exist, go to step 7.
6. Type 10000, and then click OK.
7. Right-click Perflib, click New, and then click DWORD (32-bit) Value.
8. Type Configuration Flags, and then press ENTER.
9. Right-click Configuration Flags, and then click Modify.
10. Type 10000, and then click OK.
11. Type 0x00010000 in the Value data box.
12. Exit Registry Editor.

Back to the top

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the Applies to section.

Back to the top

MORE INFORMATION

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).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)

Back to the top


APPLIES TO
• Windows Vista Starter
• Windows Vista Home Basic
• Windows Vista Home Premium
• Windows Vista Ultimate
• Windows Vista Enterprise
• Windows Vista Business
• Windows Vista Home Basic 64-bit Edition
• Windows Vista Home Premium 64-bit Edition
• Windows Vista Enterprise 64-bit Edition
• Windows Vista Ultimate 64-bit Edition
• Microsoft Visual Studio 2005 Team Suite
• Microsoft Visual Studio 2005 Standard Edition
• Microsoft Visual Studio 2005 Service Pack 1
• Microsoft Visual Studio 2005 Professional Edition
• Microsoft Visual Studio 2005 Team Edition for Database Professionals
• Microsoft Visual Studio 2005 Team Edition for Software Architects
• Microsoft Visual Studio 2005 Team Edition for Software Developers
• Microsoft Visual Studio 2005 Team Edition for Software Testers
• Microsoft Visual Studio 2005 Team Foundation Server
• Microsoft Visual Studio 2005 Team Foundation
• Microsoft Visual Studio 2005 Team System Test Edition
• Windows Server 2008 Datacenter without Hyper-V
• Windows Server 2008 Enterprise without Hyper-V
• Windows Server 2008 for Itanium-Based Systems
• Windows Server 2008 Standard without Hyper-V
• Windows Server 2008 Datacenter
• Windows Server 2008 Enterprise
• Windows Server 2008 Standard
• Windows Web Server 2008

Back to the top

Keywords: 
kbtshoot kbbug kbnofix kbregistry kbperformance kbatlserver kbtemplate kbatl kbexpertiseinter KB933241

Back to the top

 

Microsoft Knowledge Base Article

This article contents is Microsoft Copyrighted material.
Microsoft Corporation. All rights reserved. Terms of Use | Trademarks


You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

AddThis Social Bookmark Button

Leave a Reply

*
To prove that you're not a bot, enter this code
Anti-Spam Image

FIX: An ISAPI DLL is not registered when you run an ATL Server application that contains performance counters in Windows Vista

SYMPTOMS

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:

0x80070002 COR_E_FILENOTFOUND

CAUSE

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.

WORKAROUND

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\Perflib registry key. If the registry value contains the 0x00010000 flag, Windows Vista bypasses the integrity check.

To do this, follow these steps:

1. Click Start, type regedit in the Start Search box, and then click regedit.exe in the Programs list.If you are prompted for an administrator password or for confirmation, type your password, or click Continue.
2. Locate and then click the following registry subkey:HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion
3. Click CurrentVersion, right-click Perflib, and then click Modify.
4. Click CurrentVersion, and then click Perflib.
5. If the Configurations Flags value exists, right-click Configuration Flags, and then click Modify. If the Configuration Flags value does not exist, go to step 7.
6. Type 10000, and then click OK.
7. Right-click Perflib, click New, and then click DWORD (32-bit) Value.
8. Type Configuration Flags, and then press ENTER.
9. Right-click Configuration Flags, and then click Modify.
10. Type 10000, and then click OK.
11. Type 0x00010000 in the Value data box.
12. Exit Registry Editor.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the “Applies to” section.

MORE INFORMATION

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.


APPLIES TO
  Microsoft Windows Code Name “Longhorn”
  Windows Vista Starter
  Windows Vista Home Basic
  Windows Vista Home Premium
  Windows Vista Ultimate
  Windows Vista Enterprise
  Windows Vista Business
  Windows Vista Home Basic 64-bit Edition
  Windows Vista Home Premium 64-bit Edition
  Windows Vista Enterprise 64-bit Edition
  Windows Vista Ultimate 64-bit Edition
  Microsoft Visual Studio 2005 Team Suite
  Microsoft Visual Studio 2005 Standard Edition
  Microsoft Visual Studio 2005 Service Pack 1
  Microsoft Visual Studio 2005 Professional Edition
  Microsoft Visual Studio 2005 Team Edition for Database Professionals
  Microsoft Visual Studio 2005 Team Edition for Software Architects
  Microsoft Visual Studio 2005 Team Edition for Software Developers
  Microsoft Visual Studio 2005 Team Edition for Software Testers
  Microsoft Visual Studio 2005 Team Foundation Server
  Microsoft Visual Studio 2005 Team Foundation
  Microsoft Visual Studio 2005 Team System Test Edition
  Microsoft Visual Studio 2005 Express Edition

——————————————–

Microsoft Knowledge Base Article

This article contents is Microsoft Copyrighted material.
Microsoft Corporation. All rights reserved. Terms of Use | Trademarks

 


You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

AddThis Social Bookmark Button

Leave a Reply

*
To prove that you're not a bot, enter this code
Anti-Spam Image