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
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.
answered Jun 24, 2013 at 2:14
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).
answered Jul 20, 2012 at 6:11
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
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
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
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
TuanDPHTuanDPH
4715 silver badges14 bronze badges
1
Добрый день.
Пытаюсь создать свой первый сервис.
Для примера попытался сделать следующее:
C# | ||
|
подскажите, как можно отладить это дело и проверить его работоспособность? А то при стандартной попытки запуска вываливается ошибка «Сбой при запуске службы 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;
}
Ответ 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»
Запустите.
Установите тип запуска — обычный.
Настройте сервер.