我的服务无法在Windows 2008上启动(它适用于Windows 2003)

时间:2010-03-04 00:47:25

标签: service windows-server-2008 uac

当我们在Windows 2008 SP2上安装我们的产品时,几个服务无法启动。在尝试不同的事情后,我们发现当“登录为”设置为“本地系统帐户”时,这些服务能够启动。

此服务确实需要以特定用户身份运行,因为它需要访问安全资源。该服务在Windows 2003下的这个特殊用户帐户下运行得很好。我认为该问题与UAC(用户访问控制)有关。

在交互模式下,可以通过回答安全对话框来提升权限。如何为服务做同样的事情?如何配置服务以使其以必要的权限运行?

谢谢!

1 个答案:

答案 0 :(得分:0)

尝试在服务应用程序的程序集清单中添加一个条目。包含 requireAdministrator requestedExecutionLevel

<?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 帐户运行其服务。