none
VS2010Pro,C#,Office 2003 - Office2010Pro RRS feed

  • Frage

  • Hallo,

    ich bitte wieder einmal um einen Hinweis:

    Zur Zeit arbeite ich mit VS2010Pro,C# und verwende Access 2003 in Office 2003. In den nächsten Tagen bekomme ich Office 2010Pro. Bevor ich was falsch mache die Frage: Muß/kann/soll ich Office 2003 vor der Installation von Office 2010Pro komplett löschen ? Muß ich meine Programme, die mit einer  Access-Datenbank von Office 2003 erstellt wurden, neu erstellen/ändern/?

    Vielen Dank für eure Hinweise !

    Gruß!

    Hermann


    Hermann-Sbg
    Sonntag, 31. Oktober 2010 16:36

Antworten

  • Hallo Hermann

    es ist generell nicht empfohlen, mehrere Office-Versionen installiert zu haben!

    Ich nehme an du nutzt in deiner App die .NET OleDb*-Klassen für den Zugriff auf eine Access-mdb?
      (also nicht Automation via PIA oder VSTO-AddIn)

    Dann ist wegen dem neueren Access/Jet-Providers ggf eine Umstellung des Connection-Strings nötig,
    ich schätze etwas wie:
    von  "Microsoft.Jet.OLEDB.4.0"
    nach  "Microsoft.ACE.OLEDB.12.0"

    Mehr Details auch
    Data Programming with Microsoft Access 2010
    http://msdn.microsoft.com/en-us/library/ff965871.aspx
    • Als Antwort markiert Hermann-Sbg Montag, 1. November 2010 17:16
    Sonntag, 31. Oktober 2010 16:56
  • Hallo Hermann,

    Eine eindeutige Antwort ist schwer zu geben. Die Antwort hängt ab von der Anzahl der Anwendungen, die Du portieren möchtest, vom verfügbaren Zeitrahmen und Budget, nicht zuletzt davon, ob für Dich/Euch eine Umstellung auf .NET 4.0 in Frage kommt.

    Wie Thomas schon anführte, werden doppelte Installationen von Office-Produkten auf einem einzigen System von Microsoft nicht empfohlen. Dem kann man zwar über die Anpassung des Office 2010 Setups (Anpassen > Alle frueheren beibehalten > Installationsoptionen), oder über Virtualisierung usw. abhelfen, aber es ergeben sich u.U. Lizenz-Probleme und Probleme in Bezug auf die neue Entwicklungsumgebung (ganz zu schweigen von Office 64bit-Problemen). VS 2010 unterstützt z.B. die Entwicklung von Office 2003 Add-in-Anwendungen out-of-the-box nicht mehr. Es wird wohl das beste sein, Office 2003 zu deinstallieren (achte darauf, dass die PIAs ebenfalls deinstalliert werden) und dann Office 2010 neu aufzusetzen. Damit werden auch die neuen Primary Interop Assemblies automatisch ins GAC installiert, und Du kannst mit der Konversion der Office 2003-Solutions beginnen (manuell oder über den  Visual Studio Konvertierungs-Assistenten). Ein Retargeting auf .NET 4.0 ist - falls die Rahmenbedingungen es zulassen - empfehlenswert.

    Objektmodelländerungen können vorab über den Compatibility Inspector ermittelt werden.

    Aktualisieren und Migrieren von Office-Projektmappen:
    http://msdn.microsoft.com/de-de/library/k2xkefex(v=VS.100).aspx

    Migrieren von Office-Lösungen zu .NET Framework 4:
    http://msdn.microsoft.com/de-de/library/ee207231(v=VS.100).aspx

    Dialogfeld "Optionen", "Projektupdate":
    http://msdn.microsoft.com/de-de/library/bb625070(v=VS.100).aspx 

    Handbuch zur Bewertung der Anwendungskompatibilität und zur Anwendungswartung für Office 2010:

    Office 2010 Compatibility Inspector:
    http://www.microsoft.com/downloads/en/details.aspx?FamilyID=23c8a7f6-88b3-48ef-9710-9742340562c0&displaylang=en

    Upgrading Solutions to Office 2010 with Application Compatibility Tools and Guidance:
    http://msdn.microsoft.com/de-de/office/ee722033(en-us).aspx


    P.S. Enthält Deine Solution ein Windows Installer Setup-Projekt, mußt Du auch dafür sorgen, dass die Registry-Einträge bzw. die angegebenen Pre-Requisites angepaßt werden. Manuelle Anpassungen sind ebenfalls beim ClickOnce-Deployment notwendig.


    Gruß
    Marcel

    • Als Antwort markiert Hermann-Sbg Montag, 1. November 2010 17:16
    Montag, 1. November 2010 09:03

Alle Antworten

  • Hallo Hermann

    es ist generell nicht empfohlen, mehrere Office-Versionen installiert zu haben!

    Ich nehme an du nutzt in deiner App die .NET OleDb*-Klassen für den Zugriff auf eine Access-mdb?
      (also nicht Automation via PIA oder VSTO-AddIn)

    Dann ist wegen dem neueren Access/Jet-Providers ggf eine Umstellung des Connection-Strings nötig,
    ich schätze etwas wie:
    von  "Microsoft.Jet.OLEDB.4.0"
    nach  "Microsoft.ACE.OLEDB.12.0"

    Mehr Details auch
    Data Programming with Microsoft Access 2010
    http://msdn.microsoft.com/en-us/library/ff965871.aspx
    • Als Antwort markiert Hermann-Sbg Montag, 1. November 2010 17:16
    Sonntag, 31. Oktober 2010 16:56
  • Hallo Hermann,

    Eine eindeutige Antwort ist schwer zu geben. Die Antwort hängt ab von der Anzahl der Anwendungen, die Du portieren möchtest, vom verfügbaren Zeitrahmen und Budget, nicht zuletzt davon, ob für Dich/Euch eine Umstellung auf .NET 4.0 in Frage kommt.

    Wie Thomas schon anführte, werden doppelte Installationen von Office-Produkten auf einem einzigen System von Microsoft nicht empfohlen. Dem kann man zwar über die Anpassung des Office 2010 Setups (Anpassen > Alle frueheren beibehalten > Installationsoptionen), oder über Virtualisierung usw. abhelfen, aber es ergeben sich u.U. Lizenz-Probleme und Probleme in Bezug auf die neue Entwicklungsumgebung (ganz zu schweigen von Office 64bit-Problemen). VS 2010 unterstützt z.B. die Entwicklung von Office 2003 Add-in-Anwendungen out-of-the-box nicht mehr. Es wird wohl das beste sein, Office 2003 zu deinstallieren (achte darauf, dass die PIAs ebenfalls deinstalliert werden) und dann Office 2010 neu aufzusetzen. Damit werden auch die neuen Primary Interop Assemblies automatisch ins GAC installiert, und Du kannst mit der Konversion der Office 2003-Solutions beginnen (manuell oder über den  Visual Studio Konvertierungs-Assistenten). Ein Retargeting auf .NET 4.0 ist - falls die Rahmenbedingungen es zulassen - empfehlenswert.

    Objektmodelländerungen können vorab über den Compatibility Inspector ermittelt werden.

    Aktualisieren und Migrieren von Office-Projektmappen:
    http://msdn.microsoft.com/de-de/library/k2xkefex(v=VS.100).aspx

    Migrieren von Office-Lösungen zu .NET Framework 4:
    http://msdn.microsoft.com/de-de/library/ee207231(v=VS.100).aspx

    Dialogfeld "Optionen", "Projektupdate":
    http://msdn.microsoft.com/de-de/library/bb625070(v=VS.100).aspx 

    Handbuch zur Bewertung der Anwendungskompatibilität und zur Anwendungswartung für Office 2010:

    Office 2010 Compatibility Inspector:
    http://www.microsoft.com/downloads/en/details.aspx?FamilyID=23c8a7f6-88b3-48ef-9710-9742340562c0&displaylang=en

    Upgrading Solutions to Office 2010 with Application Compatibility Tools and Guidance:
    http://msdn.microsoft.com/de-de/office/ee722033(en-us).aspx


    P.S. Enthält Deine Solution ein Windows Installer Setup-Projekt, mußt Du auch dafür sorgen, dass die Registry-Einträge bzw. die angegebenen Pre-Requisites angepaßt werden. Manuelle Anpassungen sind ebenfalls beim ClickOnce-Deployment notwendig.


    Gruß
    Marcel

    • Als Antwort markiert Hermann-Sbg Montag, 1. November 2010 17:16
    Montag, 1. November 2010 09:03
  • Hallo Thomas,

    Du hast recht: Ich habe einfach mit Access 2003 eine Datenbank *.mdb erstellt und greife auf diese aus meinen Programmen mit OleDB 4.0 zu. Ende der Woche habe ich Office2010 am PC. Ich nehme an, daß ich meine vorhandenen Datenbanken 2003 dann nach 2010 portieren kann, um nicht nochmals alle Datenbestände eintippen zu müssen. Sollte es mich dabei schleudern, darf ich mich nochmals melden. Das Umstellen der Connection-Strings sollte rasch zu erledigen sein.

    Vielen Dank!

    Hermann

     


    Hermann-Sbg
    Montag, 1. November 2010 17:10
  • Hallo Marcel,

    vielen Dank auch an dich  für die ausführlichen Hinweise. Damit sollte alles funktionieren. Für den Fall, daß noch etwas unklar wird, darf ich dich nochmals kontaktieren.

    Beste Grüße !

    Hermann


    Hermann-Sbg
    Montag, 1. November 2010 17:14
  • ich meine vorhandenen Datenbanken 2003 dann nach 2010 portieren kann, um nicht nochmals alle Datenbestände eintippen zu müssen.

    Hermann,
    da sehe ich keine Probleme,
    'alte' MDB-Dateien sollte man weiterhin verwenden können, Zitat genannter MSDN-Artikel:
     "The ACE engine is fully backward-compatible with previous versions of the JET engine
      so that it reads and writes (.mdb) files from earlier Access versions"

    und dies ggf parallel zum neuen 'accdb' Format
      (oder man konvertiert die mdb ins neue 'accdb')

    Neue Formate, Access2007
    http://office.microsoft.com/de-de/access-help/introduction-to-the-access-2007-file-format-HA010067831.aspx

    Access2010
    http://office.microsoft.com/de-ch/access-help/einfuhrung-in-das-dateiformat-von-access-2010-HA010341788.aspx


    Montag, 1. November 2010 17:24
  • Hallo Thomas,

    war einige Tage unterwegs, daher erst jetzt mein Dankeschön ! Ich habe gemacht, was Du gesagt hast :

    - alle meine *.mdb Datenbanken einfach mit ACCESS2010 Pro aufgerufen und als *.accdb abgespeichert

    - in allen meinen Programmen den Conn-String auf MICROSOFT.ACE.OLEDB.12.0 umgestellt

    - in allen Programmen dazu die Datenquelle auf diese *.accdb umgestellt

    und das war es ! Keinerlei Probleme oder Fehlermeldungen, alle Programme haben auf Anhieb funktioniert. Ein echtes Erfolgserlebnis, ich muß mich nur noch auf das neue und damit ungewohnte Layout von ACCESS2010 gewöhnen.

    Nochmals Danke und beste Grüße !

    Hermann


    Hermann-Sbg
    Dienstag, 23. November 2010 17:20