Мой сервис не запускается в Windows 2008 (он работает в Windows 2003) - PullRequest
1 голос
/ 04 марта 2010

Когда мы устанавливаем наш продукт в Windows 2008 с пакетом обновления 2 (SP2), несколько служб не запускаются. Попробовав разные вещи, мы выяснили, что эти службы могут запускаться, если для параметра «Войти в систему» ​​задано значение «Локальная системная учетная запись».

Эта служба должна запускаться от имени определенного пользователя, поскольку она требует доступа к защищенным ресурсам. Служба действительно работала нормально под этой специальной учетной записью пользователя под Windows 2003. Я думаю, что проблема связана с UAC (контроль доступа пользователей).

В интерактивном режиме можно повысить разрешение, ответив на диалоговое окно безопасности. Как сделать то же самое для службы? Как настроить службу так, чтобы она работала с необходимыми разрешениями?

Спасибо!

1 Ответ

0 голосов
/ 03 января 2014

Попробуйте добавить запись в манифест сборки приложения-службы. Включите requiredExecutionLevel из requireAdministrator :

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
   <assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="client" type="win32"/> 

   <description>Westwell Contoso</description> 

   <!-- Disable file and registry virtualization -->
   <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
      <security>
         <requestedPrivileges>
            <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
         </requestedPrivileges>
      </security>
   </trustInfo>
</assembly>

Большинство людей используют свои сервисы как ограниченные LocalService или NetworkService учетные записи

...