2012-09-06 20 views
6

Sto creando un semplice sito Web asp.net che utilizza l'automazione di Office 2007/2010 .. quando ho pubblicato il sito Web su iis 7 sul mio computer locale (finestra 7) ho un'eccezioneImpossibile trovare il documento di Microsoft Word in DCOM Config

Retrieving the COM class factory for component with CLSID 
{000209FF-0000-0000-C000-000000000046} failed due to the following error: 
80080005 Server execution failed (Exception from HRESULT: 0x80080005 
(CO_E_SERVER_EXEC_FAILURE)). 

ho cercato per questa eccezione e ho scoperto che devo impostare alcune autorizzazioni per ufficio in Config DCOM.

mi hanno aperto i servizi componenti e ha aperto Config DCOM, ma non ho trovato documento di Microsoft Word che ho trovato unica parola ufficio 97 - 2003.

uno può dirmi come risolvere questo problema.

risposta

14

trovato la risposta qui: DCOM Failure of Office Automation

Se si utilizza un server a 64-bit con Office a 32 bit, si può avere difficoltà a trovare questa impostazione DCOM. Sarà necessario eseguire "MMC -32" dal prompt dei comandi per avviare MMC a 32 bit e quindi aggiungere "Servizi componenti" dal menu "File> Aggiungi/Rimuovi snap-in".

+0

Grazie mille bfhd –

+0

Hai salvato la mia giornata, molte grazie :) –

4

Sì, office word 97-2003 è un nome proprio di un documento di DCOM (resp applicazione.) Word 2007 o 2010. Non chiedetemi perché ...

Dove potrebbe essere il problema?

L'utente deve avere accesso al desktop. Se Word viene chiamato da ASP.NET, probabilmente non ha questo accesso. Quindi impostare dcomcnfg.exe un account esplicitamente. Non utilizzare L'utente di avvio (è un'identità IIS, non ha il proprio desktop) e non utilizzare L'utente interattivo (funziona solo se qualche utente ha effettuato l'accesso).

Nella mia soluzione ho impostato:

  • ho creato un nuovo utente (nel gruppo di utenti), chiamato WordUser
  • ho creato in IIS nuovo pool di applicazioni con il permesso WordUser; Carica profilo utente deve essere vero
  • DCOM ho impostato per utilizzare WordUser, sulla sicurezza scheda Ho aggiunto WordUser ingegno lancio e il permesso di attivazione e Autorizzazione di accesso

Forse un altro modo è possibile, ma dovrebbe funzionare.