Eine Möglichkeit, um zu verhindern, dass Windows Update den Computer neu startet?

1964
Russell Patterson

Ich suche nach einer Möglichkeit, um zu verhindern, dass Windows Updates neu startet / installiert, während mein Programm ausgeführt wird.

Derzeit habe ich einen Registrierungsschlüssel festgelegt, der sich in:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Microsoft \ Windows \ WindowsUpdate \ AU

"AUOptions" genannt. Ich setze dies auf "2", jedoch scheint dies in Vista nicht zu funktionieren, da mein Computer gestern Abend neu gestartet wurde. Die Benutzerkontensteuerung ist zurzeit vollständig deaktiviert. Irgendwelche anderen Ideen?

6
Ist die Lösung nur für Sie persönlich auf Ihrem PC oder für Ihr Programm, das möglicherweise auf anderen PCs ausgeführt wird? Kurt W. Leucht vor 14 Jahren 0
Dieser Code wird auf über 5000 Maschinen ausgeführt. vor 14 Jahren 0
Dies wäre eine gute Kandidatenfrage für den Beta-Super-User-Bereich. Nazadus vor 14 Jahren 0
Suchen Sie eine programmatische Methode? Wenn ja, gehört dies zu stackoverflow (und sollte nicht migriert worden sein ...) bdonlan vor 14 Jahren 0
Ja, ich suche nach einer Möglichkeit, dies in C # zu tun. Ich weiß nicht wirklich, warum das migriert wurde. Ich denke, die Frage ist irgendwie in der Mitte. Russell Patterson vor 14 Jahren 0

7 Antworten auf die Frage

7
The How-To Geek

Sie müssen dafür eine andere Registrierungseinstellung verwenden:

HKLM \ SOFTWARE \ Policies \ Microsoft \ Windows \ WindowsUpdate \ AU

Dann setze dies auf 1:

NoAutoRebootWithLoggedOnUsers

Ich habe auch einen herunterladbaren Registry-Patch für diesen Patch zusammengestellt, wenn Sie dies möchten.

4
JAB

Auf die Art und Weise, wie ich Windows Update auf meinem Computer konfiguriert habe, werden zwar die Updates heruntergeladen, aber erst dann installiert bzw. neu gestartet, wenn ich mich dazu entscheide (da ich meinen Computer meistens eingeschaltet lassen möchte und nicht Ich muss alles neu öffnen, was ich vor dem Neustart des Computers geöffnet hatte.

Obwohl dies extrem sein könnte, wäre dies eine einfache Lösung für Ihr Problem, jedoch keine programmatische.

Ich denke, das ist eigentlich das, was das Setzen des Registrierungsschlüssels tun soll. vor 14 Jahren 0
2

Ich weiß nicht, ob dies eine Windows Forms-App ist oder nicht, aber Sie können ein Herunterfahren im FormClosing-Ereignishandler einer Windows Forms-App auf diese Weise abbrechen:

 private void Form1_FormClosing(object sender, FormClosingEventArgs e) { if (e.CloseReason == CloseReason.WindowsShutDown) { e.Cancel = true; } } 

Es ist möglich, dass ein Windows-Update dies überschreibt, aber ein normales Herunterfahren des Benutzers wird durch diesen Code verhindert (zumindest in XP).

Bleibt das Programm dann weiterhin geöffnet? vor 14 Jahren 0
Ja, das Herunterfahren wird abgebrochen und die Anwendung läuft. vor 14 Jahren 1
2
chakrit

IMO wäre ein besserer Ansatz, zu untersuchen, wie Ihre Anwendung nach einem Neustart von Windows automatisch neu gestartet werden kann.

Ich habe oft mehrere Visual Studio-Instanzen, einige Explorer-Fenster und einige Browser ausgeführt, wenn ich nach Hause gehe und wenn ich am nächsten Morgen wieder da bin, laufen alle Anwendungen noch. Ich denke, dass es eine Möglichkeit gibt, die Anwendung zu erkennen und automatisch zu registrieren, um sie neu zu starten.

Ich denke, dass dies dokumentierter und einfacher zu implementieren ist, als zu versuchen, das Herunterfahren von Fenstern zu verhindern.

Das Problem ist, dass sich Benutzer erneut anmelden müssen, bevor das Programm erneut gestartet wird. Das ist nicht akzeptabel. vor 14 Jahren 0
@rwponu Ich verstehe ... Kannst du etwas näher auf die Situation eingehen? chakrit vor 14 Jahren 0
Das Programm ist ein Wecker. Wenn der Computer aufgrund eines Windows-Updates neu startet, bin ich offensichtlich ziemlich nervig. Russell Patterson vor 14 Jahren 0
1
Jon Galloway

In XP, Vista und Win7 gibt es eine Gruppenrichtlinieneinstellung . Beachten Sie, dass gpedit.msc auf der Vista-Home-Edition nicht installiert ist.

Ich möchte, dass Windows-Update nur deaktiviert wird, während mein Programm ausgeführt wird. Es sollte wieder starten, wenn das Programm geschlossen wird. vor 14 Jahren 0
0
Atmocreations

Es ist keine gute Lösung, aber eine mögliche Lösung: einfach den Dienst beenden / beenden.

Sie können auch (zumindest unter Windows XP) die Richtlinieneinstellungen über das gpedit.mscBedienfeld ändern . Ich weiß nicht, ob die Gruppenrichtlinien auch programmgesteuert bearbeitet werden können.

0
Greg

Führen Sie diesen Prozess aus, um Windows Update vollständig zu beenden (auf eigene Gefahr):

sc.exe stop wuauserv 
Ihre Antwort ist nicht detailliert und schwer zu verstehen. Bitte überdenken Sie Ihre Antwort, um mehr Details zu erhalten. Was macht dieser Prozess zum Beispiel wirklich? KronoS vor 11 Jahren 0
Ich habe dieses Wiki gemacht. Bitte zögern Sie nicht zu bearbeiten. Greg vor 11 Jahren 0