【发布时间】:2011-07-08 12:14:12
【问题描述】:
伙计们,
我不知道如何解决的大问题。似乎 Win7 SP1 破坏了我的应用程序。我的场景曾经奏效!
我有一个 Win C# .NET 4.0 应用程序,其清单通过 app.manifest 行请求管理权限:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
我还通过以下代码行在我的应用程序中启动了一个新线程:
Process certMaker = new Process();
certMaker.StartInfo.FileName = makeCertExe;
certMaker.StartInfo.UseShellExecute = false;
certMaker.StartInfo.RedirectStandardOutput = true;
certMaker.Start();
certMaker.WaitForExit();
这过去没有问题,但现在它不再在提升的权限下运行。可以肯定的是,我已经用以下方式装饰了该方法:
[PrincipalPermission(SecurityAction.Demand, Role = @"BUILTIN\Administrators")]
但我只收到“请求主体权限失败”错误。
有什么帮助吗? SP1 中的哪些变化可能导致这种情况?由于成本高昂,我们的申请尚未签署。
我尝试在任何级别关闭或打开 UAC,我确实设置了从 XP 到 Win7 的兼容模式,但什么也没有。
我已针对操作系统中的任何类型的安全故障启用了完整的审核报告。这是我认为每次尝试运行命令时都会得到的结果:
A handle to an object was requested.
Subject:
Security ID: LOCAL SERVICE
Account Name: LOCAL SERVICE
Account Domain: NT AUTHORITY
Logon ID: 0x3e5
Object:
Object Server: PlugPlayManager
Object Type: Security
Object Name: PlugPlaySecurityObject
Handle ID: 0x0
Process Information:
Process ID: 0x2dc
Process Name: C:\Windows\System32\svchost.exe
Access Request Information:
Transaction ID: {00000000-0000-0000-0000-000000000000}
Accesses: Unknown specific access (bit 1)
Access Reasons: -
Access Mask: 0x2
Privileges Used for Access Check: -
Restricted SID Count: 0
谢谢!
【问题讨论】:
标签: .net windows-7 process uac