2008-12-01 79 views
3

我们有一个32位应用程序,在其进程中启动其他32位应用程序。该应用程序在其他64位平台,但在Windows Server 2003 64位上工作正常,我们得到一个错误尝试启动应用程序:为什么CreateProcess在Windows Server 2003 64位中失败?

error 193 (not a valid 32 bit application) 

我们可以手动启动系统,这些应用程序上没有任何问题。

我以为我们发现问题this article,但我们的客户已经在他的系统上有这个补丁,并且错误仍在发生。

如果其他人遇到过类似的事情,或者如果有人对如何解决这个问题有任何想法,将不胜感激!

谢谢! FrançoisCôté

+0

你可以发布你打的电话吗?只需更改任何敏感信息,如果我们知道您传递了什么参数,将会有所帮助。 – Kiril 2008-12-01 21:23:00

回答

0

您确定要启动的应用程序是针对32位编译的吗?当你直接运行每个应用程序时,确保它们在WOW64中运行。如果它们不是,那么Windows将它们作为64位应用程序运行,这可能会导致您遇到的问题。

+0

感谢Pedro为您的时间...我知道应用程序是32位,因为我编译了它们。他们在我们的实验室中正确运行,我会在下次连接到客户系统时检查。 – FrankTKO 2008-12-01 22:40:19

1

IIRC,即使应用程序确实是一个有效的32位.exe,也可以得到该错误代码,以解决各种其他原因,例如dll依赖项问题。或者,如果Windows加载程序被路径中的64位dll混淆,并且它与需要的32位dll具有相同的名称。

1

您可能想要使用依赖关系助理使用“自动打开和配置子进程”选项来执行运行时配置文件。这会给你一个更好的想法,它有多远,以及它在运行时解决哪些依赖关系。

相关问题