Rucha
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Давно пользуюсь этой программой и хочу поделиться своими соображениями по поводу ее работы... Как известно в винде используется технология Shared dll - однажды установленная dll-ка может использоваться большим кол-вом программ, установленных в последствии. Для корректного удаления таких dll-файлов используется счетчик кол-ва программ, которые используют ту или иную dll, хранящийся в реестре. Т.е. при установке проги, которая нуждается в установленной ранее dll-ки, в реестре увеличивается на 1 счетчик использования этой dll. При удалении этой программы он соот-но уменьшается. Таким образом можно определить, использует кто-либо конкретную shared-dll или ее можно безболезненно удалить. Эта проблема является одной из составляющих термина "Dll hell". Существует другая проблема, связанная с удалением файлов: удаление программ, которые запущены в данный момент. Для этого программу надо остановить, но не каждую программу можно остановить не перегружая ОСь. Теперь что мы имеем в результате? Предположим какая-то программа использует shared-dll и не может быть выгружена из системы без перезагрузки. Я такие программы удаляю так: 1. Обычное удаление. При попытке удалить активные/запущенные/залоченные файлы шампунь ругается, что не может их удалить, но ссылки из реестра удаляет нормально. 2. Перегружаюсь. Запускаю шампунь еще раз и загружаю тот-же лог. Запускаю удаление вновь. Все удаляется без следов. Такой метод всегда срабатыал нормально, но недавно, удаляя bluetooth стек от Widcomm я обнаружил, что перестал корректно работать TCP/IP стек. При этом в шампуне установлена опция Never Delete DLL files в Preferences->Delete->Shared Dll. Теперь вопросы: 1. Как шампунь поступает со счетчиком использования Shared Dll? Насколько корректно он работает с этой "технологией"? 2. Как корректно удалять программы, которые висят в памяти и не выгружаются без перезагрузки (драйверы и пр.)? 3. Как могла произойти поломка TCP/IP стека в моем случае и как этого избежать в дальнейшем? |