ASP'den çağrıldığında COM nesneleri yazdırılamaz
Bu makale, ACTIVE Server Sayfalarından çağrıldığında COM nesnesinin yazıcıya çıkış göndermesi sorununu çözmenize yardımcı olur.
Orijinal ürün sürümü: Etkin Sunucu Sayfaları
Özgün KB numarası: 184291
Belirtiler
Bir yazıcıya çıkış gönderen bir COM nesnesi, Active Server Pages 'dan (ASP) çağrıldığında başarısız olur, ancak etkileşimli bir uygulamadan çağrıldığında düzgün çalışır. Bu COM nesnesi, Microsoft Office uygulaması gibi ticari bir ürün veya özel bir üçüncü taraf nesnesi olabilir. Sık karşılaşılan bir hata iletisi "ClassName hatası '800a01e2' Yazıcı hatasıdır."
Neden
Çoğu nesnenin yazdırmak için kullandığı standart API'ler, HKEY_CURRENT_USER'de bulunan kayıt defteri girişlerine bağlıdır. Bu kayıt defteri kovanı dinamiktir. İşlemin hangi kullanıcı bağlamı altında çalıştığına bağlı olarak, bu kovana farklı bilgiler yüklenir. ASP sayfaları, SYSTEM hesabı olarak çalışan IIS altında çalışır. ASP kodunuzda bir COM nesnesinin örneğini oluşturduğunuzda, varsayılan olarak bu nesne SYSTEM hesabı olarak da çalışır. Varsayılan olarak, SYSTEM hesabında kayıt defterinde ayarlanmış yazıcı yoktur.
Çözüm
Bu sorunu çözmek için SYSTEM hesabı için yazıcılar ayarlayabilirsiniz. SYSTEM hesabı için yazıcıları ayarlamak için aşağıdaki adımları uygulayın:
Uyarı
Bu yöntem, Kayıt Defteri Düzenleyici kullanarak kayıt defterini değiştirmenizi gerektirir. Kayıt Defteri Düzenleyici yanlış kullanılması, windows'un bunları düzeltmek için yeniden yüklenmesini gerektirebilecek ciddi, sistem genelinde sorunlara neden olabilir. Microsoft, Kayıt Defteri Düzenleyici kullanımından kaynaklanan sorunların çözülebileceğini garanti edemez. Bu aracı kendi riskinizle kullanın.
Sunucuda oturum açtığınız kullanıcının istenen yazıcıların yüklü olduğundan emin olun.
Kayıt Defteri Düzenleyici (Regedit.exe) başlatın.
Aşağıdaki anahtarı seçin:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Devices
Kayıt Defteri menüsünde Kayıt Defteri Dosyasını Dışarı Aktar'ı seçin.
Dosya Adı metin kutusuna c:\Devices.reg yazın.
Aşağıdaki anahtarı seçin:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\PrinterPorts
Kayıt Defteri menüsünde Kayıt Defteri Dosyasını Dışarı Aktar'ı seçin.
Dosya Adı metin kutusuna c:\PrinterPorts.reg yazın.
Aşağıdaki anahtarı seçin:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows
Kayıt Defteri menüsünde Kayıt Defteri Dosyasını Dışarı Aktar'ı seçin.
Dosya Adı metin kutusuna c:\Windows.reg yazın.
Başlangıç düğmesinden Çalıştır'ı seçin. Çalıştır iletişim kutusuna Not Defteri Devices.reg yazarak Not Defteri'nde Devices.reg açın.
metni
HKEY_CURRENT_USER
ileHKEY_USERS\.DEFAULT
değiştirin.Dosyayı kaydedin. Ardından Windows Gezgini'nde dosyaya çift tıklayarak kayıt defterine aktarın.
PrinterPorts.reg ve Windows.reg için 13 ile 15 arasındaki adımları yineleyin.
Not
Bu adımlar yalnızca yerel yazıcılarda çalışır.
IIS'nin SYSTEM hesabını kullanarak ağ yazıcılarını listelemesini sağlamak için aşağıdaki adımları izleyin.
Not
İşlem Ağ Hizmeti hesabı altında çalışıyorsa, yeni oluşturulan kayıt defterine yönelik açık izinler gereklidir.
Şu anda sunucuda istenen ağ yazıcılarının yüklü olduğu bir kullanıcı olarak oturum açtığınızdan emin olun.
Kayıt Defteri Düzenleyicisi'ni başlatın.
Aşağıdaki anahtarı seçin:
HKEY_CURRENT_USER\Printers\Connections
Kayıt Defteri menüsünde Kayıt Defteri Dosyasını Dışarı Aktar'ı seçin.
Dosya Adı kutusuna c:\printconns.reg yazın.
printconns.reg dosyasını Not Defteri'nde açmak için Başlat'ı seçin, Çalıştır'ı seçin, Aç kutusuna Not Defteri printconns.reg yazın ve tamam'ı seçin.
metnini metniyle
HKEY_CURRENT_USER
HKEY_USERS\.DEFAULT
değiştirin.Dosyayı kaydedin.
Dosyayı kayıt defterine aktarmak için Windows Gezgini'nde dosyaya çift tıklayın.
Yazdırma Biriktiricisi hizmetini yeniden başlatın.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin