Мое приложение использует функции DBGHELP.DLL, особенно информацию о загруженных DLL целевыми процессами. Тем не менее, часто происходит сбой на версиях Windows ниже Vista (вы знаете, что XP все еще там!). Осмотрелся и обнаружил, что установленный / существующий DBGHELP.DLL в целевой системе устарел и не поддерживает много новых функций (например, несколько флагов MiniDumpWriteDump не поддерживаются в более старых версиях).
Эта страница упоминает о версиях DbgHelp и неопределенно упоминает о распространении DBGHELP.DLL (и других DLL). DLL, поставляемые с ОС, не должны поставляться (согласовано, и никаких проблем по этому поводу). Затем говорится, что должна быть поставлена последняя DLL из «Средства отладки для Windows».
Мой вопрос: Какую версию можно / нужно отправить вместе с приложением? Выбрать последнюю версию и предположить, что она будет работать в самой низкой ОС (XP)? Конечно, я не буду поставлять отладочную версию этой DLL. «Версии DbgHelp«На странице не упоминается о поддержке конкретных ОС — поэтому мы можем предположить, что даже самая последняя версия будет поддерживаться в XP.
Я бы поместил DLL в каталог приложения и мог бы условно вызывать такие функции, как SetDllDirectory. При необходимости, сама DLL и / или любые функции DBGHELP.DLL могут быть загружены динамически.
Связанные с:
Задача ещё не решена.
Других решений пока нет …