特定服务重启操作的c#权限

特定服务重启操作的c#权限,c#,permissions,admin,C#,Permissions,Admin,我有c代码需要停止“某些服务”: 由于权限问题,它失败: Cannot open some_service service on computer '.'. StackTrace = " at System.ServiceProcess.ServiceController.GetServiceHandle(Int32 desiredAccess) at System.ServiceProcess.ServiceController.Stop() at LocalTraceView.Form1

我有c代码需要停止“某些服务”:

由于权限问题,它失败:

Cannot open some_service service on computer '.'.
StackTrace = "   at System.ServiceProcess.ServiceController.GetServiceHandle(Int32 desiredAccess)
at System.ServiceProcess.ServiceController.Stop()
at LocalTraceView.Form1.btnSendCapture_Click(Object sender, EventArgs e)
我尝试了两件事: 方法1:通过添加

[PrincipalPermission(SecurityAction.Demand, Role = @"BUILTIN\Administrators")]
这导致了一个错误:

{"Request for principal permission failed."}
对不起,这是我所能看到的全部错误。 方法2:我在visual studio中打开属性窗口并选择安全性:启用ClickOnce安全设置 并标记为“这是一个完全信任的应用程序” 但这没有帮助。 鉴于我没有也不想签署这个二进制文件,有没有办法让它作为管理员运行?我更喜欢根据需要在运行时弹出“管理员权限”窗口,但如果我必须在启动应用程序的一开始就弹出它,也可以

注意:我的观点是,用户必须获得弹出的管理员权限窗口才能允许停止服务

app.config的内容:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
</configuration>

此外,我还尝试添加:

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

要在关闭ClickOnce时打开app.manifest,我在编译时遇到一个错误:

应用程序启动失败,因为应用程序 配置不正确

更新:阅读后
我意识到ClickOnce选项将在安装后生效。通过安装对其进行了测试。它工作意味着安装的软件可以停止服务,但在开发过程中,它在visual studio中不工作。

能否显示.config文件设置的外观是否有
身份验证部分或设置您需要在原始问题中显示,请编辑您自己的问题并正确发布。。
<requestedExecutionLevel  level="asInvoker" uiAccess="false" />
<requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel  level="highestAvailable" uiAccess="false" />