Les utilisateurs ne peuvent pas imprimer après avoir installé un Service Pack, un correctif cumulatif ou un correctif logiciel d’imprimante sur un serveur Windows

Cet article fournit de l’aide pour résoudre un problème où vous ne pouvez pas imprimer après avoir installé un Service Pack ou un correctif logiciel d’imprimante sur un serveur.

S’applique à : Windows Server 2012 R2
Numéro de la base de connaissances d’origine : 832219

Symptômes

Après avoir installé un Service Pack, un correctif cumulatif ou un correctif logiciel qui met à jour le fichier Unidrvui.dll sur Windows Server, les utilisateurs peuvent rencontrer les deux symptômes suivants :

  • Lorsqu’un client ou un serveur tente d’imprimer, le service spouleur d’impression semble cesser de répondre (ou « se bloquer ») et le message d’erreur suivant s’affiche :

    Impossible de créer un travail d’impression.

  • Lorsque vous essayez d’imprimer une page de test à partir de la console du serveur, le message d’erreur suivant s’affiche :

    Échec de l’impression de la page de test.

  • Les Assistants Ajouter un pilote ou Ajouter une imprimante cessent de répondre, soit lorsque vous essayez d’installer le pilote à l’aide de Périphériques et imprimantes, soit à l’aide de la console de gestion de l’impression.

Cause

Ce comportement peut se produire si vous installez le Service Pack ou le package de correctifs logiciels sur un serveur qui possède de nombreux pilotes d’imprimante pcL (Printer Control Language) basés sur Unidrv.

Lorsque vous installez un Service Pack ou un fichier de correctif logiciel qui met à jour Unidrvui.dll sur un serveur avec de nombreux pilotes d’imprimante PCL basés sur Unidrv, le serveur peut passer beaucoup de temps (jusqu’à 2 heures) à régénérer les fichiers de description d’imprimante binaire analysés (fichiers .bud) qui sont utilisés pour augmenter l’efficacité du spouleur pour ces pilotes. Pendant ce temps, le spouleur d’impression ne peut pas recevoir les travaux d’impression entrants et peut retourner des messages aux clients qui indiquent que la file d’attente d’impression est pleine. Il s’agit d’une opération d’analyse unique qui ne se produit pas une fois que les fichiers .bud binaires analysés ont été correctement régénérés.

Les fichiers .bud binaires générés à partir de fichiers de description d’imprimante générique (GPD) doivent être régénérés, car la version du fichier de l’analyseur GPD est modifiée. Une fois tous les pilotes PCL basés sur Unidrv analysés, le spouleur peut à nouveau recevoir des travaux d’impression. Pour cette raison, Microsoft vous recommande de planifier les installations de Service Pack et de correctifs logiciels sur les serveurs avec de nombreux pilotes d’imprimante PCL basés sur Unidrv pour prendre en charge cette compilation de fichiers .bud d’une durée de deux heures maximum.

Résolution

Pour résoudre ce problème, planifiez suffisamment de temps pour que le serveur termine l’analyse de tous les pilotes d’imprimante Basés sur Unidrv pour chaque fichier de pilote mis à niveau, puis planifiez suffisamment de temps pour chaque imprimante qui utilise ces fichiers.

Solution de contournement

Importante

Cette section, méthode ou tâche contient des étapes vous indiquant comment modifier le Registre. Toutefois, des problèmes graves peuvent se produire si vous modifiez le Registre de façon incorrecte. Par conséquent, veillez à suivre ces étapes scrupuleusement. Pour une meilleure protection, sauvegardez le registre avant de le modifier. Vous pouvez alors le restaurer en cas de problème. Pour plus d’informations sur la procédure de sauvegarde et de restauration du Registre, consultez l’article Comment sauvegarder et restaurer le Registre dans Windows.

Si vous ne pouvez pas attendre que le serveur termine l’analyse de tous les pilotes d’imprimante basés sur Unidrv, supprimez manuellement tous les fichiers de description d’imprimante binaire mis en cache (fichiers .bud), puis laissez-les être automatiquement recréés. Selon la vitesse de votre serveur, cette recréation automatique peut être effectuée dans un délai plus court. En règle générale, cette opération s’effectue dans les 30 minutes.

Remarque

Lorsque le spouleur d’impression démarre, il installe une version plus récente de Unidrv.dll. Par conséquent, les fichiers .bud sont obsolètes. Les fichiers .bud sont les versions compilées des fichiers .ppd et peuvent être complètement régénérés à partir de ces fichiers .ppd. Pour cette raison, vous pouvez supprimer les fichiers .bud.

Pour cela, procédez comme suit :

  1. Arrêtez le service Spouleur d’impression. Pour ce faire, exécutez la commande suivante à partir d’une invite de commandes :

    net stop spooler
    
  2. Recherchez tous les fichiers .bud, puis assurez-vous qu’ils sont marqués avec l’heure et la date actuelles. Les fichiers apparaissent avec la date du jour.

  3. Supprimez tous les fichiers .bud dont la date et l’heure sont antérieures à la date du jour. Ces fichiers se trouvent dans le dossier suivant :

    %SYSTEMROOT%\System32\Spool\Drivers\w32x86\3

  4. Supprimez la clé de Registre suivante si elle existe :
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\PostSPUpgrade

    Pour cela, procédez comme suit :

    1. Cliquez surDémarrer, puis Exécuter, entrez regedit dans la zone Ouvrir et cliquez sur OK.

    2. Recherchez, puis cliquez sur la sous-clé de Registre suivante :
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print

    3. Dans le menu Registre, cliquez sur Exporter un fichier du Registre.

    4. Dans la zone Nom de fichier , tapez printkey, puis cliquez sur Enregistrer.

      Remarque

      Si vous devez ultérieurement restaurer la clé de Registre Imprimer , vous pouvez le faire en double-cliquant sur le fichier Printkey.reg que vous avez enregistré.

    5. Recherchez, puis cliquez sur la sous-clé de Registre suivante si elle existe :
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\PostSPUpgrade

    6. Dans le menu Modifier , cliquez sur Supprimer, puis sur Oui pour confirmer la suppression de la clé de Registre PostSPUpgrade .

      Remarque

      La clé de Registre PostSPUpgrade peut réapparaître après le redémarrage de l’ordinateur. Ce comportement se produit si d’autres fichiers .bud qui n’ont pas encore été analysés existent. Une fois ces fichiers analysés, cette clé de Registre est automatiquement supprimée.

  5. Redémarrez le serveur.

Après avoir redémarré le serveur, la fonctionnalité d’impression est disponible pour les utilisateurs après environ 30 minutes.

Plus d’informations

Dans .NET Framework 3.0, le fichier unidrv.dll est désormais inclus avec l’impression XPS. Le fichier unidrv.dll peut également déclencher ce comportement.