Windows窗体 - C# - 要求管理员权限

时间:2011-11-09 09:13:21

标签: c# winforms privileges

  

可能重复:
  How to force C# App to run as administrator on Windows 7

我正在构建一个WinForms C#应用程序,我需要它来请求管理员权限,这样我就可以复制并打开C:\中的目录。

这可能吗?

我将使用的代码(如果有人需要)是这样的:

if (!Directory.Exists("C:\\smm"))
{
    Directory.Create("gg");
}

或类似的东西,但我确信我需要管理员权限。

任何人都知道我该怎么做?

1 个答案:

答案 0 :(得分:2)

您需要在项目中启用ClickOnce安全设置,然后将应用程序清单更改为需要管理员权限。这将导致Windows在进程启动时显示UAC提升提示,因此用户可以将程序升级为admin。

要启用ClickOnce,请转到项目的属性,选择左侧的“安全”选项卡,然后选中“启用ClickOnce安全设置”框。然后进入项目的“Properties”目录,打开app.manifest文件。在该文件中,有一行设置了所需的权限:

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

您可以要求它具有以下管理员权限:

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

这将使流程开始时需要管理员。