Sto cercando di modificare un documento di Word da VB.NET utilizzando per la maggior parte di questo codice:Recupero della class factory COM per l'errore componente durante la generazione di documento di parola
Come automatizzare Word da Visual Basic .NET per creare un nuovo documento http://support.microsoft.com/kb/316383
Funziona correttamente sulla mia macchina ma quando pubblico sul server ottengo il seguente errore.
Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 80070005.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.UnauthorizedAccessException: Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 80070005.
L'errore effettivo accade quando provo a creare solo un oggetto applicazione parola
Dim oWord As New Word.Application
utilizzando Visual Studio 2008 e VB.NET 3.5. Ho fatto riferimento alla "Libreria oggetti di Microsoft Word 10.0" e vedo il file Interop.Word.dll nella directory bin.
Utilizzando MS Office 2003 sulla macchina di sviluppo e Windows Server 2003
ancora abbastanza nuovo per .NET e non hanno una conoscenza molto di server di finestra, ma "UnauthorizedAccessException" suona come un problema di autorizzazione. Mi chiedo se qualcuno potrebbe indicarmi la direzione giusta su ciò che potrei dover fare per dare accesso alla mia piccola applicazione all'uso della parola.
Interessante quando ho effettuato l'accesso al sistema e ho eseguito Word, ha eseguito l'installazione. Immagino che nessuno abbia fatto parola prima su questo utente. Non ha risolto il mio problema, ma mi sto chiedendo anche se il problema del permesso non gli avrebbe impedito di funzionare. Nessun mio codice è un'applicazione Web. Anche se si tratta di una piccola app raramente utilizzata, non ho mai considerato cosa sarebbe successo se due persone avessero provato a eseguirlo contemporaneamente. Grazie per l'input. C'è un modo per vedere se qualcun altro sta accedendo all'oggetto COM? Sono abbastanza sicuro che nient'altro è, ma non saprei nemmeno dove controllarlo. – TheDPQ
L'applicazione Web è in esecuzione come utente? Ad esempio, in IIS 7, il pool di applicazioni verrà eseguito come sistema locale che probabilmente avrà lo stesso problema. –
Ancora una volta scusami la mia ignoranza ma è "Servizio di rete" di cosa stai parlando? È l'identità che il pool di applicazioni è impostato per utilizzare. – TheDPQ