OnStart необходимо вернуть, чтобы Windows знала, что служба запущена.Вы должны запустить новый поток в OnStart, который вызывает ваш стартер.Примерно так:
protected override void OnStart(string[] args)
{
Thread MyThread = new Thread(new ThreadStart(MyThreadStarter));
MyThread.Start();
base.OnStart(args);
}
private void MyThreadStarter()
{
MyClass obj = new MyClass();
obj.Starter();
}
Предполагается, что ваш текущий метод Starter не порождает собственный поток.Ключ должен позволить OnStart вернуться.