OnShutdown not executing in Windows service

  • Thread starter Thread starter Peter Meinl
  • Start date Start date
P

Peter Meinl

Restarting Windows seems not to fire the OnShutdown event in the
Windows
Service. Does not work on Windows XP SP2 and not on Windows 2003
Server SP1.
OnStart and OnStop do work fine.

Steps to reproduce:
Create a Windows service in VB.NET using VS 2005.
Set CanShutdown property to true.

Implement
Protected Overrides Sub OnShutdown()
Diagnostics.EventLog.WriteEntry(Me.ServiceName, "Shutdown")
End Sub

Start Service and Reboot.
 
I quote the MSDN:

This event occurs only when the operating system is shut down, not when the
computer is turned off.

I'd also like to see what this really means. :-)

Did you try to implement EventLog.WriteEntry(Me.ServiceName, "OnStop") into
an **OnStop** event?
Maybe, when you reboot the computer it fires the OnStop event instead.

Also, did you try just pressing the power button instead of the reboot?
Maybe then the OnShutdown will fire.
 
To me shutting down means cleanly shutting down or restarting the OS and
turning off means switching the power off and thus giving the OS no chance
to fire any events.

Yes, I also implemented OnStop writing to the EventLog.
As expected OnStop only executes when the service is stopped using the
management console.
 
Back
Top