[C/C++] VC2012編譯的程序在WinXP下報告“指定的可執行文件不是有效的 Win32 應用程序”錯誤


作者:zyl910

  用VC2012編譯了一個程序,在Windows 8、Windows 7、Windows Vista下都能正常運行。但在Windows XP下運行時,卻報錯不能運行,具體錯誤信息為“指定的可執行文件不是有效的 Win32 應用程序”。

  在WinXP中裝好“Visual C++ Redistributable for Visual Studio 2012 Update 1”。但該程序還是無法運行,仍是報告上述錯誤。

  用eXeScope打開該exe,發現操作系統需求為“6.0”,即只能在Windows Vista或更高的操作系統下運行。

  我的VS2012已經升級為“Visual Studio 2012 Update 1”了。不是說該升級支持WinXP嗎,怎么還是不行?
  在網上查了一下,發現需要修改“平台工具集”的配置。具體操作步驟——
1.在解決方案瀏覽器中選中項目,然后右鍵菜單里點屬性打開項目屬性對話框;
2.在左側樹列表里選擇 配置屬性->常規,然后在右側列表的“平台工具集”選中“Visual Studio 2012 - Windows XP (v110_xp)”,再點擊確認。

  改好后重新編譯,發現Windows XP下能正常運行了。
  再用eXeScope打開該exe,發現操作系統需求為“5.1”,即能在Windows XP或更高的操作系統下運行。

 


參考文獻——
《Visual C++ Redistributable for Visual Studio 2012 Update 1》. microsoft. http://www.microsoft.com/zh-cn/download/details.aspx?id=30679
《Visual Studio 2012 第一次迭代更新》. microsoft. http://www.microsoft.com/visualstudio/chs/visual-studio-update
《Setup.exe is not a valid Win32 application》. Soumitra Mondal. http://blogs.msdn.com/b/vsnetsetup/archive/2012/10/16/setup-exe-is-not-a-valid-win32-application.aspx
《Visual Studio 2012 Update 1發布了》. HwangBae. http://www.cnblogs.com/hwangbae/archive/2012/11/27/2790637.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM