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.