Подмена системной 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. Вот тут я и сломался. Люди добрые, люди сведущие, помогите неразумному, а?

Подмена системной DLL: 1 комментарий

Обсуждение закрыто.