eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
обновлён 2 декабря!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме:
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Основной форум —› Определить нужный рантайм
Посл.ответ Сообщение

Ранг: 576.8 (!)
Статус: Модератор

Создано: 16 августа 2010 16:04 New!
Цитата · Личное сообщение · #1

Пришел софт. При запуске вываливался с ошибкой "Не могу загрузить .dll"
Проверил .длл - оказалось хочет msvc runtime. Накатил redist-2005, 2005sp1, 2008, 2008sp1. Длл подхватилась, но теперь основная программа вылетает с Runtime ошибкой о некорректном завершении.
Судя по коду, где-то внутрях работы с CMap. Причем идет десятка 3 вызовов нормально, а потом вызов, который приводит к RaiseException.

В связи с чем вопросы:
1. Могут ли конфликтовать в пределах одного ПО рантаймы?
2. Как вычислить необходимый и достаточный рантайм?


Ранг: 325.8 (мудрец)
Статус: Участник

Создано: 16 августа 2010 16:51 New!
Цитата · Личное сообщение · #2

runtime dll нужна только для запуска проги, на саму работу проги она не влияет, так что ищите ошибку в софте.

Ранг: 56.1 (постоянный)
Статус: Участник

Создано: 16 августа 2010 17:43 New!
Цитата · Личное сообщение · #3

>Как вычислить необходимый и достаточный рантайм?
посмотреть в импорте номер msvcrXX.dll

Ранг: 576.8 (!)
Статус: Модератор

Создано: 16 августа 2010 17:51 New!
Цитата · Личное сообщение · #4

не могу с вами согласиться. afaik, runtime - это набор длл таких как msvcrt.dll, msvcpXX.dll, msvcrXX.dll и т.д. поэтому не вижу причин говорить что "нужна только для запуска проги, на саму работу проги она не влияет".
Как будет разруливаться ситуация, если dll билдили в 2005 студии с MultiThreaded DLL опцией, а основное приложение в 2008 студии с той же опцией? Будут ли загружены рантаймы обеих версий или только новый/старый?
Является ли более новый рантайм надмножеством или конкретные версии должны быть установлены на ПК?

Ранг: 56.1 (постоянный)
Статус: Участник

Создано: 16 августа 2010 18:11 New!
Цитата · Личное сообщение · #5

>Является ли более новый рантайм надмножеством или конкретные версии должны быть установлены на ПК?
нет, не является

>Как будет разруливаться ситуация, если dll билдили в 2005 студии с MultiThreaded DLL опцией, а основное приложение в 2008 студии с той же опцией?
Программе наплевать, чем её компилили. У неё есть таблица импорта, в которой написано, какие библиотеки ей нужны.

Ранг: 49.7 (посетитель)
Статус: Участник

Создано: 16 августа 2010 20:42 New!
Цитата · Личное сообщение · #6

обычно в ресурсах в манифесте записывается версия и билд необходимого рантайма. Разные билды одной версии рантайма не заменяют друг-друга, а устанавливаются паралельно

Ранг: -0.9 (нарушитель)
Статус: Участник

Создано: 11 февраля 2011 13:08 New!
Цитата · Личное сообщение · #7

+1, смотри в манифесте. Если рантайм с таким именем уже есть а версии в манифесте не попадают, то можно поправить манифест и тогда заработает.


Ранг: 1995.9 (!!!!)
Статус: Модератор
retired

Создано: 11 февраля 2011 13:53 New!
Цитата · Личное сообщение · #8

Ты дату вообще видел?
 eXeL@B —› Основной форум —› Определить нужный рантайм
Эта тема закрыта. Ответы больше не принимаются.

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS