【发布时间】:2011-03-27 15:34:44
【问题描述】:
我用 C# 编写了一个 winform 应用程序。当我为某些功能运行程序时,它需要管理员权限。安装后如果我将 .exe 文件设置为手动以管理员身份运行(通过在 .exe 文件上单击鼠标右键),那么我的程序将完美运行。
现在我需要用户不要在安装后通过单击鼠标右键将运行设置为管理员属性。我需要在用户无需为此烦恼的代码中以编程方式设置它。此特定问题仅在 Windows Vista 中出现。谁能帮帮我?
【问题讨论】:
我用 C# 编写了一个 winform 应用程序。当我为某些功能运行程序时,它需要管理员权限。安装后如果我将 .exe 文件设置为手动以管理员身份运行(通过在 .exe 文件上单击鼠标右键),那么我的程序将完美运行。
现在我需要用户不要在安装后通过单击鼠标右键将运行设置为管理员属性。我需要在用户无需为此烦恼的代码中以编程方式设置它。此特定问题仅在 Windows Vista 中出现。谁能帮帮我?
【问题讨论】:
您需要向应用程序添加一个清单,指定它需要管理员权限。 Read more on MSDN.
更新:您可以通过右键单击项目并选择Add/New Item/Application Manifest File,将清单添加到您的项目。这将向您的项目添加一个名为 app.manifest 的新文件,并将从项目属性中引用它,该文件位于 Application 选项卡上的 Manifest 下拉列表中。默认清单模板甚至有一个很好的关于如何准确更改所需 UAC 执行级别的 cmets。
【讨论】:
您需要在清单中指定requestedExecutionLevel。
详细解释请看这里: http://petesbloggerama.blogspot.com/2007/04/making-your-assembly-run-as.html
【讨论】: