Windows tabanlı bir sunucuya hizmet paketi, güncelleştirme paketi veya yazıcı düzeltmesi yüklendikten sonra kullanıcılar yazdıramaz

Bu makale, bir sunucuya hizmet paketi veya yazıcı düzeltmesi yükledikten sonra yazdıramama sorununu çözme konusunda yardım sağlar.

Şunlar için geçerlidir: Windows Server 2012 R2
Özgün KB numarası: 832219

Belirtiler

Windows Server'da bir hizmet paketi, güncelleştirme paketi veya Unidrvui.dll dosyasını güncelleştiren bir düzeltme yükledikten sonra, kullanıcılar aşağıdaki belirtilerin her ikisini de yaşayabilir:

  • bir istemci veya sunucu yazdırmayı denediğinde Yazdırma Biriktiricisi hizmeti yanıt vermeyi durduruyor (veya "askıda kalıyor") görünüyor ve aşağıdaki hata iletisi görüntüleniyor:

    Yazdırma işi oluşturulamıyor.

  • Sunucu konsolundan bir test sayfası yazdırmaya çalıştığınızda aşağıdaki hata iletisini alırsınız:

    Test sayfası yazdırılamadı.

  • Sürücüyü Cihazlar ve Yazıcılar'ı veya Yazdırma Yönetimi Konsolu'nu kullanarak yüklemeye çalıştığınızda Sürücü Ekle veya Yazıcı Ekle sihirbazları yanıt vermeyi durdurur.

Neden

Hizmet paketini veya düzeltme paketini birçok Unidrv tabanlı Yazıcı Denetim Dili (PCL) yazıcı sürücüsüne sahip bir sunucuya yüklerseniz bu davranış oluşabilir.

Birçok Unidrv tabanlı PCL yazıcı sürücüsüne sahip bir sunucuya Unidrvui.dll güncelleştiren bir hizmet paketi veya düzeltme dosyası yüklediğinizde, sunucu bu sürücüler için biriktirici verimliliğini artırmak için kullanılan ayrıştırılmış ikili yazıcı açıklama dosyalarını (.bud dosyaları) yeniden oluşturmak için uzun zaman (2 saate kadar) harcayabilir. Bu süre boyunca, Yazdırma Biriktiricisi gelen yazdırma işlerini alamaz ve istemcilere yazdırma kuyruğunun dolu olduğunu belirten iletiler döndürebilir. Bu tek seferlik bir ayrıştırma işlemidir ve ayrıştırılan ikili .bud dosyaları başarıyla yeniden üretildikten sonra gerçekleşmez.

Genel yazıcı açıklaması (GPD) dosyalarından oluşturulan ikili .bud dosyaları, GPD ayrıştırıcı dosya sürümü değiştirildiğinden yeniden oluşturulmalıdır. Unidrv tabanlı tüm PCL sürücüleri ayrıştırıldıktan sonra, biriktirici yeniden yazdırma işlerini alabilir. Bu nedenle, Microsoft bu iki saate kadar .bud dosya derlemesini barındırmak için birçok Unidrv tabanlı PCL yazıcı sürücüsüne sahip sunucularda hizmet paketi ve düzeltme yüklemeleri zamanlamanızı önerir.

Çözüm

Bu sorunu çözmek için, sunucunun yükseltilen her sürücü dosyası için tüm Unidrv tabanlı yazıcı sürücülerini ayrıştırma işlemini tamamlaması için yeterli zamanı zamanlayın ve ardından bu dosyaları kullanan her yazıcı için yeterli zamanı zamanlayın.

Geçici Çözüm

Önemli

Bu bölüm, yöntem veya görev, kayıt defterini nasıl değiştireceğinizin anlatıldığı adımları içermektedir. Ancak kayıt defterini hatalı biçimde değiştirirseniz önemli sorunlar oluşabilir. Bu nedenle bu adımları dikkatle uyguladığınızdan emin olun. Ek koruma için kayıt defterini değiştirmeden önce yedeklemeyi unutmayın. Böylece, bir sorun oluşursa kayıt defterini daha sonra geri yükleyebilirsiniz. Kayıt defterini yedekleme ve geri yükleme hakkında daha fazla bilgi için bkz. Windows'ta kayıt defterini yedekleme ve geri yükleme.

Sunucunun Unidrv tabanlı tüm yazıcı sürücülerini ayrıştırma işlemini tamamlayabilmesini bekleyemiyorsanız, önbelleğe alınmış tüm ikili yazıcı açıklama dosyalarını (.bud dosyaları) el ile kaldırın ve sonra otomatik olarak yeniden oluşturulmasına izin verin. Sunucunuzun hızına bağlı olarak, bu otomatik yeniden oluşturma işlemi daha kısa sürede tamamlanabilir. Genellikle bu işlem 30 dakika içinde tamamlanır.

Not

Yazdırma Biriktiricisi başlatıldığında, Unidrv.dll'nin daha yeni bir sürümünü yükler. Sonuç olarak, .bud dosyaları güncel değil. .bud dosyaları.ppd dosyalarının derlenmiş sürümleridir ve bu .ppd dosyalarından tamamen yeniden oluşturulabilir. Bu nedenle, .bud dosyalarını kaldırabilirsiniz.

Bunu yapmak için şu adımları uygulayın:

  1. Yazdırma Biriktiricisi hizmetini durdurun. Bunu yapmak için bir komut isteminden aşağıdaki komutu çalıştırın:

    net stop spooler
    
  2. Tüm .bud dosyalarını arayın ve geçerli saat ve tarihle damgalanmış olduklarından emin olun. Dosyalar bugünün tarihiyle birlikte görünür.

  3. Bugünün tarihinden önceki tarih ve saat damgası olan tüm .bud dosyalarını kaldırın. Bu dosyalar aşağıdaki klasörde bulunur:

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

  4. Varsa aşağıdaki kayıt defteri anahtarını kaldırın:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\PostSPUpgrade

    Bunu yapmak için şu adımları uygulayın:

    1. Başlat'a tıklayın, Çalıştır'a tıklayın, kutusuna regedit yazın ve ardından Tamam'a tıklayın.

    2. Aşağıdaki kayıt defteri alt anahtarını bulun ve tıklatın:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print

    3. Kayıt Defteri menüsünde Kayıt Defteri Dosyasını Dışarı Aktar'a tıklayın.

    4. Dosya adı kutusuna printkey yazın ve Kaydet'e tıklayın.

      Not

      Daha sonra Print kayıt defteri anahtarını geri yüklemeniz gerekiyorsa, kaydettiğiniz Printkey.reg dosyasına çift tıklayarak bunu yapabilirsiniz.

    5. Varsa aşağıdaki kayıt defteri alt anahtarını bulun ve tıklatın:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\PostSPUpgrade

    6. Düzenle menüsünde Sil'e tıklayın ve ardından Evet'e tıklayarak PostSPUpgrade kayıt defteri anahtarının kaldırılmasını onaylayın.

      Not

      Bilgisayarı yeniden başlattıktan sonra PostSPUpgrade kayıt defteri anahtarı yeniden görünebilir. Bu davranış, henüz ayrıştırılmayan başka .bud dosyaları varsa oluşur. Bu dosyalar ayrıştırıldıktan sonra bu kayıt defteri anahtarı otomatik olarak kaldırılır.

  5. Sunucuyu yeniden başlatın.

Sunucuyu yeniden başlattıktan sonra, yazdırma işlevi yaklaşık 30 dakika sonra kullanıcılar tarafından kullanılabilir.

Daha fazla bilgi

.NET Framework 3.0'da unidrv.dll dosyası artık XPS yazdırmaya dahil edilir. unidrv.dll dosyası da bu davranışı tetikleyebilir.