Troubleshooting "Not a valid win32 Application" error at the startup.

Recently, we came across a very interesting issue. A purely native application written in C++ was failing with “Not a valid win32 application” error at the startup on Windows XP machine.   There are a few basic checks that we do to troubleshoot this error. We did the following checks: 1)      Checked if all the modules…

2

Troubleshooting when two modules share different copy of CRT

You may run into the problem, while upgrading from lower CRT to higher CRT version or when you mix the CRT versions. It may result in Access Violation. Here, I have used WinDbg to debug such a scenario.   Sometimes it’s hard to figure out the cause if the application access violates without displaying any…

0

How CRT dependency is added to manifest file.

Well, the dependency information is added to manifest file by a tool known as mt.exe. But this information is provided to mt.exe by linker. And linker gets this information from linker directives. Now these linker directives are present in two places. 1) Headers:  To be precise Crtdefs.h contains these linker directives #ifdef _M_IX86   #ifdef…

1