AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 59737
Accepted
eleven81
eleven81
Asked: 2009-08-28 12:16:07 +0800 CST2009-08-28 12:16:07 +0800 CST 2009-08-28 12:16:07 +0800 CST

永久删除 Microsoft XPS Document Writer 伪打印机对象?

  • 772

由于未知的原因,我管理的许多 (Windows XP SP3) 计算机最近开始创建一个新的伪打印机对象,称为Microsoft XPS Document Writer,似乎无处不在。

这是一个问题,因为对于某些用户(通过 ZENworks 通过动态本地用户创建)XPS 文档编写器被设置为默认打印机!

当我为这些机器制作图像时,我确保从打印机和传真区域中删除了这个伪打印机对象。我首先想知道是什么导致它在一年多后最近重新创建。

我找到了一个工具来删除伪打印机对象、它的驱动程序和其他一些相关的东西。问题是,它只是一个 GUI 应用程序,并且需要用户交互。

我喜欢这样的实用程序,它只删除伪打印机对象、驱动程序等,无需用户交互,因此可以从登录脚本运行。

如果做不到这一点,我需要确切知道如何手动执行 XPS 删除工具执行的每个步骤,然后编写脚本。啊!

任何帮助将不胜感激!

windows-xp xml
  • 6 6 个回答
  • 16696 Views

6 个回答

  • Voted
  1. Best Answer
    Steffen Opel
    2009-09-03T09:50:46+08:002009-09-03T09:50:46+08:00

    由于未知的原因,我管理的许多 (Windows XP SP3) 计算机最近开始创建一个新的伪打印机对象,称为 Microsoft XPS Document Writer,似乎是凭空出现的。

    如果我正确阅读了原始版本的 XPS 文档编写器和 Windows XP 的相关组件作为 .NET Framework 3.0 的一部分,请参阅查看和创建 XPS 文档的示例。因此,我认为这些组件确实出现在这些系统上的原因是 .NET Framework 3.0 的显式或隐式安装,例如由依赖它的另一个软件触发。

    我喜欢这样的实用程序,它只删除伪打印机对象、驱动程序等,无需用户交互,因此它可以从登录脚本运行。

    据推测,此安装是基于Windows Installer的,它为系统管理员设计了适当的卸载功能,即使最终用户没有明确的添加/删除程序条目,请参阅标准安装程序命令行选项(如果在命令行上执行msiexec /?),例如:

    msiexec /uninstall /quiet YourInstallationPackage.msi
    msiexec /uninstall /quiet {12345678-1234-1234-1234-123456789012}
    

    因此,尽管存在一些限制:

    • 当然,要卸载的功能首先必须作为 Windows Installer 包 (.msi) 提供,即使该包又被捆绑/打包在另一个实体中,例如 .NET Framework 安装程序;情况可能不一定如此,即使如果不是,我也会感到惊讶。
    • 如图所示,您要么需要访问原始安装包 (.msi),通常出于此类目的而将其缓存在系统上,要么您需要ProductCode在系统范围的 Windows Installer 中记录的所谓的包数据库。

    这是关于您的示例的事情变得棘手(并且具有潜在危险)的地方,因为您需要在系统上找到其中之一:
    缓存Windows Installer通常位于C:\Windows\Installer,Windows Installer 产品代码注册在HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall. 显然,您首先需要查找一些术语(例如“XPS”),并且对于每一个发现,您都应该确定它是否真的表示您正在寻找的包,否则您最终可能会意外删除重要的东西。


    替代方法:

    显然,Microsoft XML Paper Specification Essentials Pack是对通过 .NET Framework 3.0 交付的那些位的更新(请参阅本文)。鉴于这是一个官方的 Windows 安装程序包,上面概述的卸载肯定可以工作。我通过 进入包Orca,毫不奇怪,它似乎包含用于卸载旧组件(如果存在)的自定义操作。因此,您可以先安装此软件包,这意味着删除通过 .NET Framework 安装的位,然后立即再次卸载它以完全摆脱 XPS 功能:

    msiexec /install /quiet 'XPSEP XP and Server 2003 32 bit.msi'
    msiexec /uninstall /quiet 'XPSEP XP and Server 2003 32 bit.msi'
    

    首先安装更多东西肯定看起来很奇怪,它可能会或可能不会起作用,但最终它可能会更简单,因此值得一试。

    • 6
  2. JS.
    2009-08-28T13:06:38+08:002009-08-28T13:06:38+08:00

    将其作为启动脚本运行

    Cscript %WINDIR%\System32\prnmngr.vbs -d -p "Microsoft XPS Document Writer"
    
    • 2
  3. Dustin
    2009-09-01T12:02:21+08:002009-09-01T12:02:21+08:00

    这是给你的一个想法。如果您使用 Symantec Ghost,您始终可以为其创建 AI 安装。如果您不熟悉该过程,它会获取计算机的映像,您运行安装或脚本,它会获取另一个映像,然后创建执行所有更改的可执行文件。唯一变得奇怪的是如果中间需要重新启动,否则效果很好。

    • 0
  4. erik
    2009-09-05T04:00:16+08:002009-09-05T04:00:16+08:00

    如果你给制作工具的人发邮件,他们也有命令行工具

    • 0
  5. jchawk
    2009-09-08T07:06:18+08:002009-09-08T07:06:18+08:00

    这是一篇文章,讨论了如何通过向用户登录脚本添加几行来删除 XPS 文档编写器。

    基本上你只是在 -

    c:
    
    cd \windows\system32\
    
    cscript prnmngr.vbs -d -p "Microsoft XPS Document Writer"
    

    确认所有用户都已登录并执行上述命令后,您可以从登录脚本中删除这些行。

    这是完整文章的链接-

    对于 SysAds:删除 Greg Martin 的“XPS Document Writer”

    • 0
  6. Mike
    2009-09-25T05:31:36+08:002009-09-25T05:31:36+08:00

    我现在没有看到问题。您有在登录脚本中删除 XPS 打印机的命令。如果对象存在,脚本将删除它,否则将退出。工作完成了,确定吗?

    奇怪的是,我正在努力干净地安装这个小动物,但那是另一回事了。

    麦克风

    • 0

相关问题

  • Windows XP 主板升级 - 不允许用户验证安装

  • 无法在 Outlook 07 中创建签名

  • 如何让 WindowsXp 机器使用特定的域控制器作为登录服务器?

  • “系统还原”功能的好处?[关闭]

  • XP下设置FTP服务器时出错

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve