2014-01-13 57 views
0

我有一个需要管理员权限的Windows C#应用程序。 我创建了一个app.manifest修改它添加从CD运行时需要管理员权限

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

当我直接从我的电脑运行的一切是好的,操作系统提示我的UAC,一切工作正常。 现在,如果我将所有文件写入CD(或ISO映像),某些命令不会以管理权限运行,从而导致错误。 特别是Directory.Delete,Directory.Copy(带recoursive参数)不起作用。

我也试着换默认删除方法做这样的事情:

[PrincipalPermission(SecurityAction.Demand, Role = @"BUILTIN\Administrators")] 
public static void delete(string source, bool recursive) 
{ 
    if (Directory.Exists(source)) 
    { 
     Directory.Delete(source, recursive); 
    } 
} 

但我得到一个“请求主体权限失败。”错误。

有没有其他我失踪?为什么它应该是不同的,如果我的电脑上运行目录或从CD运行?

感谢, 法比奥

+0

可以从CD中删除文件吗?目录? –

+0

“从CD中删除文件”是什么意思? – Fabio

+0

我的意思是你不能从光盘上删除文件/目录上次我检查了...你想从CD中删除?顺便说一句没有创建以及 –

回答

0

也有一些是在.NET中称为CAS(代码访问安全)。 CLR从另一个来源处理程序的方式不同(因此本地Intranet,Internet和本地磁盘的处理方式不同)

从CD加载时,设置将恢复为具有较少特权的模式。

你可以在CAS here on MSDN找到更多的信息。

您可以通过添加和配置app.manifest文件来请求特权。

+0

需要更多帮助吗? –

相关问题