Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Office 2013 Extensions funktionieren mit aktuellem Office 365 nicht mehr
logitech
myCSharp.de - Member



Dabei seit:
Beiträge: 2
Herkunft: Deutschland

Themenstarter:

Office 2013 Extensions funktionieren mit aktuellem Office 365 nicht mehr

beantworten | zitieren | melden

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
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von logitech am .
private Nachricht | Beiträge des Benutzers
robbyrc
myCSharp.de - Member



Dabei seit:
Beiträge: 319
Herkunft: Passau

beantworten | zitieren | melden

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
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von robbyrc am .
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15618
Herkunft: BW

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
logitech
myCSharp.de - Member



Dabei seit:
Beiträge: 2
Herkunft: Deutschland

Themenstarter:

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Stefan.Haegele
myCSharp.de - Member

Avatar #avatar-3068.jpg


Dabei seit:
Beiträge: 435
Herkunft: Untermeitingen

beantworten | zitieren | melden

Versuche doch einfach mal ob dein Programm noch läuft, wenn du die 32Bit Version von Office installierst...
private Nachricht | Beiträge des Benutzers