我有一个需要管理员权限的 Windows C# 应用程序。我创建了一个 app.manifest 修改它添加
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
当我直接从我的电脑运行它时,一切正常,操作系统提示我 UAC,一切正常。现在,如果我将所有文件写入 CD(或 iso 映像),某些命令无法以管理权限运行,从而导致错误。特别是 Directory.Delete、Directory.Copy(带有递归参数)不起作用。
我还尝试包装默认的 Delete 方法,执行以下操作:
[PrincipalPermission(SecurityAction.Demand, Role = @"BUILTIN\Administrators")]
public static void delete(string source, bool recursive)
{
if (Directory.Exists(source))
{
Directory.Delete(source, recursive);
}
}
但我收到“请求主体许可失败”。错误。
还有其他我想念的吗?如果在我的 pc 的目录上运行或从 cd 运行,为什么会有所不同?
谢谢,法比奥