C# 在读写注册表或其他的敏感操作时,如果程序未获得管理员权限,操作会报错,可以在exe文件的属性页面里勾选【以管理员身份运行此程序】
那么怎么默认以管理员身份运行呢
方法一
在项目上右键,点击【属性】,点击【安全性】,勾选【启用ClickOnce安全设置】
此时在Properties下会自动生成一个名为【app.manifest】的文件,然后再取消勾选【启用ClickOnce安全设置】
打开【app.manifest】文件
将 <requestedExecutionLevel level="asInvoker" uiAccess="false" />
改为 <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
方法二
在【Properties】上右键,【添加】->【新建项】
选择【应用程序清单文件】,点击【添加】
打开【app.manifest】文件
将 <requestedExecutionLevel level="asInvoker" uiAccess="false" />
改为 <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />