在开发WinForm客户端的过程中,我们可能会遇到一些权限相关的问题。需要让程序每次运行时都默认获取系统管理员权限。以下是设置步骤:

  1. 首先,我们需要在Visual Studio中打开我们的项目。在解决方案资源管理器中,找到我们的项目名称,然后右键点击它,选择“属性”。

csyglysfyxwcx-image0.jpg

  1. 在弹出的属性窗口中,找到“安全性”选项,勾选“启用ClickOnce安全设置”。

csyglysfyxwcx-image1.jpg

  1. 勾选后,你会发现在项目下面多出了一个名为“app.manifest”的文件。

csyglysfyxwcx-image2.jpg选中这个文件,然后在代码段中找到

<requestedExecutionLevel level="asInvoker" uiAccess="false" />
  1. 我们需要将这段代码改为:

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

csyglysfyxwcx-image3.jpg

  1. 修改完成后,不要急于重新编译生成。再次打开“属性–安全性”界面,将“启用ClickOnce安全设置”前面的勾去掉后再编译运行。否则,程序会报错无法运行。

csyglysfyxwcx-image0.jpg

  1. 最后,保存修改,重新编译生成程序。当你再次打开程序时,会提示“用户账户控制”来获取管理员权限运行。点击“是”,则程序将以管理员权限运行。

csyglysfyxwcx-image4.jpg通过以上步骤,我们就可以让WinForm程序每次运行时都以管理员身份运行了。这样不仅可以解决因权限引起的问题,也可以提高用户的使用便利性。