“The application was unable to start correctly (0x

2019-05-10 07:19发布

问题:

I am getting the error message in the title on a VPS running Windows Server 2008 R2 Enterprise SP1 when I try to open Visual Studio 2010. Things were working fine in the beginning even after I installed SQL Server 2012 and VS 2013.

In trying to resolve this, I found others who had this issue stating that the 32 bit version of the msvcp100, msvcp100d, msvcr100, msvcr100d, and msvcr100_clr0400 DLLs in the SysWOW64 folder were overwritten somehow with the 64 bit version. So, I downloaded the 32 bit version and replaced them with no luck. I, also, removed the versions in the system32 folder. This didn't work either so I put the originals back.

I, also, performed a full clean uninstall of Visual Studio 2010, then, I reinstalled VS 2010 Shell Integrated; Visual Studio still will not start and gives the same error.

Can anyone help me to resolve this issue? If it is a problem with a DLL, does anyone know of a tool to help me narrow down exactly what DLL(s) are causing the problem?

Any help would be greatly appreciated. Thanks!!!

回答1:

Using the Dependency Walker tool and finding a post that provided a little information on how to use the tool, I figured out that I had a 64-bit version of the ATL100.DLL instead of the 32-bit version. This file went missing earlier and I unknowingly downloaded and replaced it with a 64-bit version.



回答2:

I've looked around for details on this issue, and haven't found anything conclusive. One post, from a Microsoft support technician, states this:

"From your error 0xc000007b I found that the error means this: "STATUS_INVALID_IMAGE_FORMAT" ".

The error message is probably referring to a file image - most likely one of the MS VS SDK DLL's. The exact file name should be in the Windows Event Logs - Application section. If not, they are probably in a log file (in your %temp% area).

Assuming you can't find the file name: Have you tried a repair of all the VS 2010 SDK's? If a file has been updated (via MS installer) since the install of MS VS, it will not be rolled back via install - even if it's invalid. It won't be removed if you uninstall, either, since another app installed/updated it. You need to force this via repair (in "Programs and Features)".

Update: MS Repair Tool for .NET Components - Not sure if it's just .NET libs or if it scans VC++/VC#/etc. I'm still searching for a similar tool for other MS components.

ALSO: If none of that helps, try the following:
-Force the error to occur, and leave the process running (VS 2010) with its error message
-Pull up Process Explorer (utility from Microsoft - sysinternals.com) and select that process
-Enable DLL view for the lower pane
-Look through the DLL's, and there should be one in there with an odd date, and perhaps in an odd location (like in the VS 2010 folder, and not System32.)
-Close VS 2010 (and its error message)
-Move any DLL's that don't live under system32/syswow64 to a temp location (don't forget where you got them!)
-Launch VS 2010 again


LATEST CONTENT:
Try this for better logging - launch VS2010 like this:
devenv.exe /Log

Log goes here:
%APPDATA%\Roaming\Microsoft\VisualStudio\\ActivityLog.xml

More devenv.exe switches in the [source web page]2.



回答3:

I solved this by changing the platform from properties >> configuration manager to win64, and change the Additional Library Directories to x64.



回答4:

For me I got same issue, The problem was due to 32/64-bit mismatches of various system dlls required by Visual studio. Somehow the dlls it needs got replaced by 64-bit versions that it couldn’t load. I uninstalled x64 vc++2013 redistribute and installed x86 and it started working.