如何强制我的.NET应用程序以管理员身份运行?

一旦我的程序安装在客户机上,我如何强制我的程序在Windows 7上以管理员身份运行?


您需要修改嵌入到程序中的清单。 这适用于Visual Studio 2008及更高版本:Project +添加新项目,选择“应用程序清单文件”。 将<requestedExecutionLevel>元素更改为:

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

用户在启动程序时获得UAC提示。 明智地使用; 他们的耐心会很快磨损。


为你的清单添加一个requestedExecutionLevel元素只是战斗的一半。 你必须记住UAC可以关闭。 如果是这样,你必须执行检查旧学校的方式,如果用户不是管理员,则会出现错误对话框
(在线程的CurrentPrincipal上调用IsInRole(WindowsBuiltInRole.Administrator) )。


我实现了一些代码来手动完成它:

using System.Security.Principal;
public bool IsUserAdministrator()
{
    bool isAdmin;
    try
    {
        WindowsIdentity user = WindowsIdentity.GetCurrent();
        WindowsPrincipal principal = new WindowsPrincipal(user);
        isAdmin = principal.IsInRole(WindowsBuiltInRole.Administrator);
    }
    catch (UnauthorizedAccessException ex)
    {
        isAdmin = false;
    }
    catch (Exception ex)
    {
        isAdmin = false;
    }
    return isAdmin;
}
链接地址: http://www.djcxy.com/p/17179.html

上一篇: How do I force my .NET application to run as administrator?

下一篇: ASP.NET Web Site or ASP.NET Web Application?