6 votes

Suppression permanente de l'objet pseudoprinter Microsoft XPS Document Writer ?

Pour des raisons inconnues, un grand nombre des ordinateurs (Windows XP SP3) que je gère ont récemment commencé à créer un nouvel objet de pseudoprinter, appelé Microsoft XPS Document Writer, apparemment de nulle part.

C'est un problème, car pour certains utilisateurs (créés via Dynamic Local User via ZENworks), l'écrivain de documents XPS est défini comme l'imprimante par défaut!

Lorsque j'ai créé l'image pour ces machines, je me suis assuré de supprimer cet objet de pseudoprinter de la zone Imprimantes et télécopieurs. J'aimerais d'abord savoir ce qui le recrée récemment, plus d'un an plus tard.

J'ai trouvé un outil pour supprimer l'objet de pseudoprinter, son pilote, et quelques autres choses associées. Le problème est que c'est une application uniquement graphique, et nécessite une interaction utilisateur.

J'aimerais un utilitaire comme celui-ci qui supprime simplement l'objet de pseudoprinter, le pilote, etc., sans interaction utilisateur, afin qu'il puisse être exécuté à partir du script de connexion.

Sinon, je dois savoir exactement comment exécuter manuellement chacune des étapes que l'outil de suppression XPS réalise, puis les scripter. Pff!

Toute aide serait grandement appréciée!

6voto

Jakob Schmitt Points 21

Pour des raisons inconnues, un grand nombre des ordinateurs (Windows XP SP3) que je gère ont récemment commencé à créer un nouvel objet pseudo-imprimante, appelé Microsoft XPS Document Writer, apparemment de nulle part.

Si j'ai bien compris, la version originale de XPS Document Writer et des composants associés pour Windows XP était livrée en tant que partie de .NET Framework 3.0, voir par exemple Viewing and creating XPS documents. Par conséquent, je suppose que la raison pour laquelle ces composants apparaissent sur ces systèmes est une installation explicite ou implicite de .NET Framework 3.0, par exemple déclenchée par un autre logiciel qui en dépend.

J'aimerais beaucoup un utilitaire comme celui-ci qui supprime simplement l'objet pseudo-imprimante, le pilote, etc., sans interaction de l'utilisateur, afin qu'il puisse être exécuté à partir du script de connexion.

Apparemment, cette installation est basée sur Windows Installer en interne, qui dispose d'une fonctionnalité de désinstallation appropriée pour les administrateurs système par conception, même en l'absence d'une entrée explicite Ajouter/Supprimer des Programmes pour les utilisateurs finaux, voir Options de ligne de commande standard de l'installateur (également affichées si vous exécutez msiexec /? sur une ligne de commande), par exemple :

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

Par conséquent, il y a cependant certaines contraintes :

  • La fonctionnalité à désinstaller doit avoir été fournie en tant que package Windows Installer (.msi) au départ, même si ce package a à son tour été regroupé/en emballé dans une autre entité, par exemple l'installateur .NET Framework ; ce n'est peut-être pas nécessairement le cas, même si je serais surpris que ce ne soit pas le cas.
  • Comme indiqué, vous aurez besoin d'accéder au package d'installation original (.msi), qui est généralement mis en cache sur le système à des fins comme celles-ci, ou vous aurez besoin du soi-disant ProductCode du package tel qu'enregistré dans la base de données Windows Installer système.

C'est là que les choses se compliquent (et potentiellement dangereuses) concernant votre exemple, car vous devrez trouver l'un de ces éléments sur votre système :
La cache Windows Installer est généralement située dans C:\Windows\Installer, les codes produits de Windows Installer sont enregistrés sous HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall. Évidemment, vous aurez d'abord besoin d'un terme à rechercher (par exemple 'XPS') et pour chaque trouvaille, vous devriez vérifier si elle désigne effectivement le package que vous recherchez, sinon vous pourriez vous retrouver à supprimer accidentellement des éléments importants.


Approche alternative :

Apparemment, le Microsoft XML Paper Specification Essentials Pack est une mise à jour de ces éléments livrés via .NET Framework 3.0 (voir cet article). Étant donné qu'il s'agit d'un package d'installation Windows officiel, la désinstallation telle qu'indiquée ci-dessus devrait fonctionner. J'ai jeté un coup d'œil dans le package via Orca, et sans surprise, il semble inclure des actions personnalisées pour désinstaller les anciens composants si présents. Par conséquent, vous pouvez installer ce package d'abord, impliquant la suppression des éléments installés via le .NET Framework, et le désinstaller immédiatement par la suite pour vous débarrasser complètement de la fonctionnalité XPS :

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

Il semble certainement étrange d'installer plus de choses d'abord, et cela pourrait fonctionner ou non, mais en fin de compte, cela pourrait être plus simple et donc valoir la peine d'essayer.

2voto

JS. Points 3901

Exécutez ceci en tant que script de démarrage

Cscript %WINDIR%\System32\prnmngr.vbs -d -p "Microsoft XPS Document Writer"

0voto

Si vous envoyez un e-mail aux gars qui ont créé l'outil, ils ont aussi un outil en ligne de commande.

0voto

PEra Points 161

Voici un article qui explique comment supprimer l'imprimante XPS Document Writer en ajoutant quelques lignes au script de connexion de l'utilisateur.

Essentiellement, il suffit de :

c:

cd \windows\system32\

cscript prnmngr.vbs -d -p "Microsoft XPS Document Writer"

Une fois que vous avez confirmé que tous les utilisateurs se sont connectés et ont exécuté les commandes ci-dessus, vous pouvez supprimer les lignes du script de connexion.

Voici un lien vers l'article complet -

Pour les administrateurs système : Suppression de "XPS Document Writer" par Greg Martin

0voto

Je ne vois pas le problème maintenant. Vous avez la commande pour supprimer l'imprimante XPS dans le script de connexion. Si l'objet est là, le script le supprimera, sinon il s'arrêtera. Travail terminé, n'est-ce pas ?

Bizarrement, je me bats pour installer cette bête proprement, mais c'est une autre histoire.

Mike

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X