Я ищу способ препятствовать тому, чтобы Windows перезапустил/установил обновления, в то время как моя программа работает.
В настоящее время я устанавливал ключ реестра, который расположен в:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU
названный "AUOptions". Я устанавливаю это на "2", однако это, кажется, не работает в Vista как мой компьютер, перезапущенный вчера вечером. Контроль учётных записей в настоящее время абсолютно выключен. Какие-либо другие идеи?
Необходимо использовать другую установку реестра для этого:
HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU
Затем установите это на 1:
NoAutoRebootWithLoggedOnUsers
Я также соединил загружаемый патч реестра для этого, если Вы хотите это вместо этого.
Ну, способ, которым мне настроили Windows Update на моем компьютере, он загрузит обновления, но на самом деле не установит/перезапустит их, пока я не приму решение сделать так (поскольку я люблю сохранять свой компьютер на большей части времени и не люблю иметь необходимость вновь открыть все, что я открыл, прежде чем компьютер перезапустил).
В то время как потенциально экстремальное значение, это было бы простым решением Вашей проблемы, хотя не программная.
Я не знаю, является ли это приложением форм окон или нет, но можно отменить завершение работы в обработчике событий FormClosing приложения форм окон таким образом:
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (e.CloseReason == CloseReason.WindowsShutDown)
{
e.Cancel = true;
}
}
Возможно, что обновление окон переопределит это, но завершение работы обычного пользователя будет предотвращено этим кодом (по крайней мере, в XP).
IMO, который должен был бы изучить лучший подход, как Ваше приложение может автоматически перезапустить после окон, перезапустил.
Я часто оставлял несколько экземпляров Visual Studio, некоторые окна проводника и некоторое выполнение браузеров, когда я иду домой и когда я вернулся следующим утром, все приложения все еще работают. Таким образом, я думаю, что мог бы быть путь к, обнаруживает, и автоматически зарегистрируйте приложение для перезапуска.
Я думаю, что это могло бы быть более зарегистрировано и легко реализовано, чем попытка предотвратить окна от когда-либо закрытия.
Существует установка групповой политики в XP, Vista и Win7. Обратите внимание, что gpedit.msc не установлен на версии для домашнего использования Vista.
Это не хорошее решение, а возможное: просто уничтожьте/остановите сервис.
Вы могли бы также (по крайней мере, это работает над Windows XP), изменяют настройки политики с помощью gpedit.msc
панель. Не знайте, если редактирование групповых политик может быть сделано программно также.
Выполните этот процесс для остановки Windows Update полностью (в собственной опасности):
sc.exe stop wuauserv