我正在为朋友开发一个应用程序。我使用Visual Basic 2012(64位)和Windows 7(64位)。 我给他做了一个演示试试看看他想要的更多功能,并且运行正常。
当我在实施新功能后的下一周回来时,它拒绝在他的任何Windows XP(32位)计算机上运行。 错误代码:
MyApplicationName.exe is not a valid Win32 application
我在运行Windows 7(32位)的计算机上尝试过,它仍然运行良好。
那么,为什么它突然停止运行的任何想法?
答案 0 :(得分:2)
当您使用默认项目设置时,VS2012不会生成可在XP上运行的EXE。重要的是您所针对的.NET Framework版本。如果那是4.5版本,则会出现两个问题。
首先,.NET 4.5不适用于XP。第二个对于此异常消息很重要,编译器将标记在文件头中运行EXE所需的Windows版本。该版本号始终设置为4.00。直到VS2012,它现在设置为6.00,Vista的版本号。 XP会立即拒绝你的EXE,因为“它不是一个有效的Win32应用程序”消息,甚至在它告诉你它没有安装.NET 4.5之前。
通过定位.NET 4.0或更早版本来解决您的问题。 Project + Properties,Application选项卡,Target framework setting。
答案 1 :(得分:0)
尝试使用/ 32bit +的corflags并查看它是否有效。