【问题标题】:Access denied when adding an Ethernet printer port with WMI on Windows XP 64 bit在 Windows XP 64 位上使用 WMI 添加以太网打印机端口时访问被拒绝
【发布时间】:2011-11-18 18:21:13
【问题描述】:

我一直在编写打印机驱动程序安装程序。除此之外,它还可以创建一个以太网打印机,这意味着我需要创建一个以太网打印机端口。

我用来创建端口的代码(见下文)在 Windows XP 32 位、Windows Vista 32 和 64 位以及 Windows 7 32 和 64 位上运行良好。但是,当代码在 Windows XP 64 位上运行时,我得到一个拒绝访问异常。

这是 C# 代码,归结为产生错误的简单形式:

static void Main(string[] args)
{
    ManagementClass portClass = new ManagementClass("Win32_TCPIPPrinterPort");
    ManagementObject portObject = portClass.CreateInstance();

    portObject["Name"] = "TestPort";
    portObject["HostAddress"] = "172.16.2.78";
    portObject["PortNumber"] = 9100;
    portObject["Protocol"] = 1;
    portObject["SNMPEnabled"] = false;

    PutOptions options = new PutOptions();
    options.Type = PutType.UpdateOrCreate;
    try
    {
        portObject.Put(options);
    }
    catch (ManagementException e)
    {
        Console.WriteLine("ManagementException: " + e.Message);
    }
}

运行程序时,我以管理员身份登录,我也尝试右键单击并执行“以管理员身份运行”,但没有效果。我还有一个清单来强制应用程序在 Windows Vista/7 中以管理员身份运行;我不确定这对 Windows XP 64 位有何影响。

到目前为止,我在网上找到的大部分信息都是关于在远程计算机上使用 WMI,但所有这些都是针对本地计算机的。

【问题讨论】:

    标签: c# .net wmi


    【解决方案1】:

    运行程序时,我以管理员身份登录,并且我还 尝试右键单击并执行“运行为”管理员,但它没有 有效果。

    直到 Windows Vista 才添加此上下文菜单项。您在 Windows XP 上究竟是如何做到这一点的?您是否尝试过调整 manfest 文件?

    我希望我能真正提供答案,但您的问题缺少重要的细节和/或做出了没有意义的陈述(即“在 Windows XP 上以管理员身份运行”)。

    来自以下问题:Addressing "Access Denied" Exception with WMI Calls

    Add a manifest 到您的程序,以便它始终以管理员身份运行 特权。 Here 是另一个更重要的链接。

    【讨论】:

    • Windows XP 64 位有一个上下文菜单项“Run as...”,它带来了this window。取消选中“以受限访问权限运行此程序”或以“管理员”用户身份运行无效。我还有一个清单可以在 Vista/7 上以管理员身份运行。
    • 您所描述的功能与“以管理员身份运行”的功能不同。如果您以具有管理员权限的用户身份运行应用程序,程序是否会抱怨权限?
    • 是的,无论我如何在 XP 64 上运行应用程序,它都会出现拒绝访问错误。
    • 这不是答案。应该是评论。
    • @DavidHeffernan - 我很想发表评论,不得不说很多,我别无选择。这也是我报这个问题的原因,我不相信它现在的状态,它甚至可以回答。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-01
    • 1970-01-01
    相关资源
    最近更新 更多