程序如何要求管理员权限?

时间:2008-09-18 07:17:23

标签: vb.net privileges

我正在使用vb.net开发一个应用程序。要执行某些任务,应用程序需要机器中的管理员权限。如何在执行程序期间要求权限?

切换用户帐户执行应用程序的一般方法是什么?换句话说,应用程序是否有某种方式可以在任意用户帐户下运行?

4 个答案:

答案 0 :(得分:4)

您可以编辑项目设置中的 UAC设置(在VB 2008中)。寻找说

的行

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

将level =“asInvoker”更改为

  1. level="asInvoker"(与父进程相同的访问令牌)
  2. level="requireAdministrator(需要完全管理员)
  3. level="highestAvailable"(当前用户可用的最高权限)

答案 1 :(得分:3)

互联网上有几篇关于在Vista中开发提升过程的文章,但实际上提升请求涉及在应用程序清单文件中装饰具有提升状态的.NET程序集和WIN32可执行文件(可以嵌入或并排)。 / p>

有一篇关于您的问题的优秀博客文章,其中提供了您可能需要的代码:

.NET Wrapper for COM Elevation

答案 2 :(得分:3)

我还没有这样做,但我相信你会去(在VS 2008中)项目设置 - &gt;单击应用程序选项卡,然后单击“查看UAC设置”按钮。这将打开您的app.manifest文件。我认为有一个标签可以保存您正在寻找的选项。我有一些选项可以让你开始注意:

答案 3 :(得分:1)

IN VS 2015:转到:项目 - &gt; (项目名称)属性...... - &gt;申请 - &gt;查看Windows设置并在app.manifest中找到(第19行):并将asInvoker更改为:

  1. “asInvoker”(与父进程相同的访问令牌)
  2. “requireAdministrator(需要完全管理员)
  3. “highestAvailable”(当前用户可用的最高权限)