You could try to open it in some hex editor to check the header. If it's PE (Portable Executable) file - do not mistake with Preinstallation Environment file, you would see the usual dos stub whitch is shown when you run win32 exe on dos and it's on the first couple of bytes in the target exe. And yes, there're alot exes that are used in dos

Try PEiD, it shows waht application/compiler/packed is used, but it also checks if the file is valid windows executable whitch is the most important.
Teh error may also pop out if the exe is corrupt or there's no such required runtime installed or the architecture isn't supported on it