【问题标题】:Win7, SP1, UAC, administrative privileges & elevation - problem!Win7、SP1、UAC、管理权限和提升 - 问题!
【发布时间】: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


    【解决方案1】:

    为什么是UseShellExecute=false?如果您将其设为true,它将使用您的清单。我知道你说它曾经有效,但根据我的经验,你必须使用 ShellExecute 来考虑你的清单。

    这与签名无关,顺便说一句,这只是决定您是否会看到带有问号的可怕橙色对话框和未知的出版商,或者是一个稍微不那么可怕的命名您的公司的对话框。

    【讨论】:

    • 感谢您的回复。我已经尝试按照您的指示无济于事!我还查看了这个线程以了解“runas”的动词用法。 stackoverflow.com/questions/3596259/…
    • 好的,让我们尝试一些东西。去双击makecert.exe。它要求提升吗?如果没有,那就是清单。如果是,这就是您启动它的方式。
    • UAC 已关闭。它不要求提升。但它从命令提示符运行正常
    • 有趣的是,我已经启用了审计政策下几乎所有内容的详细审计报告...我正在将报告添加到这篇文章的主体
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-06
    • 1970-01-01
    • 2011-06-07
    • 1970-01-01
    • 1970-01-01
    • 2012-08-14
    相关资源
    最近更新 更多