vb.net - .exe is not a valid Win32 application on Windows XP -
i'm using visual studio 2012 professional , creating installer using advanced installer (3rd party).
when run installed .exe on windows xp, following message:
<appname>.exe not valid win32 application.
the installed executable works fine on both windows 7 , 8.
how can program work on windows xp?
from visual studio command prompt, run command:
dumpbin.exe /headers c:\where\you\put\it\setup.exe
where "setup.exe" setup exe created installer creator. i'll post example of info see matters here:
optional header values 10b magic # (pe32) ... 4.00 operating system version 0.00 image version 6.00 subsystem version // <=== here!! 0 win32 version ...
the subsystem version number important. vs2012 first version of visual studio started setting value 6.00, version number of vista. previous versions, vs2012 when target .net 4.0 or earlier, set version number 4.00
this otherwise important move ahead , part of phasing out support xp. windows version 6.00 , up, vista, win7 , win8 pay attention number. they'll assume program unaware of later windows features , needs have several appcompat shims turned on. notable 1 appcompat in aero, desktop theme displays windows fat borders easy click mouse. windows lie borders, telling window smaller is. great source of confusion programmers try make windows line each other.
the consequence of seeing 6.00 displayed setup program cannot run on xp anymore. version 5.02.
so make sure first not target .net version 4.5, not available xp. use 4.0 instead. if still have trouble contact vendor's support , ask them how control number in setup.exe file tool creates. workaround run editbin.exe /subsystem option change number.
Comments
Post a Comment