{"id":3616,"date":"2016-02-25T20:15:23","date_gmt":"2016-02-25T20:15:23","guid":{"rendered":"http:\/\/putridparrot.com\/blog\/?p=3616"},"modified":"2016-02-25T20:15:32","modified_gmt":"2016-02-25T20:15:32","slug":"my-visual-studio-2012-c-32-bit-application-is-exe-is-not-a-valid-win32-application","status":"publish","type":"post","link":"https:\/\/putridparrot.com\/blog\/my-visual-studio-2012-c-32-bit-application-is-exe-is-not-a-valid-win32-application\/","title":{"rendered":"My Visual Studio 2012 C++ 32-bit application is &#8220;exe is not a valid Win32 application&#8221;"},"content":{"rendered":"<p>I have a C++ application which I&#8217;ve just updated to be built using Visual Studio 2012. The original solution was developed in Visual Studio 2010, so I updated the project properties, Configuration Properties | General | Platform Toolset to Visual Studio 2012.<\/p>\n<p>The application is a 32-bit application, everything was built for 32-bit and all worked well on Windows 7, but on Windows XP (which is still used by some of our users) it failed with the &#8220;exe is not a valid Win32 application&#8221;.<\/p>\n<p>Checking the configuration manager suggested it was indeed a 32-bit application. Running <em>dumpbin \/headers app.exe<\/em> confirmed it definitely was a 32-bit application but XP said no it wasn&#8217;t.<\/p>\n<p>Here&#8217;s the thing &#8211; I hadn&#8217;t noticed when setting the Platform Toolset, there was a second option <strong>Visual Studio 2012 &#8211; Windows XP (v1100_xp)<\/strong>. <\/p>\n<p>Changing to this toolset fixed the problem. So 32-bit does not mean 32-bit on all Windows.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I have a C++ application which I&#8217;ve just updated to be built using Visual Studio 2012. The original solution was developed in Visual Studio 2010, so I updated the project properties, Configuration Properties | General | Platform Toolset to Visual Studio 2012. The application is a 32-bit application, everything was built for 32-bit and all [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4,50],"tags":[],"class_list":["post-3616","post","type-post","status-publish","format-standard","hentry","category-c-programming","category-visual-studio"],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/putridparrot.com\/blog\/wp-json\/wp\/v2\/posts\/3616","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/putridparrot.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/putridparrot.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/putridparrot.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/putridparrot.com\/blog\/wp-json\/wp\/v2\/comments?post=3616"}],"version-history":[{"count":2,"href":"https:\/\/putridparrot.com\/blog\/wp-json\/wp\/v2\/posts\/3616\/revisions"}],"predecessor-version":[{"id":3619,"href":"https:\/\/putridparrot.com\/blog\/wp-json\/wp\/v2\/posts\/3616\/revisions\/3619"}],"wp:attachment":[{"href":"https:\/\/putridparrot.com\/blog\/wp-json\/wp\/v2\/media?parent=3616"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/putridparrot.com\/blog\/wp-json\/wp\/v2\/categories?post=3616"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/putridparrot.com\/blog\/wp-json\/wp\/v2\/tags?post=3616"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}