Ich habe einen Windows-Dienst, der während der Initialisierung mehrere COM+-Aufrufe tätigt. Auf einigen Systemen verursacht dieser Windows-Dienst einen Deadlock während des Starts.
Mindestens ein Dienst oder Treiber ist während des Systemstarts ausgefallen
Das Problem beim Aufruf von CoCreateInstance während des Starts eines Dienstes besteht darin, dass dadurch möglicherweise andere Dienste gestartet werden müssen. Und der SCM lässt nicht zu, dass andere Dienste gestartet werden, während er darauf wartet, dass der aktuelle Dienst in den Betriebszustand übergeht. Die Lösung besteht darin, sicherzustellen, dass die Dienstabhängigkeiten bei der Installation des Dienstes richtig konfiguriert werden. Siehe http://support.microsoft.com/kb/258943
Aber welche Dienstabhängigkeiten sollte man angeben, wenn man unter Windows Vista / 2008 / 7 läuft?