Есть ли хороший способ сравнить библиотеки DLL, загруженные между двумя машинами, на которых запущено одно и то же приложение. (И чтобы воспроизвести процесс между N другими машинами, двумя за раз?)
Справочная информация: я пытаюсь отследить проблему с конфигурацией / настройкой. Это давняя проблема типа DLL-ада, когда приложение запускается на одной машине, но не на другой.
Я исключил наш установщик как проблему; он стабилен, но есть различия между целевыми системами. Различные варианты Windows, версии MDAC и т. Д.
Я пробовал: экспортировать снимки EXE с помощью Proc Explorer в файл с разделителями и использовать Excel для сравнения. Но это очень трудоемко и подвержено ошибкам. (Я не исключаю возможности Excel, просто я не знаю достаточно трюков, чтобы использовать его в своих целях.)
(Изначально я разместил этот вопрос на StackOverflow, но это привело к перекати-поле. Надеюсь на удачу здесь. Спасибо!)
У меня нет времени писать для вас весь сценарий, но вы можете позвонить handle.exe -p process_name.exe
, grep для DLL, о которых вы заботитесь (возможно, всех), а затем запустите sigcheck
против каждого из них. Sigcheck имеет различные параметры, включая хеширование файлов, если вы не можете полагаться на информацию о сообщаемой версии.
handle и sigcheck также взяты из SysInternals.