Windows Service
От: Аноним  
Дата: 04.10.07 18:53
Оценка:
Создаю сервис:

    public partial class HostService : ServiceBase
    {   
        public HostService()
        {
            InitializeComponent();

            this.ServiceName = "RemoteAdmin";
            this.EventLog.Log = "RemoteAdmin LOG";
        }

        static void Main(string[] args)
        {
            ServiceBase.Run(new HostService());
        }       

        private static RemoteServer Host;
        
        protected override void OnStart(string[] args)
        {
            Host = RemoteServer.Start();
            base.OnStart(args);
        }

        protected override void OnStop()
        {
            if (Host != null)
            {
                Host.OnStop();
            }
            base.OnStop();
        }   
    }

    [RunInstaller(true)]
    public partial class RemoteAdminInstaller : Installer
    {
        public RemoteAdminInstaller()
        {
            InitializeComponent();

            ServiceProcessInstaller serviceProcessInstaller = new ServiceProcessInstaller();
            ServiceInstaller serviceInstaller = new ServiceInstaller();

            serviceProcessInstaller.Account = ServiceAccount.LocalService;
            serviceProcessInstaller.Username = "";
            serviceProcessInstaller.Password = "";
            
            serviceInstaller.DisplayName = "RemoteAdmin";            
            serviceInstaller.StartType = ServiceStartMode.Automatic;

            serviceInstaller.ServiceName = "RemoteAdmin Service";

            this.Installers.Add(serviceProcessInstaller);
            this.Installers.Add(serviceInstaller);
        }
    }


И зарускаю его так:

ServiceController[] services = ServiceController.GetServices();

            foreach (ServiceController service in services)
            {
                if (service.DisplayName == "RemoteAdmin")
                {
                    if (service.Status != ServiceControllerStatus.Running)
                    {
                        service.Start();

                        Console.WriteLine("Service RemoteAdmin start");
                        Console.WriteLine("For quit press any key ...");
                        Console.ReadKey();
                    }
                }                
            }


При запуске ошибка: отказ в доступе, я так понимаю это настройки политики безопасности не дают запустить сервис, как и где их настраивать

Спасибо
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.