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 стека в моем случае и как этого избежать в дальнейшем? |