Сбой при запуске службы windows невозможно запустить службу из командной строки или из отладчика

hi i’m getting this error

Cannot start service from the command line or debugger. A winwows Service must first be installed(using installutil.exe) and then started with the ServerExplorer, Windows Services Afministrative tool or the NET START command.

and i dont understand why im geting this error.
And here is my code:

{
    string Hash = "";
    string connectionstring = ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString;
    SqlConnection myConnection = new SqlConnection(connectionstring);
    SqlCommand myCommand = new SqlCommand("GetNullHash", myConnection);
    myCommand.CommandType = CommandType.StoredProcedure;
    myConnection.Open();
    SqlDataReader rdr = myCommand.ExecuteReader();

    while (rdr.Read())
    {
        string filename = @"\\" + rdr.GetString(3);
        filename = System.IO.Path.Combine(filename, rdr.GetString(2));
        filename = System.IO.Path.Combine(filename, rdr.GetString(1));
        Hash = rdr.GetString(0);
        Hash = computeHash(filename);

    }
    myConnection.Close();
    return Hash;
}

asked Jul 20, 2012 at 6:07

paxcow's user avatar

paxcowpaxcow

1,6713 gold badges17 silver badges32 bronze badges

0

Watch this video, I had the same question. He shows you how to debug the service as well.

Here are his instructions using the basic C# Windows Service template in Visual Studio 2010/2012.

You add this to the Service1.cs file:

public void onDebug()
{
    OnStart(null);
}

You change your Main() to call your service this way if you are in the DEBUG Active Solution Configuration.

static void Main()
{
    #if DEBUG
    //While debugging this section is used.
    Service1 myService = new Service1();
    myService.onDebug();
    System.Threading.Thread.Sleep(System.Threading.Timeout.Infinite);

    #else
    //In Release this section is used. This is the "normal" way.
    ServiceBase[] ServicesToRun;
    ServicesToRun = new ServiceBase[] 
    { 
        new Service1() 
    };
    ServiceBase.Run(ServicesToRun);
    #endif
}

Keep in mind that while this is an awesome way to debug your service. It doesn’t call OnStop() unless you explicitly call it similar to the way we called OnStart(null) in the onDebug() function.

Tshilidzi Mudau's user avatar

answered Jun 24, 2013 at 2:14

Cesar's user avatar

CesarCesar

2,2391 gold badge22 silver badges20 bronze badges

2

To install your service manually

To install or uninstall windows service manually (which was created using .NET Framework) use utility InstallUtil.exe. This tool can be found in the following path (use appropriate framework version number).

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe

To install

installutil yourproject.exe

To uninstall

installutil /u yourproject.exe

See: How to: Install and Uninstall Services (Microsoft)

Install service programmatically

To install service programmatically using C# see the following class ServiceInstaller (c-sharpcorner).

Woodrow Barlow's user avatar

answered Jul 20, 2012 at 6:11

Ria's user avatar

RiaRia

10.2k3 gold badges33 silver badges60 bronze badges

3

Your code has nothing to do with the service installation, it is not the problem.

In order to test the service, you must install it as indicated.

For more information about installing your service : Installing and Uninstalling Services

answered Jul 20, 2012 at 6:11

ChrisBint's user avatar

ChrisBintChrisBint

12.8k6 gold badges40 silver badges62 bronze badges

I will suggest creating a setup project for the reasons while deploying this seems the best convinience , no headaches of copying files manually.
Follow the Windows service setup creation tutorial and you know how to create it. And this instance is for vb.net but it is the same for any type.

answered Jul 20, 2012 at 6:17

bhuvin's user avatar

bhuvinbhuvin

1,3821 gold badge11 silver badges28 bronze badges

To install Open CMD and type in {YourServiceName} -i once its installed type in NET START {YourserviceName} to start your service

to uninstall

To uninstall Open CMD and type in NET STOP {YourserviceName} once stopped type in {YourServiceName} -u and it should be uninstalled

answered Jul 20, 2012 at 6:18

JohnnBlade's user avatar

JohnnBladeJohnnBlade

4,2611 gold badge21 silver badges22 bronze badges

Goto App.config

Find

<setting name="RunAsWindowsService" serializeAs="String">
    <value>True</value>
  </setting>

Set to False

answered Dec 26, 2014 at 4:01

TuanDPH's user avatar

TuanDPHTuanDPH

4715 silver badges14 bronze badges

1

Студворк — интернет-сервис помощи студентам

Добрый день.
Пытаюсь создать свой первый сервис.
Для примера попытался сделать следующее:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public partial class Service1 : ServiceBase
    {
        public Service1()
        {
            InitializeComponent();
        }
        Thread mythread;
        string filename = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + "\\test.txt";
 
        protected override void OnStart(string[] args)
        {
            mythread = new Thread(SomeProcedure);
            mythread.IsBackground = true;
            mythread.Start();
        }
 
        void SomeProcedure()
        {
            File.WriteAllText(filename, "0123456789", Encoding.Default);
        }
 
 
        protected override void OnStop()
        {
            File.Delete(filename);
        }
    }

подскажите, как можно отладить это дело и проверить его работоспособность? А то при стандартной попытки запуска вываливается ошибка «Сбой при запуске службы Windows. Невозможно запустить службу из командной строки или из отладчика. Сначала требуется установить службу Windows, а затем ее следует запустить, используя программу ServerExplorer, средство администрирования служб Windows или команду .NET START»
Ну и вообще, как этот процесс правильно производить и что на эту тему можно почитать?
Заранее спасибо.

Добавлено через 40 минут
Нашел способ, но все равно требуется помощь:
Установка службы

При попытке запуска вам будет показано сообщение, что, мол, служба запуститься не может и вам нужно использовать installutil.exe для её установки.
Windows Service Start Failure message
Для установки службы вам потребуется консоль Visual Studio, которая находится по пути

Пуск → Программы → Visual Studio 2008 → Visual Studio Tools → Visual Studio 2008 Command Prompt
(в зависимости от версии установленной VS путь может отличаться)
После запуска консоли переходим в директорию, в которую собирается ваша служба в режиме Debug и устанавливаем её:

installutil.exe /i <имя вашей сборки со службой>
Более вам installutil.exe не потребуется. Для удобства запускаем консоль управления службами Windows:

services.msc
Теперь консоль Visual Studio можно закрыть.
Переходим к самому интересному :-)

В код модуля program.cs, сразу после начала метода Main() добавляем следующее:

#if DEBUG
System.Diagnostics.Debugger.Launch();
#endif

Этот код подключает отладчик к процессу и компилируется только в режиме DEBUG. Теперь для отладки службы её нужно запускать не из Visual Studio, а с помощью консоли управления службами (или команды net start).

Но у меня он не видит метод Launch() =\.
Кто может подсказать, как исправить эту проблему или зайти вообще с другой стороны?

Добавлено через 23 часа 39 минут
Кому интересно, нашел следующее решение:
https://msdn.microsoft.com/ru-… .100).aspx

Привет, я получаю эту ошибку

Не удается запустить службу из командной строки или отладчика. Служба winwows сначала должна быть установлена ​​(с использованием installutil.exe), а затем запущена с ServerExplorer, средним администратором Windows Services или командой NET START.

и я не понимаю, почему я получаю эту ошибку.
И вот мой код:

{
    string Hash = "";
    string connectionstring = ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString;
    SqlConnection myConnection = new SqlConnection(connectionstring);
    SqlCommand myCommand = new SqlCommand("GetNullHash", myConnection);
    myCommand.CommandType = CommandType.StoredProcedure;
    myConnection.Open();
    SqlDataReader rdr = myCommand.ExecuteReader();

    while (rdr.Read())
    {
        string filename = @"\\" + rdr.GetString(3);
        filename = System.IO.Path.Combine(filename, rdr.GetString(2));
        filename = System.IO.Path.Combine(filename, rdr.GetString(1));
        Hash = rdr.GetString(0);
        Hash = computeHash(filename);

    }
    myConnection.Close();
    return Hash;
}

4b9b3361

Ответ 1

Наблюдайте это видео, у меня был тот же вопрос. Он также показывает вам, как отлаживать службу.

Вот его инструкции, используя базовый шаблон службы Windows С# в Visual Studio 2010/2012.

Вы добавляете это в файл Service1.cs:

public void onDebug()
{
    OnStart(null);
}

Вы меняете свой Main() для вызова своего сервиса таким образом, если находитесь в конфигурации Active Solution DEBUG.

static void Main()
{
    #if DEBUG
    //While debugging this section is used.
    Service1 myService = new Service1();
    myService.onDebug();
    System.Threading.Thread.Sleep(System.Threading.Timeout.Infinite);

    #else
    //In Release this section is used. This is the "normal" way.
    ServiceBase[] ServicesToRun;
    ServicesToRun = new ServiceBase[] 
    { 
        new Service1() 
    };
    ServiceBase.Run(ServicesToRun);
    #endif
}

Имейте в виду, что пока это отличный способ отладки вашего сервиса. Он не вызывает OnStop(), если вы явно не назовете его похожим на способ, которым мы назвали OnStart(null) в функции onDebug().

Ответ 2

Чтобы установить службу вручную

Чтобы установить или удалить Windows-сервис вручную (который был создан с использованием .NET Framework), используйте утилиту InstallUtil.exe. Этот инструмент можно найти по следующему пути (используйте соответствующий номер версии каркаса).

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe

Для установки

installutil yourproject.exe

Чтобы удалить

installutil /u yourproject.exe

Смотрите: Как установить и удалить службы (msdn)

Установить сервис программно

Чтобы программно установить сервис с помощью С#, см. следующий класс ServiceInstaller (c-sharpcorner).

Ответ 3

Ваш код не имеет ничего общего с установкой службы, это не проблема.

Чтобы проверить сервис, вы должны установить его, как указано.

Дополнительные сведения об установке службы: Установка и удаление служб

Ответ 4

Я предлагаю создать проект установки по причинам, в то время как развертывание это, кажется, лучшее удобство, без головных болей при копировании файлов вручную.
Следуйте учебному пособию по созданию установки Windows, и вы знаете, как его создать. И этот экземпляр для vb.net, но он одинаковый для любого типа.

Ответ 5

Чтобы установить Open CMD и введите {YourServiceName} -i после его установленного типа в NET START {YourserviceName}, чтобы начать службу

для удаления

Чтобы удалить Open CMD и введите NET STOP {YourserviceName} один раз остановленный тип в {YourServiceName} -u, и его следует удалить

Ответ 6

Перейти к App.config

Find

<setting name="RunAsWindowsService" serializeAs="String">
    <value>True</value>
  </setting>

Установите значение False

Создал приложение WindowsService, пустое. Попробовал скомпилировать и запустить.
Получил ошибку :

«
—————————
Сбой при запуске службы Windows
—————————
Невозможно запустить службу из командной строки или из отладчика. Сначала требуется установить службу Windows (с помощью installutil.exe), а затем ее следует запустить, используя программу ServerExplorer, средство администрирования служб Windows или команду .NET START.
—————————
ОК
—————————

«

Запустил installutil.exe <Путь к сервису>
Написалось что все успешно установлено.
В списке сервисов ничего не появилось.

Сделал Publish… для проекта. Создался инсталлятор. Запустил инсталлятор — та жа ошибка.
В списке установленных программ сервис появился, а в списке сервисов его нет.

Пробовал с админ. правами — все тоже самое.

Win7 . VS 2010.

Здравствуйте, Аноним, Вы писали:

Вам сюда — читать про ServiceProcessInstaller.
Для отладки сервиса к нему придется аттачить дебаггер (Debug -> Attach to process), либо реалзиовывать логику сервиса так, что он может выполнять свои функции будучи запущенным обычным способом.

Здравствуйте, hardcase, Вы писали:

H>Здравствуйте, Аноним, Вы писали:


H>Вам сюда — читать про ServiceProcessInstaller.

H>Для отладки сервиса к нему придется аттачить дебаггер (Debug -> Attach to process), либо реалзиовывать логику сервиса так, что он может выполнять свои функции будучи запущенным обычным способом.

Я его пока не собираюсь отлаживать. Я его собрал, бинарники лежат в директории /bin/Debug.
Хочу чтобы он появился в списке сервисов ( services.msc ) но не могу этого добиться.

Здравствуйте, hardcase, Вы писали:

H>Здравствуйте, Аноним, Вы писали:


H>Вам сюда — читать про ServiceProcessInstaller.

Понял. Спасибо ! получилось. Непонятно только зачем этот класс городить. Раньше неуправляемые сервисы помоему как-то проще деплоились

Здравствуйте, Аноним, Вы писали:

А>Понял. Спасибо ! получилось. Непонятно только зачем этот класс городить. Раньше неуправляемые сервисы помоему как-то проще деплоились

Эти инсталляторы, собственно, и вызываются утиллитой InstallUtil — они устанавливают сервис в системе.

Не запускается веб сервер

vellbvn

Сообщения: 8
Зарегистрирован: 18 апр 2017, 13:06

Не запускается веб сервер

Не могу запустить сервер
http://localhost:5893/Settings/ ничего не открывается
Даже заходил https://localhost:5893/Settings/ тоже ничего не открывается

При запуске C:\Program Files (x86)\KkmServer.ru\KkmServer\KkmServer.exe получаю сообщение об ошибке.
—————————
Сбой при запуске службы Windows
—————————
Невозможно запустить службу из командной строки или из отладчика. Сначала требуется установить службу Windows (с помощью installutil.exe), а затем ее следует запустить, используя программу ServerExplorer, средство администрирования служб Windows или команду .NET START.
—————————
ОК
—————————

До перезагрузки все работало.

Microsoft .NET Framework 4.5-4.5.2 установлен

Что делаю не так? Прошу помочь.


Audim

Администратор
Сообщения: 2326
Зарегистрирован: 17 мар 2015, 18:36

Re: Не запускается веб сервер

Сообщение

Audim » 18 апр 2017, 14:34

Удалите файл «SettingsServ.ini»
Запустите.
Установите тип запуска — обычный.
Настройте сервер.



  • Сафари браузер для windows как скачать
  • Сбой подключения с ошибкой 813 windows 10
  • Сбой подключения с ошибкой 720 на windows 10 ростелеком
  • Самый эффективный бесплатный антивирус для windows 7 скачать бесплатно
  • Сбой при запуске службы luafv из за ошибки загрузка драйвера была заблокирована windows 10