c# - 请求管理员权限来编辑系统文件

标签 c# privileges sharpziplib

C# 新手,我正在 Visual Studio 中开发 Windows 窗体应用程序。该应用程序使用 ICSharpCode.SharpZipLib库来更新 zip 的内容。

当 zip 文件位于非系统分区内(例如 D:\myzip.zip)时,文件会正确更新。但是,如果 zip 位于系统分区 C:\myzip.zip 中,应用程序将返回错误; 无法找到文件 C:\myzip.zip 即使该文件在那里!

这与管理员权限有关,因为当我以管理员身份运行该应用程序时,它可以正常工作。

问题是;我如何默认启用这些权限?

最佳答案

您可以添加应用 list 以确保您的应用以管理员身份运行 ( msdn )。

将以下代码添加到 list 文件中:

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

逐步添加应用 list :

  1. 在解决方案资源管理器中右键单击该项目。
  2. 点击添加新项目
  3. 查找并选择应用程序 list 文件:

enter image description here

编辑应用 list 文件:

 <?xml version="1.0" encoding="utf-8"?>
    <asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
      <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
        <security>
          <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">       
            <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />
          </requestedPrivileges>
        </security>
      </trustInfo>

      <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
        <application>    
        </application>
      </compatibility>
    </asmv1:assembly>

关于c# - 请求管理员权限来编辑系统文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21967356/

相关文章:

java - 用户 'root' @'localhost' 的访问被拒绝(使用密码 : YES): PhpMyAdmin

windows - 如何找出应用程序在 Windows 7 下需要什么权限

c# - sharpziplib + 提取单个文件

c# - 无法将 Microsoft Office Interop 程序集添加到项目中

c# - MVC 构建电子邮件正文

mysql - 远程访问数据库

c# - 如何在 C# 中解压 .bz2 文件?

c# - 如何在 C# 中使用 SharpZipLib 提取多卷 zip 文件?

c# - global.asax 和 Web 部署项目的编译器问题

c# - Html 敏捷包/C# : how to create/replace tags?