64位应用程序启动32位进程

3

我正在开发一个使用.Net 4.0,C#编写的64位应用程序。

在这个应用程序中,有一些情况下,我需要使用以下代码启动另一个exe文件:

l_process.StartInfo.FileName = _sFullFilePath;
l_process.StartInfo.Verb = "Open";
l_process.StartInfo.CreateNoWindow = true;
l_process.StartInfo.Arguments = l_sParams;

l_process.Start();

现在,这个外部应用程序是在32位环境(x86)下编译的,我得到了以下错误信息:
**The specified executable is not valid for this OS platform**

这是可能的吗?如果是,我该如何在没有问题的情况下从我的应用程序启动此应用程序?

我经常这样启动进程 - 所以它是有效的。检查你的设置 - 可能32位应用程序并不真正是32位的(以54位启动,链接到32位库)。 - TomTom
2
这个环境能否执行外部应用程序? - Oded
1
@TomTom - 54位应用程序是什么鬼? - Security Hound
1个回答

2

  1. 单独运行它是可以的!
  2. 我的代码中是否需要做些什么来告诉我的应用程序它是一个32位的exe文件!
- Andy M
请使用 depends 工具检查是否缺少任何 DLL 文件或者 32 位应用程序尝试链接 64 位应用程序所需的 64 位 DLL 文件。 - Azodious

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接