如何给我的C#app管理权限?清单文件

时间:2009-12-05 01:32:46

标签: c# permissions admin manifest rights

我在使用win32_networkingadapterconfig的C#应用​​程序时遇到了一些问题。问题是,当我在没有管理员权限的用户上使用该应用程序时,我无法在win32_networkingadapterconfig中使用更改功能。我试图“以管理员身份运行”,但没有运气。我试图在trustInfo部分中使用此内容制作清单文件:

<security>
  <applicationRequestMinimum>
    <PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true" ID="Custom" SameSite="site" />
    <defaultAssemblyRequest permissionSetReference="Custom" />
  </applicationRequestMinimum>
  <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">

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

  </requestedPrivileges>
</security>

启用clickone安全设置设置为完全信任。我做错了什么?

2 个答案:

答案 0 :(得分:4)

你的片段中有一个“trustinfo”悬挂着。看起来像这样:

<?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>
</asmv1:assembly>

答案 1 :(得分:2)

我怀疑最不可能出现的顺序中列出了许多可能出现的问题。

可能的问题1
你的UAC设置是什么?如Create and Embed an Application Manifest (UAC) 中所述,如果您已禁用UAC并且您请求管理员权限

  

应用程序可能会启动但稍后会失败

可能的问题2
由于需要汇编信息,清单中可能存在其他错误。发布整个清单会有所帮助。

可能的问题3
您添加了UAC升级不需要的applicationRequestMinimum节点。可能值得放弃并再试一次。