Как заменить dll?

2354570

Пропатчил на Win 2003 Server uxtheme.dll, но работает она теперь коряво. Хочу заменить её на оригинальную, но винда не даёт это сделать даже в Safe Mode, мол, файл используется приложениями.
Помню, какие-то проги были, которые позволяют переписывать даже "занятые" файлы. Не подскажите их или другой способ заменить длл-ку?

sirius

Загрузись с Live-CD и замени.

multifinger

Копируешь оригинальный файл в %systemroot%\system32\dllcache, файл в %systemroot%\system32\ переименовываешь. Или как вариант sfc /scannow

2354570

Копируешь оригинальный файл в %systemroot%\system32\dllcache, файл в %systemroot%\system32\ переименовываешь. Или как вариант sfc /scannow
Спасибо. Но разве винда даст переименовать? Файл же системный.

multifinger

Удалить не даст, а вот переименовать разрешает. Хз, почему так.

Impils

А если отключить службу "Themes", тоже не даст заменить ?

2354570

А если отключить службу "Themes", тоже не даст заменить ?
Неа.

Andbar

А если отключить службу "Themes", тоже не даст заменить ?
эта дллка загружена у почти всех гуишных приложений. Её надо переименовывать (удалив предварительно из dllcache) и положить туда нужную.

2354570

Её надо переименовывать (удалив предварительно из dllcache) и положить туда нужную.
Имеется ввиду system32\dllcache ?
У меня такой папки нет. Надо создать?

12345

При рабочей винде не получиться это сделать.
Лучше через загрузочный диск или через RC

multifinger

При рабочей винде не получиться это сделать.
Я сейчас попробовал - все получается: и удалить, и переименовать.

12345

Я сейчас попробовал - все получается: и удалить, и переименовать.

Винда тебя обманула.
На самом деле, ты удаляешь копию и переименовыаешь тоже копию. Попробуй удалить его и ты обновить страницу в проводнике - ты увидишь опять тот же первоначальный файл

multifinger

Винда тебя обманула.
На самом деле, ты удаляешь копию и переименовыаешь тоже копию. Попробуй удалить его и ты обновить страницу в проводнике - ты увидишь опять тот же первоначальный файл
Какие нах копии? Удаляется все нормально. Вот тебе скриншот, показ скрытых и системных файлов включен

kruzer25

Ты, видимо, не обновлял инфу в проводнике? Тогда прокрути до конца - тебя ожидает сюрприз.

multifinger

Помимо просмотра в проводнике списка файлов и нажатия F5 я владею другими способами проверки наличия файла на диске Например:
1.) поиск файла c помощью Far;
2.) логическим методом, а именно - копированием этого файла из другой папки обратно в system32. Если бы данный файл уже был в папке, то проводник или любой другой толковый файловый менеджер предупредил бы меня.

aleks058

Насколько я знаю, так потому, что NTFS.
Открытые файлы адресуются по дескриптору. У файла дескриптор не меняется даже при переименовании. Так что переименовать открытый файл можно.

12345

Я удалил сначала этот длл из системного кэша, а потом и сам файл переименовал и тут же винда ругнулась на то, что нет требуемого файла, вставьте сидюк с дистрибутивом.
Винда и в самом деле, даже после переименования системного файла продолжает его использовать до первой перезагрузки. На первой же перезагрузе она восстанавливает оригинальное имя и файл из системного кэша.

kruzer25

Ну так в кэше тожэе переименуй

12345

Ну так в кэше тожэе переименуй
А вот это уже другой ответ.
Оставить комментарий
Имя или ник:
Комментарий: