Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемы с запуском 32бит exe в WinSrv 2008 R2, загружает 64битную rtlutils.dll 
:(
    Опции темы
kami
Дата 23.12.2013, 22:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 22
Всего: 72



Здравствуйте, уважаемые!
Есть проблема - периодически (непонятно почему) 32 битный экзешник пытается подхватить 64-битные длл со всеми вытекающими последствиями типа AppCrash.
Первый раз с таким столкнулся, просьба не пинать, возможно вопрос даже не сюда, а в форум по Windows.
В качестве примера (скопирована часть данных из журнала событий):
Код

<System>
  <Provider Name="Application Error" /> 
</System>
<EventData>
  <Data>H:\MyApp\Router.exe</Data> 
  <Data>C:\Windows\system32\rtutils.dll</Data> -- а вот оно тут как-то очень не.

А, например, сейчас приложение  стартовало нормально, в ProcessExplorer наблюдаю подключенную длл: C:\Windows\SysWOW64\rtutils.dll

Приложение своё, 32битное. "Ручками" ничего из этой библиотеки не импортирую, но подозреваю, что этим занимается IWebBrowser2 (вообще не нашел у себя в D2010, в моем коде и в сторонних сырцах упоминания rtlutils).
Ось: Win Server 2008 R2 Ent. x64 SP1
IE: v10
Сами dll (что 32, что 64 бит) "подлинные", ProcessExplorer говорит "Verified".

Проблема с этой dll выскакивает чаще всего. Пару дней назад вываливалось еще где-то на msxml6 (кажется), но сейчас уже не уверен в этом.

Собственно - не знаю даже, с какой стороны подступиться к этому. Подскажите что-нибудь, а?
PM MAIL WWW   Вверх
Delvish
Дата 24.12.2013, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


oO
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 13.12.2006

Репутация: нет
Всего: 4



День добрый!
Смею предположить, что не работает механизм перенаправления WOW64
http://support.microsoft.com/kb/971163/ru
PM MAIL   Вверх
kami
Дата 24.12.2013, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 22
Всего: 72



Цитата(Delvish @  24.12.2013,  16:06 Найти цитируемый пост)
Смею предположить, что не работает механизм перенаправления WOW64

Полностью поддерживаю предположение, но - не понял, при чем здесь STDХХХ? Поясните, пожалуйста.
PM MAIL WWW   Вверх
Delvish
Дата 24.12.2013, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


oO
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 13.12.2006

Репутация: нет
Всего: 4



В самою суть работы ядра х64 я не вдавался, но если грубо, то х32 приложения в ОС х64 выполняются не нативно, а в неком эмуляторе, т.е. существует прослойка, подключающая необходимые х32 библиотеки для обратной совместимости приложений (эдакий DosBox для 16-битных приложений). Т.о. у Вас происходит ситуация, когда один из механизмов перенаправления дает сбой и ОС считает что приложение не требует запуска эмуляторной прослойки. Более подробно (хотя отвлеченно немного от темы) по ссылке http://rakafon.blogspot.ru/2009/04/32-bit-dll-64-bit.html
Исправление беды кроется в каком-то из KB от Microsoft. Точнее подсказать, увы, не могу.
PM MAIL   Вверх
kami
Дата 25.12.2013, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 22
Всего: 72



Цитата(Delvish @  24.12.2013,  22:11 Найти цитируемый пост)
х32 приложения в ОС х64 выполняются не нативно, а в неком эмуляторе, т.е. существует прослойка, подключающая необходимые х32 библиотеки для обратной совместимости приложений

Да, я понимаю, что все дело в подсистеме WOW64, но мне от этого не легче.
Пересобрать приложение под х64 не могу, т.к. D2010.
В сети нашел еще несколько жалоб на краши, связанные с этой dll именно на этой оси, но однозначного решения в прочитанных топиках не было, только в одном проскользнула рекомендация внести в исключения DEP.

Проблему обошли - поставили приложение на комп с Win7 smile


PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0722 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.