Laden...

Office 2013 Extensions funktionieren mit aktuellem Office 365 nicht mehr

Erstellt von logitech vor 3 Jahren Letzter Beitrag vor 3 Jahren 1.872 Views
L
logitech Themenstarter:in
2 Beiträge seit 2020
vor 3 Jahren
Office 2013 Extensions funktionieren mit aktuellem Office 365 nicht mehr

Hallo zusammen,

ich bin ganz neu hier und möchte mich deshalb schon mal vorab entschuldigen, falls ich eventuell etwas falsch inseriert / eingestellt habe.

Zu meiner Frage.

Ausgangssituation:
Ich habe eine C# Applikation geschrieben mit Access als Datenbank und Schnittstellen zu Powerpoint und Excel (MS-Office 2013).

Problem:
Nachdem das MS-Office 2013 durch Office 365 ausgetauscht wurde läuft die Applikation nicht mehr.

Zielsetzung und Zwischenergebnisse:
Alles soll wie bisher funktionieren.
++1. Schritt: ++
Datenbankanbindung funktioniert nicht. Fehler: "Provider is not registered on the local machine"
Fehleranalyse: Scheinbar erstellt VS 32bit Applikationen die mit einem 64bit Access nicht harmonieren
Lösung: Nachinstallation der AccessDatabaseEnginex32.
Literatur: Work Around

Teilerfolg, die Applikation startet wieder!

2. Schritt:
Microsoft Powerpoint und Excel funktionieren nicht mehr vollständig.
Fehleranalyse:
Presentations = pptApplication.Presentations.Add(Microsoft.Office.Core.MsoTriState.msoFalse);
--> MsoTriState ist kein Teil von Microsoft.Office.Core
Lösung: Aktuell nicht bekannt. MsoTriState wird beim eintippen sogar vorgeschlagen.

Wie schon erwähnt lief unter Office 2013 alles super. Nun der Hilferuf an euch:

  1. Kann ich applikationsseitig irgendetwas ändern, damit ich nicht den Workaround aus Schritt 1 durchführen muss? Bei uns haben die meisten keine Adminrechte und diese Nachinstallation wäre damit ein defacto Showstopper

  2. Könnt ihr mir da weiterhelfen? Gibt es eurerseits irgendwelche Erfahrungswerte?

Über Antworten würde ich mich sehr freuen!

Vielen Dank schon vorab.

Stefan

R
317 Beiträge seit 2006
vor 3 Jahren

Hallo Stefan,

auf klassische Access-Datenbanken (Dateierweiterung .mdb) kannst du nur aus 32-Bit-Applikationen zugreifen, da der JET-Treiber, der dazu verwendet wird, nur in 32 Bit vorliegt.

EDIT:
Verwendest du die Jet-MDB-Datenbank, oder das neue .ACCDB-Format?
Wenn du ACCDB-Verwendest - vergiss meine Antwort 😉

Office 365 wird vermutlich auf der Maschine jedoch als 64 Bit installiert sein, wodurch sich dein 2. Problem ergibt (vermute ich jetzt mal) - die 32 Bit-Anwendung, die zwar jetzt die Datenbank lesen kann, kann mit den 64-Bit Komponenten vom Office nicht mehr kommunizieren.

Problem 1 lässt sich somit nur umgehen, wenn du eine Datenbank verwendest, die auch mit 64 Bit läuft (SQLite, SQL Server). Dann kannst du eine 64-Bit-Applikation bauen, die dann auch mit dem (vermutlich) 64-Bit-Office läuft.

Daniel

16.807 Beiträge seit 2008
vor 3 Jahren

Office 365 ist eine Marketing-Bezeichnung, keine Produktbezeichnung.
Du kannst Office 365 auch nicht lokal installieren.

An für sich ist es so, dass früher Office immer 32 Bit war; nur in gewissen Ausnahmen hat man die 64 Bit Variante verwendet.

  • Seit Office 2016 gibt es die allgemeine Empfehlung die 64 Bit Variante zu nutzen.
  • Seit Office 2019 ist 64 Bit die Standardvariante.

Office 365 ist wie gesagt ein Brand; und im Office 365 Abonnement ist immer die jeweils aktuellste Produktversion enthalten (von den Produkten, die man eben bucht).
Aktuell ist das eben die Produktversion 2019 (Word, Outlook...) und damit hast Du sehr wahrscheinlich überall die 64 Bit Version.

Und ja, das bedeutet, dass alle VSTO-Extensions und Co angepasst werden müssen. Microsoft hat dies aber bereits vor Jahren entsprechend kommuniziert.
Da ihr aber von 2013 auf 2019 viele Versionen verschlafen habt, hat sich noch viel mehr geändert:
> Die allgemeine Empfehlung für Office Extensions ist seit 2016 nicht mehr VSTO, was ihr offenbar nutzt, sondern JavaScript.
Microsoft bietet noch die VSTO Schnittstelle weiterhin an, bezeichnet sie selbst aber als Obsolete. Es ist damit zu rechnen, dass JavaScript die einzige Schnittstelle bleibt.
Das liegt eben auch daran, dass die Plugins auch im Browser und unter anderen Betriebssystemen funktionieren sollen.

Ihr verwendet um eine allgemeine Migration eurer Tools nicht drum rum kommen.
Dafür überspringt ihr viel zuviel, viel zuviel verpennt.

L
logitech Themenstarter:in
2 Beiträge seit 2020
vor 3 Jahren

Danke euch beiden für die hilfreichen Antworten!

@robbyrc: wir nutzen .accdb mit dem Connection String:

Provider = Microsoft.ACE.OLEDB.12.0; Data Source=[...]

Aber wie ich dem Kommentar von Abt entnehme, gibt es wohl entweder diesen Workaround oder man macht es anständig neu. Der Schritt von MS ist ja komplett nachvollziehbar und sinnvoll, trotzdem jetzt erst mal nicht der Hit für uns.

... dann werde ich wohl mal schauen ob man alles auf eine Web-App umlegt die dann sowieso mit JavaScript agiert.

Nochmal danke für die schnelle Hilfe.

Gruß,
Stefan

463 Beiträge seit 2009
vor 3 Jahren

Versuche doch einfach mal ob dein Programm noch läuft, wenn du die 32Bit Version von Office installierst...