Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article fournit de l’aide pour résoudre un problème où vous ne pouvez pas imprimer après l’installation d’un correctif logiciel service pack ou d’imprimante sur un serveur.
Numéro de 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 « 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 serveur, vous recevez le message d’erreur suivant :
Échec de l’impression de la page de test.
Les Assistants Ajouter un pilote ou Ajouter une imprimante ne répondent plus, soit lorsque vous essayez d’installer le pilote à l’aide d’appareils et d’imprimantes, soit à l’aide de la console de gestion d’impression.
Cause
Ce comportement peut se produire si vous installez le pack de service ou le package de correctif logiciel sur un serveur qui a de nombreux pilotes d’imprimante PCL (Unidrv-based Printer Control Language).
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 non 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) utilisés pour augmenter l’efficacité du spouleur pour ces pilotes. Pendant ce temps, le spouleur d’impression ne peut pas recevoir de 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 ponctuelle et ne se produit pas après que les fichiers .bud binaires analysés soient 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 d’analyseur GPD est modifiée. Une fois que tous les pilotes PCL non basés sur Unidrv sont analysés, le spouleur peut à nouveau recevoir des travaux d’impression. En raison de cela, Microsoft vous recommande de planifier des installations de service pack et de correctif logiciel sur des serveurs avec de nombreux pilotes d’imprimante PCL basés sur Unidrv pour prendre en charge cette compilation de fichiers .bud pouvant aller jusqu’à deux heures.
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 non 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
Important
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, vérifiez que vous suivez ces étapes attentivement. Pour une protection supplémentaire, sauvegardez le Registre avant de le modifier. Ensuite, vous pouvez restaurer le Registre si un problème se produit. Pour plus d’informations sur la sauvegarde et la restauration du registre, voir : Procédure de sauvegarde, de modification et de restauration du Registre dans Windows.
Si vous ne pouvez pas attendre que le serveur termine l’analyse de tous les pilotes d’imprimante non 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 est effectuée dans les 30 minutes.
Note
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 ce faire, procédez comme suit :
Arrêtez le service Print Spooler. Pour ce faire, exécutez la commande suivante à partir d’une invite de commandes :
net stop spooler
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 d’aujourd’hui.
Supprimez tous les fichiers .bud qui ont un horodatage de date et d’heure antérieur à la date d’aujourd’hui. Ces fichiers se trouvent dans le dossier suivant :
%SYSTEMROOT%\System32\Spool\Drivers\w32x86\3
Supprimez la clé de Registre suivante s’il existe :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\PostSPUpgrade
Pour ce faire, procédez comme suit :
Cliquez sur Démarrer, cliquez sur Exécuter, tapez regedit dans la zone Ouvrir , puis cliquez sur OK.
Recherchez, puis cliquez sur la sous-clé de Registre suivante :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print
Dans le menu Registre, cliquez sur Exporter un fichier du Registre.
Dans la zone Nom de fichier, tapez printkey, puis cliquez sur Enregistrer.
Note
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é.
Recherchez, puis cliquez sur la sous-clé de Registre suivante s’il existe :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\PostSPUpgrade
Dans le menu Modifier , cliquez sur Supprimer, puis sur Oui pour confirmer la suppression de la clé de Registre PostSPUpgrade .
Note
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 existent qui n’ont pas encore été analysés. Une fois ces fichiers analysés, cette clé de Registre est automatiquement supprimée.
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.