Не удается запустить службу SQLBrowser на компьютере '.'

1

У меня есть приложение в С# 2010 на Windows 7 64bit. Я пытаюсь запустить SQLBROWSER через этот код:

public void Start()
{
    if (_service.Status != ServiceControllerStatus.Running ||
        _service.Status != ServiceControllerStatus.StartPending)
        _service.Start();

     _service.WaitForStatus(ServiceControllerStatus.Running, new TimeSpan(0, 0, 1, 0));
}

и я создаю файл app.manifest для запуска моего приложения в качестве администратора.

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

и здесь ошибка при выполнении моего приложения в качестве администратора:

Не удается запустить SQLBrowser на компьютере. '

Теги:
sql-server
service

2 ответа

1
Лучший ответ

Ну, я нашел решение для своей проблемы, большое спасибо @user3394380 за помощь, здесь правильный код для включения и запуска службы:

// Enable the service :
// Create a .cmd file and write the code below, then launch it via a process
"SC \\" + System.Environment.MachineName + @" Config SQLBROWSER start= auto"

// Start the service :
// Call Start()
_service.Start();

NB: Не включайте и не запускайте службу в том же самом действии, как я, я включил ее в действие A и запустил ее в действии B.

0

Я отлаживаю в VS 2010, запущенном как Администратор. Он работает в скомпилированных приложениях.

Есть app.manifest:

<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
      <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
      </requestedPrivileges>
    </security>
  </trustInfo>

  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
    <application>

    </application>
  </compatibility>

</asmv1:assembly>

и код:

class Program
{
    static ServiceController _service = new ServiceController("SQLBROWSER");

    static void Main(string[] args)
    {
        //Enable service before starting it.
        Process.Start("sc.exe", " config SQLBROWSER start=auto");
        Start();
    }

    static void Start()
    {
        if (!(_service.Status == ServiceControllerStatus.Running || _service.Status == ServiceControllerStatus.StartPending))
            _service.Start();

        _service.WaitForStatus(ServiceControllerStatus.Running, new TimeSpan(0, 0, 1, 0));
    }
}

Проверьте статью MSDN здесь http://technet.microsoft.com/en-us/library/cc739213(v=ws.10).aspx

  • 0
    Вы не видели мои комментарии выше, я сказал: я могу включить службу, когда она отключена, но не могу ее запустить. Отключите сервис и включите его с помощью кода, а затем запустите, у вас будет та же ошибка
  • 0
    Извините, я пропустил отключенную сервисную часть.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню