Abrufen des COM-Klassenfactory für die Komponente Fehler beim generieren word-Dokument
Ich versuche zu Bearbeiten ein word-Dokument aus VB.NET für den größten Teil dieses Codes:
Wie automatisieren von Word aus Visual Basic .NET, um ein neues Dokument zu erstellen
http://support.microsoft.com/kb/316383
Funktioniert es einwandfrei auf meinem Rechner, aber wenn ich auf dem server veröffentlichen bekomme ich folgende Fehlermeldung.
Abrufen des COM-Klassenfactory für die
die Komponente mit CLSID
{000209FF-0000-0000-C000-000000000046}
konnte aufgrund des folgenden Fehlers:
80070005.Beschreibung: Eine nicht behandelte Ausnahme ist aufgetreten während der
Ausführung der aktuellen Webanforderung.
Bitte überprüfen Sie die Stapelüberwachung für weitere
Informationen über den Fehler und wo
es entstand in den code.Ausnahmedetails: System.UnauthorizedAccessException:
Abrufen des COM-Klassenfactory für die
die Komponente mit CLSID
{000209FF-0000-0000-C000-000000000046}
konnte aufgrund des folgenden Fehlers:
80070005.
Den tatsächlichen Fehler passiert, wenn ich versuche, erstellen Sie einfach ein word-application-Objekt
Dim oWord As New Word.Application
Mithilfe von Visual Studio 2008 und VB.NET 3.5. Ich machte einen Verweis auf die "Microsoft Word 10.0 Object Library", und ich sehe Interop.Word.dll Datei in das bin-Verzeichnis.
Verwendung von MS Office 2003 auf die Entwicklung der Maschine und Windows Server 2003
Noch Recht neu .NET und habe nicht viel wissen über Windows server, aber "UnauthorizedAccessException" klingt wie eine Erlaubnis. Ich Frage mich, ob jemand kann mich in die richtige Richtung, was könnte ich tun müssen, meine kleine Anwendung, die den Zugriff auf word.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es klingt auf jeden Fall wie ein Berechtigungen-problem. Laufen Sie Ihren code in einen windows-Dienst? Der service normalerweise als Lokales System ausgeführt wird, die möglicherweise nicht über die Berechtigung zum Zugriff auf die Word-Objekt-Modell. Darüber hinaus, wenn word bereits ausgeführt wird, mithilfe der Anmeldeinformationen, die ein anderer user dann das Programm nicht in der Lage, Zugriff über COM mit anderen Anmeldeinformationen. Die office-Anwendungen neigen dazu, eine einzige Instanz, die scheint zu verschärfen dieses problem.
In meinem Fall Word ausgeführt wird, die über einen Windows-Dienst unter einem service-account.
War das problem, dass der Desktop-Ordner nicht existieren, in
C:\Windows\System32\config\systemprofile
(oder inC:\Windows\SysWOW64\config\systemprofile
).Hinzufügen, ist das Problem behoben für mich.
Es klingt wie Sie möglicherweise eine Erlaubnis in DCOM. Versuchen Sie, die Bearbeitung des Word-Berechtigungen in der DCOM-config.
Diese zu sein scheint, was Sie erleben.
http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/006cbbac-101a-40ea-ae16-d59a7a2da8b1
War ich mit dem gleichen Problem und das problem Bereich, den ich fand, war "security configuration für Microsoft Word in DCOM". Auf dem folgenden link finden Sie eine Schritt-für-Schritt-Anleitung, um zu wissen, wie die config-Komponenten in DCOM, wiederholen Sie diese Schritte für WORT, und Ihr problem wird gelöst werden.
http://www.biocompsystems.com/_public/DCOMConfigurationStepbyStepForXP.doc
Dank,
Sushil Jinder
Ich hatte das gleiche Problem auf Windows 2008 R2. Endete mit diesem post:
http://social.msdn.microsoft.com/Forums/en-US/netfx64bit/thread/65a355ce-49c1-47f1-8c12-d9cf5f23c53e
und dann ändern Sie die Identitätswechsel-identity user im web.config auf einen anderen Benutzer, es zu lösen.
Ich bin sicher, dass es eine Kombination von Lösungen.
Gehen Start -> Ausführen
geben Sie regedit -32 und drücken Sie die enter-Taste.
-- Registry-Editor offen.
Gehen Sie Zum registry - HKEY_CLASSES_ROOT\Word.Anwendung
Wählen Sie Wort.Anwendung und legen Sie vollständige Berechtigungen unter Benutzer:-
Administrator, Administratoren, Lokaler Dienst, System, Service, Interaktiv und Benutzer.
Ich hatte das gleiche problem beim generieren der word-Dokument. Das Problem, das ich gelöst durch überprüfung der task-manager, und nach Abschluss der derzeit Laufenden Prozess WINWORD.EXEs und danach wird mein code wieder. Das Problem gegangen.