Почему CreateProcess не работает в 64-разрядной версии Windows Server 2003? - PullRequest
3 голосов
/ 01 декабря 2008

У нас есть 32-битное приложение, которое запускает другие 32-битные приложения во время своего процесса. Приложение работает нормально на других 64-битных платформах, но на 64-битной Windows Server 2003 появляется ошибка при попытке запуска приложений:

error 193 (not a valid 32 bit application)

Мы можем без проблем запускать эти приложения в этой системе.

Я думал, что мы нашли проблему с этой статьей , но наш клиент уже имеет этот патч в своей системе, и ошибка все еще происходит.

Если кто-то еще сталкивался с чем-то похожим или если у кого-то есть идеи, как решить эту проблему, это будет с благодарностью!

Спасибо! Франсуа Кот

Ответы [ 3 ]

1 голос
/ 13 января 2009

IIRC, вы можете получить этот код ошибки, даже если приложение действительно является действительным 32-разрядным .exe, для множества других причин, таких как проблема зависимости dll Или, если загрузчик Windows смущен 64-битными dll в пути с тем же именем, что и 32-битная dll, в которой он нуждается.

1 голос
/ 16 января 2009

Возможно, вы захотите создать профиль времени выполнения, используя средство обхода зависимостей, используя опцию «автоматически открывать и профилировать дочерние процессы». Это даст вам лучшее представление о том, как далеко он продвигается и какие зависимости он разрешает во время выполнения.

0 голосов
/ 02 декабря 2008

Вы уверены, что запускаемые приложения скомпилированы для 32-разрядных? Когда вы запускаете каждое из приложений напрямую, убедитесь, что они работают в WOW64. Если это не так, то Windows запускает их как 64-разрядные приложения, что может вызвать проблему, с которой вы столкнулись.

...