C#的新手,我正在开发visual studio中的Windows窗体应用程序。该应用使用ICSharpCode.SharpZipLib库来更新zip的内容。
当zip文件位于非系统分区内时,比如D:\myzip.zip
,文件会正确更新。但是,如果zip在系统分区中,C:\myzip.zip
该应用程序将返回错误; Could not find file C:\myzip.zip
即使文件在那里!
这与管理员权限有关,因为当我以管理员身份运行应用程序时,它可以正常工作。
问题是;我怎么能默认启用这些权限?
答案 0 :(得分:3)
您可以添加应用清单,以确保您的应用以管理员身份运行(msdn)。
将以下代码添加到清单文件中:
<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>
答案 1 :(得分:-1)
你想在你的计算机上默认启用它吗? 因为在其他计算机上你不能,这就是什么安全性