???: Что такое DLL-hell?
H:Эта проблема Windows 9x. Она заключается в том, что любая прога может изменять системные DLL файлы. А как известно, не у всех программистов прямые руки и не все тонкости мы знаем из-за скрытости платформы windows, поэтому самостоятельно созданные системные DLL могут нарушить работму ядра Windows. В Windows 2000 эта проблема решена и как заявляет MS теперь нельзя изменять системные файлы. Это значит, что проги подменяющие системные DLL не будут работать в Win 2000.
Microsoft наверно не в курсе, но их же SQL Server 7.0 подменяет системные файлы в Win2000. После установки этого MS SQL сервера, Windows 2000 выводит сообщение о том, что системные файлы были изменены и надо вставить дестрибутив, чтобы всё вернулось на родину. Вроде всё нормально, но есть одна проблема - можно отказатся и системные файлы не будут восстановлены, а это значит, что любая другая прога также заменит любую DLL и лоховый пользователь воспримет это как должное, потому что желание запустить нужную прогу выше, чем безопасность системы.
???: У меня не ставятся некоторые проги под Win2000. Я запускаю инсталлятор, а он просто не запускается, при этом он даже не выдаёт никаких ошибок.
H:Известная проблема. Я сразу же столкнулся с ней, потому что Delphi 5.0 не ставится под Win 2000. А ты не заметил, что все инсталяторы этих прог собраны InstallShield-ом? Вот именно в нём и кроется проблема. Он неправильно определяет расположение временных директорий. Для исправления проблемы щёлкни правой кнопкой крысы по "Мой компьютер", войди в свойства, теперь закладка "Дополнительно", теперь кнопка "Параметры среды". Если всё сделал правильно, то ты увидешь окно, как на рис 1.
Как видишь, в пути используется переменные типа %SystemRoot%, вот это и не понимает InstallShield. Исправь на нормальный путь типа c:\Winnt\Temp и всё будет в порядке. Хотя после этого некоторые программы настройки сервисов Win2000 могут перестать запускаться, поэтому после инсталляции желательно вернуть всё на родину.
Есть ещё один способ. В директории Support твоего дестрибутива Windows лежит маленькая утилита Apcompat.exe. Запусти её. Нажми кнопку "Browse" и выбери setup.exe той проги, которую хочешь проинсталировать. Установи флажок "Use pre-Windows 2000 Temp path" и щёлкни ОК. Запустится твоя инсталяция, Apcompat.exe проэмулирует нормальные пути к временным деректориям.