1.7. А что знаменитый DLL-hell?
1.7. А что знаменитый DLL-hell?
Этой проблеме было уделено самое пристальное внимание. Причём, к этому вопросу подошли более комплексно, чем когда-либо до этого. Во первых, никому не дадут просто так перезаписать какой либо DLL в системной директории. Кроме этого, остался знакомый нам по W2k механизм SFC, System File Protection. Эта система мониторит основные системные файлы, и в случае замены какого-либо из них, меняет всё обратно. Кроме этого, в Microsoft почему то позаботились об криворуких программистах, которые не могут писать нормально, и им обязательно надо чтобы их творение работало с собственными DLL, подменяющими системные. При инсталляции такой программы, эти переделанные DLL всё-таки будут записываться на диск, но не вместо системных. Потом, при запуске такой программы, в случае вызова DLL должен вызываться не системный файл, а заранее сохранённый файл именно от этой программы. Хранятся эти DLL в подкаталоге WinSxS, что означает Windows Side by Side (бок о бок), что весьма символично.