Automatisierung von Office über den Windows-Dienst auf Server 2008
Wir haben ein Windows-Dienst läuft auf Server 2003. Es öffnet sich eine Quelle Word-Dokument mithilfe der Word-Interop und dann ein paar Sachen mit. Es tut auch ebenso mit Excel und PowerPoint-Dateien.
Wir haben vor kurzem versucht, bewegt sich in diesem Dienst auf einer Windows 2008 Server Maschine und haben echte Probleme mit ihm.
COMException bei Microsoft.Office.Interop.Excel.Arbeitsmappen.Öffnen
COMException bei Microsoft.Office.Interop.Wort.Dokumente.Öffnen
Bekomme ich die oben genannten Ausnahmen, wenn der windows-Dienst läuft auf Server 2008. Blick auf den Task-Manager, die Anwendung wird geladen, ok aber dann schließt sich wieder kurz nach.
Ich gelesen habe Dinge über Vista und Server 2008 nicht mit einem Session0 mehr, und haben versucht, die änderung der Office-DCOM-Sicherheit Eigenschaften entsprechend, wie das ändern der Identität des Benutzers ausgeführt, Sie Integriert aber ohne Erfolg.
Weiß jemand, ob dies überhaupt möglich ist? Dies ist ein grundlegender Aspekt unseres Systems, und so müssen wir in der Lage, dies zu tun.
Dank
InformationsquelleAutor der Frage Graeme | 2009-06-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe Probleme beim automatisieren von Office von einem Windows-Dienst unter Windows Server 2008, obwohl das funktioniert gut unter Windows Server 2003. Das problem tritt auch bei der Open-Aufruf, so kann es das gleiche problem.
Ich habe versucht, nach der Beratung durch H Ogawa in in diesem MSDN-threadund es schien zu funktionieren. Es ist Bizarr, aber ein dickes Lob an Herrn Ogawa für die Entdeckung.
Zusammenfassung der 'Ogawa Hack': erstellen Sie eine desktop-Ordner für die system-Profil, wie:
undbei Ausführung auf einem 64-bit-Maschine, erstellen anderenwie:
Auch diese(N) Ordner müssen Schreibrechte für welchen Benutzer ist "fahren" - im Büro.
[Edit: link korrigiert URL]
[Edit 2: geklärt, dass auf 64-bit-Windows, müssen Sie beide Ordner, nicht nur die WOW64-one]
InformationsquelleAutor der Antwort Gary McGill
Wenn Sie Apache verwenden, müssen Sie möglicherweise auch, um gehen Sie folgendermaßen vor um MS Word zu arbeiten korrekt (zusammen mit alles beschrieben in den anderen Antworten):
Unten ist ein screenshot zeigt die zwei Dialoge, die Sie benötigen, um:
Für Apache:
Services->Apache->Rechtsklick (Eigenschaften)->Registerkarte "Anmelden"
MS Word:
Starten Sie dcomcnfg.exe-Datei->Root-Konsole->Komponenten-Dienste->Computer->Arbeitsplatz->DCOM Config->Suche in der Microsoft-Anwendung->Rechtsklick(Eigenschaften)->Registerkarte Identität
** * * * wenn Sie nicht finden können, die MS Word, stellen Sie sicher, dass Sie starten, die richtige DCOM-Konfiguration (64-bit vs 32-bit) je nachdem, welche version von Office, die Sie installiert haben.
Hier gibt es zwei Möglichkeiten, können Sie Apache verwenden Lokalen System-Konto und überprüfen Sie das Kontrollkästchen, damit die desktop-Interaktion. Wenn Sie dies tun, dann müssen Sie die Identität für MS Word zu Interaktive Benutzer.
Anders, Sie müssen beide auf den gleichen Benutzer (im Idealfall der Benutzer, der angemeldet ist) wie in der Abbildung gezeigt.
InformationsquelleAutor der Antwort A.O.
Gut,
Sie benötigen, um ausführen "MMC -32" (Eingabeaufforderung) zu starten, 32-bit MMC und fügen Sie die Komponente Services (Datei - > Hinzufügen /Entfernen von Snap-ins " - Menü)
befolgen Sie eine dieser Anweisungen:
http://theether.net/download/Microsoft/kb/288366.html
InformationsquelleAutor der Antwort Francke Peixoto
Geschieht dies auch unter Vista mit aktivierter UAC. Vielleicht möchten Sie versuchen, die Einstellung der DCOM-Identität ein administrator-Konto und testen Sie es erneut.
Ich habe auch vor kurzem begonnen, mit diesem problem auf einer XP-Kiste versuchen zu öffnen von Arbeitsmappen in Excel über interop-Dienste, haben aber noch keinen Weg gefunden dieses Problem zu umgehen. Ich selbst würde, wie alle anderen Erkenntnisse der Gemeinschaft könnte in der Lage sein zu werfen, dort...
InformationsquelleAutor der Antwort Cᴏʀʏ