2010-07-31 3 views
3

Я получаю эту ошибку, когда пытаюсь запустить программу, которую я создал на C++. Он отлично работает на моем другом компьютере (XP SP3 32bit), но не на моей 64-битной версии Windows 7. Когда я запускаю Dependency Walker в программе, он сообщает мне, что IESHIMS.dll отсутствует, однако он находится в папке Internet Explorer как 32, так и 64-битной версии.«Приложение не удалось правильно инициализировать (0xc000007b)».

Может ли кто-нибудь мне помочь?

ответ

16

Код ошибки STATUS_INVALID_IMAGE_FORMAT, "Mumble либо не предназначен для работы на Windows, или содержит ошибку. Попробуйте установить программу еще раз, используя оригинальные средства инсталляции или обратитесь к системному администратору или поставщику программного обеспечения для поддержки. "

Который немного устарел, возможно, для 64-разрядной версии Windows, 90% шансов состоит в том, что ваша 32-разрядная программа пытается загрузить 64-разрядную DLL. Существует много того, что делает Windows, чтобы это не происходило. Виртуализация файловой системы гарантирует, что загрузка DLL из c: \ windows \ system32 перенаправляется на c: \ windows \ syswow64, где находится 32-разрядная библиотека DLL. Виртуализация реестра гарантирует, что COM-серверы сопоставляются с битостью COM-клиента.

Есть что-то, что вы делаете, обходя эти контрмеры. Возможно, вы использовали SetDllDirectory(). Или вы скопировали DLL в ту же папку, что и EXE. Или вы надеетесь, что переменная среды PATH системы поможет вашей программе найти нужную DLL. Что-то в этом роде, от вашего вопроса не совсем ясно. Должна быть запись об этом в журнале событий Windows (не на 100%). Если все остальное не удается, утилита ProcMon SysInternals может показать вам, какой файл он пытается загрузить.

+1

Хм хорошо. Ну, я вижу, что я установил 64-битную версию MySQL. Я не уверен, что это будет проблемой, поскольку загружено еще много DLL, но, конечно, это приводит к попытке загрузки 64-битных драйверов из MySQL. Надеюсь, 32-битная версия не будет конфликтовать с 64-битной версией ..! – lordstyx

+0

Да, это будет сделано. –

+0

Спасибо большое! Теперь это исправлено. – lordstyx