Visual Studio 2013 下的 X86 编译应用程序不会 运行 在一些 Windows 7 64 位机器上

X86 Compiled Applications under Visual Studio 2013 won't run on some Windows 7 64-bit machines

我有一台 Windows 7 SP1 16GB 机器。我编译了一个针对 x86 环境的应用程序。在我的机器上,应用程序运行没有任何问题。但是,在其他一些 Windows 7 SP1 机器上,它会给出以下错误消息。

此文件的版本与 Windows 的版本不兼容 你 运行。检查您的计算机的系统信息,看是否 您需要该程序的 x86(32 位)或 x64(64 位)版本,然后 联系软件发行商。

我已经安装了 2013 x86 和 x64 重新分发版,但这并没有解决问题。

.NET 4 在机器上,这也是我对 VS 2013 的目标。我知道我一定遗漏了一些明显的东西,但无法锁定可能遗漏的东西。

我会为 Any CPU 编译应用程序,但是当我这样做时,如果应用程序不是在 x86 下构建的,我从 SysWOW6432Node 注册表中读取的 DSN 数据将给我一个驱动程序错误.

提前感谢您提供的任何帮助。

CorFlags output on exe

Microsoft (R) .NET Framework CorFlags Conversion Tool.  Version  4.0.30319.33440
Copyright (c) Microsoft Corporation.  All rights reserved.

Version   : v4.0.30319
CLR Header: 2.5
PE        : PE32
CorFlags  : 0x3
ILONLY    : 1
32BITREQ  : 1
32BITPREF : 0
Signed    : 0

另外一点信息是在事件查看器中出现以下错误。我不知道这是否有帮助,但我想我会提供它。

- System
   - Provider
        [Name]           Wow65 Emulation Layer
   - EventID             1109
        [Qualifiers]     16384
     Level               4
     Task                0
     Keywords            0x80000000000000

此问题的解决方法是通过电子邮件将 EXE 作为 TXT 文件发送。显然,电子邮件扫描过程在附件中添加了一些内容,进而使 Windows 相信 EXE 既不是 x86 也不是 x64。我没有意识到我将 EXE 文件提供给的用户是通过电子邮件发送它然后遇到问题的。我为这个遗漏道歉,我感谢大家的建议和信息。