2015-06-13 274 views
1

我是窗口服務誰與SQL服務器進行通信,在某些情況下,SQL Server服務停止,所以我聲明我自己的應用服務器,它通過這個代碼如何啓動Windows服務作爲管理員權限

ServiceController sc = new ServiceController("MSSQL$SQLEXPRESS"); 
sc.Start(); 
sc.WaitForStatus(ServiceControllerStatus.Running); 

但它需要管理員權限啓動服務如何開始我的窗口服務爲管理員

+0

您是否嘗試過運行的啓動服務爲管理員應用程序? – Alioza

+0

但這兩個應用程序都是windows服務。我如何以管理員身份運行我的Windows服務。 –

+0

我只是在我的app.manifest文件中添加了這個標籤它能正常工作... –

回答

2

我只是在我的app.manifest文件中添加此標記 <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> 它的工作原理...

0

讓分裂到一切步驟

  1. 添加文件「應用程序清單文件」給你根目錄下
  2. 選擇項目屬性
  3. 在應用程序選項卡中的recources組發現艙單場
  4. 粘貼您新的清單文件名。也許「app.manifest」
  5. 填補這個信息

所有信息文件可以根據你的情況是有點不同。 More info

<?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> 
     <applicationRequestMinimum> 
     <defaultAssemblyRequest permissionSetReference="Custom" /> 
     <PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true" ID="Custom" SameSite="site" /> 
     </applicationRequestMinimum> 
    </security> 
    </trustInfo> 
</asmv1:assembly>