Skip to content

Подмена системной DLL

Занятная проблемка у меня возникла. Есть некая очень нужная программа “MyApp.exe”. Она использует очень системную библиотеку “SystemDll.dll”. После установки одного из хотфиксов, “SystemDll.dll” сменился с версии 1.0.0.0 до версии 1.0.0.1. Такое небольшое изменение привело к тому, что очень нужная программа “MyApp.exe” стала совершенно непотребно глючить. Внимание, вопрос: как сменить обратно “SystemDll.dll” версии 1.0.0.1 на версию 1.0.0.0?

Решение «в лоб» известно: грузимся с загрузочного диска и тупо копируем “SystemDll.dll” нужной версии в каталоги %windir%\system32\ и %windir%\system32\dllcache\. Но этот способ недостаточно изящен. Я хочу подменить эту “SystemDll.dll” только для “MyApp.exe”. В принципе, в Windows XP есть соответствующий механизм Isolated Applications and Side-by-side Assemblies (кратко о нем на пацанском языке), но если я правильно понял, для достижения поставленной цели мне придется создавать свой дистрибутив “MyApp.exe”, который будет устанавливать “SystemDll.dll” версии 1.0.0.0 в каталог %windir%\WinSxS\ и прописывать соответствующие manifest. Вот тут я и сломался. Люди добрые, люди сведущие, помогите неразумному, а?

На эту запись ссылаются (1):

  1. Тут Хумора.NET » Intellipoint и Nikon Capture NX on Четверг, Май 24, 2007 at 16:31

    […] История с таинственной dll-кой, мешающей жить очень нужной программе получила неожиданное (ну, кому как, на самом деле) продолжение. Оказалось, что проблема вовсе не в dll-ке, а в мышином драйвере от Microsoft — Intellipoint. В связи с этим предупреждаю: последняя версия Intellipoint 6.1 несовместима с Nikon Capture NX (именно она и есть та самая очень нужная программа): при наличии в памяти процесса point.exe Capture NX начинает неприятно подглючивать (скачут заголовки, плохо перерисовывается окно приложения, но на функциональность вроде не влияет). Более старые версии драйверов я пока не проверял.Однако виноват таки «малчык», т.е. Nikon — нафига, скажите мне, надо было писать столь критичное к производительности приложение на дотнете, а? […]