Rah*_*ule 9 vb.net windows-xp visual-studio-2012
我正在使用Visual Studio 2012 Professional并使用高级安装程序(第三方)创建安装程序.
当我在Windows XP上运行已安装的.exe时,我收到以下消息:
<appName> .exe不是有效的Win32应用程序.
安装的可执行文件在Windows 7和8上都能正常运行.
如何让程序在Windows XP上运行?
Han*_*ant 16
从Visual Studio命令提示符,运行此命令:
Dumpbin.exe /headers c:\where\you\put\it\setup.exe
Run Code Online (Sandbox Code Playgroud)
"setup.exe"是安装程序创建者创建的安装程序EXE.我将发布您认为重要的信息示例:
OPTIONAL HEADER VALUES
10B magic # (PE32)
...
4.00 operating system version
0.00 image version
6.00 subsystem version // <=== here!!
0 Win32 version
...
Run Code Online (Sandbox Code Playgroud)
子系统版本号很重要.VS2012是Visual Studio的第一个版本,它开始将此值设置为6.00(Vista的版本号).以旧版本以及针对.NET 4.0或更早版本的VS2012,将此版本号设置为4.00
否则这是一个重要的举措,也是逐步取消对XP的支持的一部分.Windows 6.00及更高版本,Vista,Win7和Win8都注意这个数字.他们会假设您的程序不知道以后的Windows功能,并且需要打开几个appcompat填充程序.最值得注意的是Aero中的appcompat,桌面主题显示带有胖边框的窗口,用鼠标轻松点击.Windows将围绕这些边界,告诉你窗口比实际小.尝试让窗口相互对齐的程序员的混乱的一个很大的混乱.
看到6.00显示的结果是您的安装程序无法在XP上运行.它是5.02版.
因此,请确保首先不针对.NET 4.5版,它不适用于XP.请改用4.0.如果仍有问题,请联系供应商的支持人员,并询问他们如何在该工具创建的setup.exe文件中控制该编号.解决方法是使用/ SUBSYSTEM选项运行Editbin.exe以更改数字.
归档时间: |
|
查看次数: |
29328 次 |
最近记录: |