Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo consente di risolvere il problema che un oggetto COM invia l'output a una stampante non riesce quando viene chiamato da Active Server Pages.
Versione originale del prodotto: Pagine active server
Numero KB originale: 184291
Sintomi
Un oggetto COM che invia l'output a una stampante non riesce quando viene chiamato da Active Server Pages (ASP), ma funziona correttamente quando viene chiamato da un'applicazione interattiva. Questo oggetto COM può essere un prodotto commerciale, ad esempio microsoft app Office lication, o un oggetto personalizzato di terze parti. Un messaggio di errore comune è "Errore className '800a01e2' Printer error".
Causa
Le API standard usate dalla maggior parte degli oggetti per stampare dipendono dalle voci del Registro di sistema che si trovano in HKEY_CURRENT_USER. Questo hive del Registro di sistema è dinamico. A seconda del contesto utente in cui è in esecuzione il processo, verranno caricate informazioni diverse in questo hive. Le pagine ASP vengono eseguite in IIS, che viene eseguito come account SYSTEM. Quando si crea un'istanza di un oggetto COM nel codice ASP, per impostazione predefinita verrà eseguita anche come account SYSTEM. Per impostazione predefinita, l'account SYSTEM non dispone di stampanti configurate nel Registro di sistema.
Risoluzione
È possibile configurare le stampanti per l'account SYSTEM per risolvere il problema. Per configurare le stampanti per l'account SYSTEM, seguire questa procedura:
Avviso
Questo metodo richiede di modificare il Registro di sistema usando l'editor del Registro di sistema. L'uso non corretto dell'editor del Registro di sistema può causare gravi problemi a livello di sistema che potrebbero richiedere di reinstallare Windows per correggerli. Microsoft non può garantire la risoluzione di eventuali problemi derivanti dall'uso dell'editor del Registro di sistema. Usare questo strumento a proprio rischio.
Verificare che l'utente a cui si è attualmente connessi nel server disponga delle stampanti desiderate installate.
Avviare l'editor del Registro di sistema (Regedit.exe).
Selezionare la chiave seguente:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\DevicesDal menu Registro di sistema selezionare Esporta file del Registro di sistema.
Nella casella di testo Nome file digitare c:\Devices.reg.
Selezionare la chiave seguente:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\PrinterPortsDal menu Registro di sistema selezionare Esporta file del Registro di sistema.
Nella casella di testo Nome file digitare c:\PrinterPorts.reg.
Selezionare la chiave seguente:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\WindowsDal menu Registro di sistema selezionare Esporta file del Registro di sistema.
Nella casella di testo Nome file digitare c:\Windows.reg.
Dal pulsante Start selezionare Esegui. Aprire Devices.reg nel Blocco note digitando blocco note Devices.reg nella finestra di dialogo Esegui .
Sostituire il testo
HKEY_CURRENT_USERconHKEY_USERS\.DEFAULT.Salvare il file. Importarlo quindi nel Registro di sistema facendo doppio clic sul file in Esplora risorse.
Ripetere i passaggi da 13 a 15 per PrinterPorts.reg e Windows.reg.
Note
Questi passaggi funzionano solo per le stampanti locali.
Per consentire a IIS di enumerare le stampanti di rete usando l'account SYSTEM, seguire questa procedura.
Note
Se il processo è in esecuzione con l'account del servizio di rete, sono necessarie autorizzazioni esplicite per il Registro di sistema appena creato.
Assicurarsi di aver eseguito l'accesso al server come utente che dispone delle stampanti di rete desiderate installate.
Avviare l'editor del Registro di sistema.
Selezionare la chiave seguente:
HKEY_CURRENT_USER\Printers\ConnectionsScegliere Esporta file del Registro di sistema dal menu Registro di sistema.
Nella casella Nome file digitare c:\printconns.reg.
Per aprire il file printconns.reg nel Blocco note, selezionare Start, selezionare Esegui, digitare Blocco note printconns.reg nella casella Apri e quindi selezionare OK.
Sostituire il testo
HKEY_CURRENT_USERcon il testoHKEY_USERS\.DEFAULT.Salvare il file.
Per importare il file nel Registro di sistema, fare doppio clic sul file in Esplora risorse.
Riavviare il servizio Spooler di stampa.