Вы пишете ахинею, безотносительно проблем Windows. Програмный продукт для системы Windows (или хоть самой Windows, некоторых отдельных компонент) может иметь installation package/update с выставленным уровнем привилегий, от lowest до admin. Обычно это MSI файл. Необходимый уровень привилегий может определяться типом обновления: на уровне User (ничего не делать с сессией не надо) или Local Machine (*текущему* пользователю надо минимум перелогиниться) или требуется обновить kernel driver (обязательна перезагрузка). Для форсирования прерывания сессий нужен более высокий уровень привелегий. Если надо обновить софт на уровне user, перезагрузка не нужна. И это понятно, что да, в Linux можно даже kernel драйверы устройств отцеплять и прицеплять без перезагрузки, зачастую беря на себя ответственность за последствия.helg wrote:Поэтому обновления в Windows проводятся на "уровне Windows", помойке огромного размера, а не на уровне подсистемы. Нормальное обновление Windows идет по сценарию:Это подразумевает ребут. Возможность сделать что-то без ребута - это удача, гнусный хакCode: Select all
10 Остановить Windows 20 Заменить файлы Windows 30 Запустить Windows
Популярный виндовый тул Inno Setup про PrivilegesRequired. В нашем продукте есть b lowest и admin привелегии, в соответствии с которыми инсталлер либо не беспокоит пользователя совсем, либо явно-неявно запрашивает разрешение, в зависимости от типа апдейта.