Visual Studio FIX: Module state is corrupted in a Visual C++ 2010 MFC application that is running in Windows 8

Applies to: Visual Studio Professional 2010Visual Studio Ultimate 2010Visual Studio Premium 2010

Symptoms


Assume that you develop a Visual C++ Microsoft Foundation Class (MFC) application by using Microsoft Visual Studio 2010. The application implicitly or explicitly loads additional DLLs during the CRT_INIT phase of MFC DLL initialization. You try to run the application in Windows 8. In this situation, the module state becomes corrupted. Additionally, the application may crash, and you receive an access violation exception.

Resolution


Hotfix information

A supported hotfix is now available from Microsoft. However, it is intended to correct only the problem that this article describes. Apply it only to systems that are experiencing this specific problem.

To resolve this problem, contact Microsoft Customer Support Services to obtain the hotfix. For a complete list of Microsoft Customer Support Services telephone numbers and information about support costs, visit the following Microsoft website:Note In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The usual support costs will apply to additional support questions and issues that do not qualify for the specific update in question.

Prerequisites

 To apply this hotfix, you must have Visual Studio 2010 Service Pack 1 (SP1) installed.

Restart requirement

You do not have to restart the computer after you install the hotfix if the affected files are not being used at the time of installation. We recommend that you close all Visual Studio 2010-related components before you install the hotfix.

Status


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

References


For more information about the DllMain entry point, go to the following MSDN website:

For more information about the best practices for creating DLLs, go to the following MSDN website: