Способ предотвратить перезагрузку компьютера Центром обновления Windows?
1487
Russell Patterson
Я ищу способ предотвратить перезапуск / установку обновлений Windows во время работы моей программы.
В настоящее время я настраиваю раздел реестра, который находится в:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Microsoft \ Windows \ WindowsUpdate \ AU
называется "AUOptions". Я устанавливаю это значение на «2», однако в Vista это не работает, так как мой компьютер перезагружался прошлой ночью. UAC в настоящее время полностью выключен. Есть другие идеи?
Это решение предназначено только для вас лично на вашем ПК или для вашей программы, которая может потенциально работать на других ПК?
Kurt W. Leucht 14 лет назад
0
Этот код будет работать на более чем 5000 машин.
14 лет назад
0
Это был бы хороший вопрос кандидата для области бета-суперпользователей.
Nazadus 14 лет назад
0
Вы ищете программный метод? Если так, это относится к stackoverflow (и не должно было быть перенесено ...)
bdonlan 14 лет назад
0
Да, я ищу способ сделать это в C #. Я действительно не знаю, почему это было перенесено. Я думаю, что вопрос в любом случае стоит посередине.
Russell Patterson 14 лет назад
0
Что ж, если у меня на компьютере настроен Центр обновления Windows, он будет загружать обновления, но на самом деле не будет устанавливать / перезагружать их, пока я не решу это сделать (поскольку мне нравится держать компьютер включенным большую часть времени и не как необходимость заново открывать все, что я открыл до перезагрузки компьютера).
Будучи потенциально экстремальным, это было бы простым решением вашей проблемы, хотя и не программным.
Я думаю, что это именно то, что установка ключа реестра должна делать.
14 лет назад
0
2
Я не знаю, является ли это приложением Windows Forms или нет, но вы можете отменить завершение работы в обработчике событий FormClosing приложения Windows Forms следующим образом:
Возможно, обновление Windows переопределит это, но нормальному отключению пользователя будет препятствовать этот код (по крайней мере, в XP).
если вы сделаете это, программа останется открытой?
14 лет назад
0
Да, он полностью отменяет завершение работы и оставляет приложение запущенным.
14 лет назад
1
2
chakrit
ИМО лучшим подходом было бы изучить, как ваше приложение может автоматически перезапускаться после перезапуска Windows.
Я часто оставлял несколько экземпляров Visual Studio, некоторые окна обозревателя и некоторые браузеры, работающие, когда я возвращаюсь домой и когда я возвращаюсь на следующее утро, все приложения все еще работают. Поэтому я думаю, что может быть способ обнаружить и автоматически зарегистрировать приложение для перезапуска.
Я думаю, что это может быть более задокументировано и легко реализовано, чем попытка предотвратить закрытие окон.
Проблема в том, что пользователям придется снова войти в систему, прежде чем программа запустится снова. Это не приемлемо.
14 лет назад
0
@ rwponu Понятно ... не могли бы вы подробнее рассказать о ситуации и почему это желаемое поведение?
chakrit 14 лет назад
0
Программа представляет собой будильник. Если компьютер перезагружается из-за обновления Windows, очевидно, я разозлил немало пользователей.
Russell Patterson 14 лет назад
0
Я хочу отключить обновление Windows только во время работы моей программы. Это должно начаться снова, когда программа закрыта.
14 лет назад
0
0
Atmocreations
Это не хорошее решение, но возможное: просто убить / остановить сервис.
Вы также можете (по крайней мере, это работает в Windows XP) изменить параметры политики с помощью gpedit.mscпанели. Не знаю, может ли редактирование групповых политик быть сделано программно.
0
Greg
Запустите этот процесс, чтобы полностью остановить Windows Update (на свой страх и риск):
sc.exe stop wuauserv
Ваш ответ без подробностей и его трудно понять. Пожалуйста, рассмотрите возможность пересмотра своего ответа, чтобы предоставить более подробную информацию. Например, что на самом деле делает этот процесс?
KronoS 11 лет назад
0
Я сделал это вики. Пожалуйста, не стесняйтесь редактировать.
Greg 11 лет назад
0