Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel hilft Ihnen, das Problem zu beheben, das ein COM-Objekt die Ausgabe an einen Drucker sendet, schlägt fehl, wenn von Active Server Pages aufgerufen wird.
Originalproduktversion: Active Server Pages
Ursprüngliche KB-Nummer: 184291
Problembeschreibung
Ein COM-Objekt, das die Ausgabe an einen Drucker sendet, schlägt fehl, wenn sie von Active Server Pages (ASP) aufgerufen wird, aber ordnungsgemäß funktioniert, wenn sie von einer interaktiven Anwendung aufgerufen wird. Dieses COM-Objekt kann entweder ein kommerzielles Produkt wie eine Microsoft Office-App lizenzierung oder ein benutzerdefiniertes Drittanbieterobjekt sein. Eine häufige Fehlermeldung lautet "ClassName-Fehler '800a01e2' Druckerfehler".
Ursache
Die Standard-APIs, die die meisten Objekte zum Drucken verwenden, sind von Registrierungseinträgen abhängig, die sich in HKEY_CURRENT_USER befinden. Diese Registrierungsstruktur ist dynamisch. Je nachdem, unter welchem Benutzerkontext der Prozess ausgeführt wird, werden unterschiedliche Informationen in diese Struktur geladen. ASP-Seiten werden unter IIS ausgeführt, die als SYSTEM-Konto ausgeführt wird. Wenn Sie eine Instanz eines COM-Objekts in Ihrem ASP-Code erstellen, wird es standardmäßig auch als SYSTEM-Konto ausgeführt. Standardmäßig ist für das SYSTEM-Konto keine Drucker in der Registrierung eingerichtet.
Lösung
Sie können Drucker für das SYSTEM-Konto einrichten, um dieses Problem zu beheben. Führen Sie die folgenden Schritte aus, um Drucker für das SYSTEM-Konto einzurichten:
Warnung
Für diese Methode müssen Sie die Registrierung mithilfe des Registrierungs-Editors ändern. Die Verwendung des Registrierungs-Editors kann schwerwiegende, systemweite Probleme verursachen, die möglicherweise erfordern, dass Sie Windows neu installieren müssen, um sie zu beheben. Microsoft kann nicht garantieren, dass probleme, die sich aus der Verwendung des Registrierungs-Editors ergeben, gelöst werden können. Verwenden Sie dieses Tool auf eigene Gefahr.
Stellen Sie sicher, dass der Benutzer, bei dem Sie aktuell auf dem Server angemeldet sind, die gewünschten Drucker installiert hat.
Starten Sie den Registrierungs-Editor (Regedit.exe).
Wählen Sie den folgenden Schlüssel aus:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\DevicesWählen Sie im Menü "Registrierung" die Option "Registrierungsdatei exportieren" aus.
Geben Sie im Textfeld "Dateiname" "c:\Devices.reg" ein.
Wählen Sie den folgenden Schlüssel aus:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\PrinterPortsWählen Sie im Menü "Registrierung" die Option "Registrierungsdatei exportieren" aus.
Geben Sie im Textfeld "Dateiname" "c:\PrinterPorts.reg" ein.
Wählen Sie den folgenden Schlüssel aus:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\WindowsWählen Sie im Menü "Registrierung" die Option "Registrierungsdatei exportieren" aus.
Geben Sie im Textfeld "Dateiname" "c:\Windows.reg" ein.
Wählen Sie auf der Schaltfläche "Start" die Option "Ausführen" aus. Öffnen Sie Devices.reg im Editor, indem Sie editor-Devices.reg im Dialogfeld "Ausführen " eingeben.
Ersetzen Sie den Text
HKEY_CURRENT_USERdurchHKEY_USERS\.DEFAULT.Speichern Sie die Datei. Importieren Sie sie dann in die Registrierung, indem Sie im Windows-Explorer auf die Datei doppelklicken.
Wiederholen Sie die Schritte 13 bis 15 für PrinterPorts.reg und Windows.reg.
Notiz
Diese Schritte funktionieren nur für lokale Drucker.
Führen Sie die folgenden Schritte aus, um IIS zum Aufzählen der Netzwerkdrucker mithilfe des SYSTEM-Kontos zu aktivieren.
Notiz
Wenn der Prozess unter dem Netzwerkdienstkonto ausgeführt wird, sind explizite Berechtigungen für die neu erstellte Registrierung erforderlich.
Stellen Sie sicher, dass Sie derzeit als Benutzer angemeldet sind, der die gewünschten Netzwerkdrucker installiert hat.
Starten Sie den Registrierungs-Editor.
Wählen Sie den folgenden Schlüssel aus:
HKEY_CURRENT_USER\Printers\ConnectionsWählen Sie im Menü "Registrierung" die Option "Registrierungsdatei exportieren" aus.
Geben Sie im Feld "Dateiname" "c:\printconns.reg" ein.
Um die printconns.reg Datei im Editor zu öffnen, wählen Sie "Start" aus, wählen Sie "Ausführen" aus, geben Sie "Editor" printconns.reg in das Feld "Öffnen" ein, und wählen Sie dann "OK" aus.
Ersetzen Sie den Text
HKEY_CURRENT_USERdurch den TextHKEY_USERS\.DEFAULT.Speichern Sie die Datei.
Um die Datei in die Registrierung zu importieren, doppelklicken Sie im Windows-Explorer auf die Datei.
Starten Sie den Druckspoolerdienst neu.