如何强制WPF应用程序以管理员模式运行

SVI*_*SVI 49 wpf admin mode

我有一个WPF应用程序,它访问本地机器上的Windows服务,任务调度程序.当我部署此WPF应用程序并在没有"以管理员身份运行"的情况下运行它时,它会失败,因为它无法访问本地计算机上的Windows服务和任务计划程序.如果我使用"以管理员身份运行"运行它,它可以正常工作.

在生产中部署应用程序时,如何使我的应用程序默认以管理模式运行?

vcs*_*nes 77

你需要添加一个app.manifest.将requestedExecutionLevel from 更改asInvokerrequireAdministrator.您可以使用添加文件对话框创建新清单,将其更改为需要管理员.确保您的项目设置也设置为使用该清单.这将允许您只需双击应用程序,它将自动提示升级(如果尚未提升).

有关更多文档,请参见此处

http://msdn.microsoft.com/en-us/library/bb756929.aspx

编辑:为了它的价值,本文使用VS 2005并使用mt.exe嵌入清单.如果您使用的是Visual Studio 2008+,则内置它.只需打开项目的属性,然后在"应用程序"选项卡上选择清单.

  • 这也适用于Windows 7吗?在该页面上有一个注释提出了这个问题... _在将来的版本中,运行应用程序的唯一方法是使用已签名的应用程序清单来标识应用程序所需的权限级别. (2认同)
  • 谢谢VCSJones.你的解决方案对我有用.我不得不禁用ClickOnce以消除该错误.我通过转到项目属性,安全选项卡并取消选中"启用ClickOnce安全设置"选项来完成此操作. (2认同)

SLd*_*gon 9

  1. 右键单击您的WPF项目以添加新项目:“添加->新项目...”
  2. 选择“应用程序清单文件”,然后单击添加
  3. 双击您新创建的清单文件,然后更改
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
Run Code Online (Sandbox Code Playgroud)

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
Run Code Online (Sandbox Code Playgroud)

然后,WPF应用程序将以管理员身份运行。


Mag*_*ana 5

使 WPF 应用程序在管理员模式下运行的步骤

1.打开解决方案资源管理器

2.右键单击解决方案--->添加---->新项目---->App.Manifest---->确定

3.编辑Manifest文件如下:

<requestedExecutionLevel level="asInvoker" uiAccess="false" />
Run Code Online (Sandbox Code Playgroud)

(到)

 <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
Run Code Online (Sandbox Code Playgroud)

4.编辑Manifest文件后,转到解决方案项目(右键单击)----->属性----->安全

勾选“启用 ClickOnce 安全设置”复选框

  1. 运行应用程序,并进行设置,现在就实现了以管理员身份运行的应用程序。