Die Automatisierung von MS Word in Server 2012 R2
Erstens, bitte nicht Antworten mit der Allgemeinen Beratung, die nicht zum automatisieren von Word auf einem server oder einem link auf die MS-Webseite auf "wie automatisieren von word auf einem server, wenn Sie wirklich müssen". Ich bin mir dessen bewusst.
Ich habe einen Prozess, der als Windows-Dienst ausgeführt und verwendet .Net OLE-interop automatisieren Office (meist nur Öffnen und speichern unter). Dieser code hat funktioniert zuverlässig seit 8 Jahren auf buchstäblich Hunderte von Servern mit vielen Kombinationen von Windows und Office-Versionen, sowohl 32 und 64 bit, also bin ich froh, dass der Mechanismus, der zuverlässig ist. So weit...
Mit Server 2012 R2, es funktioniert mit PowerPoint und Excel, aber schlägt fehl, versucht, ein word-Dokument öffnen:
System.Runtime.InteropServices.COMException (0x800A16A0):
The file appears to be corrupted.
at Microsoft.Office.Interop.Word.Documents.Open...
Meiner Beobachtungen, so weit die möglicherweise oder möglicherweise nicht relevant:
- schlägt auf alle Dokumente
- funktioniert in Windows 8.1
- das gleiche problem passiert sowohl auf Kunden-Website und in unserer test-Umgebung, so ist es unwahrscheinlich, dass rein ökologische
- meiner Anwendung verwendet wird .Net 3.5
- der code verknüpft ist, gegen das 2003 Interop-Assemblys (offensichtlich in späteren office-Versionen werden unterstützt durch assembly binding redirection)
- haben wir versucht, es mit office 2013 wird sowohl für 32 und 64 bit mit den gleichen Ergebnissen, aber nicht versucht, frühere Versionen von office
- es ausfällt, ob der Dienst als LocalSystem ausgeführt werden oder als standard-Benutzer-Konto
- wenn wir mit der service-Prozess in den Vordergrund (D. H. wörtlich Doppelklick auf die EXE-Datei) das problem passiert nicht
Offensichtlich ich habe noch einiges zu untersuchen, aber daran interessiert zu hören, wenn noch jemand gesehen hat, dieses spezielle problem, auch wenn Sie noch nicht gelöst. Bitte beachten Sie, es gibt viele Schwierigkeiten und Probleme mit der office-Automatisierung so, es sei denn, deine Symptome sind meinen sehr ähnlich, Sie haben wahrscheinlich nicht das gleiche problem haben.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gleichen Probleme hier, aber habe diese vollständig gelöst.
Ich habe ein Word 2013 in Verbindung mit Windows 2012 R2-Server in einer service-Prozess, macht alles, was ich will, ohne die Notwendigkeit für eine interaktive Sitzung gestartet werden. Ich benutze diese für die Konvertierung von Dokumenten zu PDF-Dateien. Innerhalb der Windows-Dienst, den ich hosten eines WCF-Diensts.
Ordner erstellen: (ersetzen Sie
System32
mitSyswow64
je nach Verwendungx86
oderx64
- bit-edition)Letzte und wichtigste Schritt!
Öffnen Sie Eigenschaften -> Komponenten-Dienste - DCOM-Konfiguration - Microsoft Word 97 - 2003-Dokument (Beachten Sie, dass die version, die hier nicht erwähnt, aber das spielt keine Rolle, Office 2013 zu nutzen, als DCOM-Konfiguration)
Öffnen Sie die Registerkarte Identität. Konfigurieren Sie das ausführen als lokaler Administrator-Konto. Ich habe einige tests Word 2013 wird gut funktionieren, auch wenn keine interaktive Sitzung für den Benutzer gestartet.
Wir(Meine Firma) sind derzeit vor dem gleichen problem, es ist ziemlich genau eine Kopie Ihres Problems. Wir haben abgeschlossen, umfangreiche Tests, um dieses Gebiet, und ich bin jetzt in Gesprächen mit den MS-support-engineer versucht, eine Arbeit zu finden um.
Leider ist dies etwas, was Sie nicht wollen, dass wir tun, ich denke, Sie haben angezogen, die Sicherheit auf dem Windows Server 2012 zu verhindern, dass die Menschen, dies zu tun.
Was wir versucht haben, die sollten dir helfen:
Unser problem ergibt sich aus der Tatsache, dass wir mit word arbeiten mit einem Benutzer, der nicht im Zusammenhang mit der LOKALEN system-Benutzer(D. H. die Art der Benutzer, den Sie haben, wenn Sie angemeldet sind, in die Maschine) Windows wird einfach nicht zulassen, dass dies geschieht mehr.
Mich und die MS-Ingenieur arbeiten "Narren" windows zu denken, es ist mit Word einen lokalen Dienst, aber die MS Ingenieur sagte, es war ein langer Schuss am besten und so weit alles, was wir versucht haben, ist gescheitert. Es ist nicht gut Aussehen.
Sorry, ich habe nicht eine Antwort für Sie, aber ich nehme an, seine guten wissen, dass Sie nicht allein sind?
Ich hatte das gleiche problem mit MsOffice 2010 (32-bit) und Windows Server 2012R2 (64-bit). Word, Excel, Powerpoint funktionieren nicht mit localAdmin.
Erstellt habe ich den Ordner C:\Windows\System32\config\systemprofile\AppData\Local\Microsoft\Windows\INetCache wie Andy hast und es jetzt perfekt funktioniert !
Vielen Dank Andy 🙂
Meinen service nutzen MS Word für Daten Zusammenführen und Verkettungen von Funktionen.
Ich bin mit Word 2016 auf Windows Server 2012 R2 .
Mein log sagt, dass Word geöffnet wird, aber wenn das Dokument geöffnet ist, ist throwed ein Fehler.
Habe ich zuerst alle 4 Ordner vorgeschlagen:
C:\Windows\System32\config\systemprofile\AppData\Local\Microsoft\Windows\INetCache
C:\Windows\System32\config\systemprofile\Desktop
C:\Windows\SysWOW64\config\systemprofile\AppData\Local\Microsoft\Windows\INetCache
C:\Windows\SysWOW64\config\systemprofile\Desktop
Nur nach dem erstellen der Letzte Verzeichnis war das problem gelöst.
Habe ich nicht verwendet DCOM-Konfiguration; meine Anwendung verwenden Sie ein Benutzer-Konto mit Administrations-Privilegien; gab es keine Notwendigkeit zu verwenden Konto "LocalSystem" mit "Interaktion mit desktop" - Optionen.
Danke.
Dank für all die Hilfe, die OP und die Mitwirkenden. Nach dem erstellen der INetCache Ordner hat es geklappt für mich. Ich habe Folgendes getan, um alles zu arbeiten, ohne eine aktive Sitzung(WS2012 R2 /MS Office 2013 64x):
Für einige Maschinen, die Sie benötigen, um ausführen " mmc comexp.msc /32 ", um die DCOM-Einstellung für MS Word. Ich fand, dass wir brauchten, um dies zu tun, wenn 32-bit-version von Word installiert wurde, nur.
Hatten wir eine funktionierende Lösung für dieses seit geraumer Zeit. Aber die Lösung ist kaputt gegangen, als wir versuchten, es zu installieren, auf einem vollständig aktualisierte 2012 R2 RTM Server. Auf einem 2016-Server, die wir nicht sehen, dieses Problem.
Um, damit es wieder funktioniert auf Windows 2012 R2 Server und auch in einem nicht interaktiven desktop-Umgebung:
Gehen Sie folgendermaßen vor!:
Aktionen lösen das Problem auf einem Windows Sever 2012 R2 vollständig aktualisiert mit Windows update:
Start - Ausführen - mmc comexp.msc /32
Erweitern: - Komponentendienste – Computer – Arbeitsplatz – DCOM-Konfiguration
Suche nach: Microsoft Word 97 – 2003-Dokument
RMC – Eigenschaften – tab Gehen: Identität
Set von "The launching user" auf "Diesem Benutzer".
Die Verwendung eines "lokalen Administrator-Konto", das hat einmal angesengt in der server-Maschine und eröffnet hat Wort mindestens einmal in einem interaktiven desktop.
Letzte Schritt: starten Sie DEN SERVER neu! Und verwenden Sie ein neues Dokument namens zum testen der Lösung wieder.
Wie bekannt und sagte bei den anderen ist die Antwort auf diese Ordner müssen erstellt werden, und zugänglich von der aufrufenden Benutzers (local system) in der Regel oder der Benutzer konfigurieren Sie in den vorherigen Schritten.
C:\Windows\System32\config\systemprofile\AppData\Local\Microsoft\Windows\INetCache C:\Windows\System32\config\systemprofile\Desktop
C:\Windows\SysWow64\config\systemprofile\AppData\Local\Microsoft\Windows\INetCache C:\Windows\SysWow64\config\systemprofile\Desktop
Ich habe gerade gehen Nüsse zu Sortieren und habe versucht eine Vielzahl von Lösungen. Ich endlich dieses Problem gelöst, indem die änderung der Identität "Dieser Benutzer". Ich habe dann das Konto, dass meine app pool lief unter und musste auch fügen Sie diese Benutzer der Gruppe "Administratoren"..
Puh... hoffe, das jemand hilft auch.