特定服务重启操作的c#权限
我有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
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" />