2013-03-18 22 views
9

Ich arbeite an einem Projekt, wo mehrere Software und Treiber auf einem Windows 7 PC installiert sind. Dies soll ohne Benutzereingaben funktionieren. Jetzt ist die Frage: Wie kann ich in diesem Programm feststellen, ob ein Neustart erforderlich ist, um eine Installation zu beenden (kann Treiber oder Software sein).C#: Wie kann ein erforderlicher Neustart für Windows 7 erkannt werden

Wir arbeiten an Windows 7 eingebettet und es gibt keine Taskleiste aktiviert oder Tooltips oder etwas ähnliches sichtbar. Die Software wird im unbeaufsichtigten Modus installiert.

Antwort

8

Verwenden Sie den folgenden Registrierungsschlüssel:

HKLM\System\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations 

Quelle: How to find out if an MSI I just installed requested a windows reboot?

Wie der Fragesteller dieser Frage entdeckt HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending zeigt, wenn ein Neustart so lange an der Maschine anhängig die OS Vista oder neuer.

+0

Funktioniert das auch für Fahrer? Nur um es zu wissen, weil ich gelesen habe, dass es nicht 100% sicher ist ^^ Danke trotzdem – hoffmanuel

+0

Ich würde davon ausgehen, es hängt davon ab, wie die Treiber installiert sind. Ich empfehle Ihnen, diese Registrierung auf Ihrem Embedded-System nach der Installation zu überprüfen. Wenn der Schlüssel die gesuchten Informationen nicht enthält, aktualisieren Sie die Frage mit den neuen Informationen. –

+0

Alle Treiber werden direkt über inf installiert, mit der Funktion pinvoke und DiInstallDriver von newdev api. Ok danke ich werde das versuchen und mit weiteren Informationen zurückkommen. – hoffmanuel