Я тоже столкнулся с этой проблемой, поэтому просто добавляю немного своего опыта.
У меня есть система службы Windows 2008 (я не видел этого на 2003 Server), и когда я останавливаю службу, экземпляр svchost.exe загружает исполняемый файл службы (видимый с помощью vmmap.exe или Process Hacker), не давая ему удаляется / перезаписывается во время удаления / установки. Экземпляр svchost.exe работает под управлением служб DHCP-клиента (Dhcp), TCP / IP NetBIOS Helper (lmhosts) и журнала событий Windows (EventLog).
В нашем случае мы создали запись в реестре, чтобы сделать исполняемый файл службы источником событий. (хотя я точно не знаю, почему мы это делаем или должны ли мы это делать).
Опытным путем, если я удаляю эту запись реестра до остановки службы, исполняемый файл не загружается svchost.exe и все в порядке. Если служба уже остановлена и исполняемый файл загружен программой svchost.exe, перезапуск службы журнала событий (или уничтожение процесса) также освобождает исполняемый файл.
Я предполагаю, что наш сервис работает некорректно (возможно, является побочным эффектом 32-разрядного процесса в 64-разрядной ОС?) Или неправильно установлен, но пока не выявил проблему.
Обновление: похоже, эта проблема возникает только в системах HP (а не в Dell или IBM), что любопытно. Установлены специфичные для HP компоненты управления, поэтому, возможно, один из них как-то меняет поведение?