All Windows services in .NET must inherit from ServiceBase, which provides the foundational service functionality and lifecycle methods (OnStart, OnStop, OnPause, OnContinue, etc.). ServiceController controls existing services, while ServiceInstaller and ServiceProcessInstaller are for installation purposes - none serve as a service base class.