C# 请求管理员权限以编辑系统文件
我是C#新手,正在visual studio中开发一个windows窗体应用程序。该应用程序使用库更新zip的内容 当zip文件位于非系统分区内时,比如说像C# 请求管理员权限以编辑系统文件,c#,privileges,sharpziplib,C#,Privileges,Sharpziplib,我是C#新手,正在visual studio中开发一个windows窗体应用程序。该应用程序使用库更新zip的内容 当zip文件位于非系统分区内时,比如说像D:\myzip.zip文件会正确更新。但是,如果zip在系统分区中,C:\myzip.zip应用程序返回一个错误找不到文件C:\myzip.zip,即使该文件在那里 这与管理员权限有关,因为当我以管理员身份运行应用程序时,它可以工作 问题是,;默认情况下,我如何启用这些权限?您希望仅在您的计算机上默认启用这些权限吗? 因为在其他计算机上您不
D:\myzip.zip
文件会正确更新。但是,如果zip在系统分区中,C:\myzip.zip
应用程序返回一个错误<代码>找不到文件C:\myzip.zip,即使该文件在那里
这与管理员权限有关,因为当我以管理员身份运行应用程序时,它可以工作
问题是,;默认情况下,我如何启用这些权限?您希望仅在您的计算机上默认启用这些权限吗?
因为在其他计算机上您不能,这就是安全性的全部内容您可以添加应用程序清单,使您的应用程序以管理员身份运行() 将以下代码添加到清单文件:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<?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>
逐步添加应用程序清单:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<?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>
Please的可能副本,不要在问题标题中包含有关所用语言的信息,除非没有它就没有意义。标签就是为了这个目的。我已经试过了,但是当我运行发布应用程序时,默认情况下它不会要求管理员权限;我的意思是,在不使用右键单击“以管理员身份运行…”@numediaweb的情况下,我一步一步地添加了如何将应用程序清单添加到应用程序中。检查一下。我已经在解决方案资源管理器中更新了app.manifest
。。但是在玩了项目设置之后。。现在它工作了!我希望该应用程序在其他计算机(包括我的计算机)上运行时要求管理员权限,以便它可以写入内部文件,比如C:\ProgramFiles(x86)\…
澄清问题应作为对初始问题的评论,而不是答案,否决