For reasons unknown, a great many of the (Windows XP SP3) computers I manage have recently started creating a new pseudoprinter object, called Microsoft XPS Document Writer, seemingly out of nowhere.
Se eu ler as coisas corretamente, a versão original do XPS Document Writer e os componentes relacionados para o Windows XP fornecidos como parte do .NET Framework 3.0, consulte, por exemplo, Visualizar e criar documentos XPS . Consequentemente, suponho que a razão pela qual esses componentes aparecem nesses sistemas seja uma instalação explícita ou implícita do .NET Framework 3.0, por exemplo, desencadeada por outro software que depende dele.
I would love a utility like this that just deletes the pseudoprinter object, driver, etc., without user interaction, so it can be run from the login script.
Presumivelmente, essa instalação é baseada no Windows Installer , que apresenta a funcionalidade de desinstalação adequada para administradores de sistema por design, mesmo na ausência de uma entrada explícita Adicionar / Remover Programa para usuários finais, consulte Opções de linha de comando do instalador padrão (também mostrado se estiver executando msiexec /?
em uma linha de comando), por exemplo:
msiexec /uninstall /quiet YourInstallationPackage.msi
msiexec /uninstall /quiet {12345678-1234-1234-1234-123456789012}
Consequentemente, existem algumas restrições :
- A funcionalidade a ser desinstalada deve ter sido fornecida como um pacote do Windows Installer (.msi) em primeiro lugar , é claro, mesmo que esse pacote tenha sido empacotado / empacotado em outra entidade, por exemplo o instalador do .NET Framework; isso pode não ser necessariamente o caso , apesar de eu ficar surpreso se não.
- Como mostrado, você precisará acessar o pacote de instalação original (.msi), que normalmente está sendo armazenado em cache no sistema para propósitos como este, ou você precisará do chamado
ProductCode
do pacote, conforme registrado no banco de dados do Windows Installer em todo o sistema.
É aqui que as coisas ficam complicadas (e potencialmente perigosas) em relação ao seu exemplo, porque você precisará encontrar um desses no seu sistema:
O Windows Installer
cache geralmente está localizado em C:\Windows\Installer
, os códigos de produto do Windows Installer estão registrados em HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall
. Obviamente, você primeiro precisará de um termo para procurar (por exemplo, 'XPS') e para cada descoberta você deve definitivamente verificar se realmente denota o pacote que está procurando, senão você pode acabar acidentalmente removendo coisas importantes.
Abordagem alternativa:
Aparentemente, o pacote Microsoft XML Paper Specification Essentials é uma atualização para os bits fornecidos via .NET Framework 3.0 (consulte este artigo ). Dado que este é um pacote oficial do Windows Installer, a desinstalação descrita acima deve funcionar. Cheguei ao pacote por meio de Orca
, e não é de surpreender parece incluir ações personalizadas para desinstalar componentes antigos, se presentes. Conseqüentemente, você poderá instalar este pacote primeiro, implicando na remoção dos bits instalados através do .NET Framework e imediatamente desinstalá-lo novamente para se livrar completamente da funcionalidade XPS:
msiexec /install /quiet 'XPSEP XP and Server 2003 32 bit.msi'
msiexec /uninstall /quiet 'XPSEP XP and Server 2003 32 bit.msi'
Definitivamente, parece estranho instalar mais coisas primeiro, e pode ou não funcionar, mas no final pode ser mais simples e, portanto, vale a pena tentar.