In der Regel ist es so, dass Windows den Dienst beim Beenden sauber herunterfährt. Allerdings kann es vorkommen, dass der Dienst länger zum Beenden braucht, als Windows ihm Zeit lässt. Windows 7 beispielsweise wartet per Default maximal 12 Sekunden, dann werden die Dienste „abgeschossen“. Je nach Größe des IPS-Projektes kann es durchaus mal so lange dauern, bis der Dienst beendet ist.
Du solltest also entweder den Dienst vorher manuell beenden oder alternativ den TimeOut erhöhen … hierzu kuckst du in die Registry:
Dieser steht auf 12000 Millisekunden. Erhöhe den Wert z.B. auf 30000, dann sollte es auf jeden Fall hinkommen …
Windows Server 2008 z.B. hat übrigens einen höheren Default-Wert. Hier wird einem Dienst ganze 10 Minuten eingeräumt, bis er dann „abgeschossen“ wird …
Wie von Squeeezer schon beschrieben, wenn das Beenden des Dienstes zu lange dauert, das kann auch an deinen Scripten oder I/O Interfaces liegen, z.B. ISDN, dann schießt Windows den Dienst ab.
… das führt jetzt allerdings dazu, dass - wenn ein Dienst wirklich mal hängen bleibt - Dein Rechner erst nach 10 Minuten herunterfährt … … vielleicht solltest Du einen Wert um die 60000 Millisekunden wählen … bis dahin sollte IPS dann wirklich beendet sein …