作者: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
