C# 以管理员身份运行WinForm程序

摘自:https://www.cnblogs.com/yuluo/p/5718057.html

  最近帮客户开发的WinForm客户端,部分在使用的过程中,会出现“系统文件找不到”的错误提示。

  调试后,确定为程序在操作配置文件时,系统权限引起的错误,直接管理员权限运行就正常了。

  考虑用户操作的便利性,设置为每次运行默认获取系统管理员权限,以下为设置步骤。

第一步、1、在Visual Studio 中--解决方案资源管理器--右键项目名称--属性,找到“安全性”选项,勾选“启用ClickOnce安全设置”:

C# 以管理员身份运行WinForm程序

 

 

C# 以管理员身份运行WinForm程序

第二步、这时,在项目下面会多出一个“app.manifest”的文件,

 C# 以管理员身份运行WinForm程序

 

 

选中它,并找到代码段<requestedExecutionLevel level="asInvoker" uiAccess="false" />,

将其改为:<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />,

C# 以管理员身份运行WinForm程序

 

 

第三步、改正后,不要急于重新编译生成,再次打开“属性--安全性”界面,

C# 以管理员身份运行WinForm程序

 

 将“启用ClickOnce安全设置”前面的勾去掉后再编译运行。 不然程序会报错无法运行。

第四步、最后,保存修改,重新编译生成程序。

再次打开程序时,会提示“用户账户控制”来获取管理员权限运行,点击“是”则获取了管理员权限。

C# 以管理员身份运行WinForm程序

上一篇:C# 动态加载资源


下一篇:C# 匿名回调方法在循环体中使用的注意事项