I create a x86 process under WindowsServer2003 x64, ok, it work fine!
but I try creating a x86 process under VISTA x64开发者_开发问答. it's failed with error code = 216. (ERROR_EXE_MACHINE_TYPE_MISMATCH).
anything difference between 2003x64 and VISTAx64?
I was debugging on a client's PC.
There is a 16-bit setup or 16-bit program or some 16-bit code in the product you are using.
This happens when you run a 16-bit EXE from CreateProcess (or CreateProcessEx) in an x64 machine.
Suggestions are
to contact the vendor of the software, tell them to upgrade their Innosetup to latest version (e.g., 16-bit Innosetup) or InstallShield to latest version (e.g., 16-bit InstallShield) and provide you with a new installer package.
If the product contains DOS or MS-DOS legacy EXE or COM files, you need to ask the vendor for Win32 or Win64 command-line based version.
run a copy of Windows Vista (32-bit), Windows 7 (32-bit) inside a VM. Those 16-bit utilities will function as normal.
精彩评论