Korrektur des dot.net Magazin-Artikels "Paketschieber" - Office Development is more than VBA - Site Home - MSDN Blogs

Korrektur des dot.net Magazin-Artikels "Paketschieber"

Korrektur des dot.net Magazin-Artikels "Paketschieber"

  • Comments 0

In der Ausgabe 10.07 des dot.net Magazins wurde leider von den Redakteuren des Verlags ein Teil meines Artikels (Office Lösungen auf der Basis von VSTO 2007 richtig paketieren und ausliefern) "verschlimmbessert". Da heißt es auf Seite 25 in Spalte 3, der Windows Installer könne die Registry-Einträge automatisch nach HKLM umsetzen, wenn er die Installation für alle Benutzer erkennt. --- Fast. Man muß ihm das nur sagen.
Außerdem ist wohl die Einschränkung bzgl. Add-Ins für alle Benutzer und Office 2007 unter den Tisch gefallen.

Korrekt sollte es so heißen:

Noch mehr Hilfe kommt bei den Registry-Einträgen für Add-Ins (Abb. 1). Ja, es müssen leider noch welche geschrieben werden, weil Office in guter alter COM-Technologie programmiert worden ist und Erweiterungen auch in eben dieser erwartet. Aber keine Angst, um COM Interop braucht sich dank VSTO niemand mehr zu kümmern. Nur die Kommunikation mit Office, also welches Add-In für welches Programm bereit steht, lesen die Office-Programme aus der Registry – so wie auch ClassID, ProgID usw. Die gesamte Arbeit nimmt einem der automatisch ablaufende Wizard ab. Nun könnte allerdings eine Frage aufkommen: Alle Einträge stehen unter HKCU. Was ist bei einer per Machine Installation? Muß dann alles selbst eingetragen werden? Nein. Man kann den gesamten Registry-Baum von HKCU nach „Machine/User Hive“ verschieben, was dazu führt, daß je nach ALLUSERS Property die Einträge entweder in HKCU oder HKLM geschrieben werden. So einfach ist es aber nicht.

Während Office 2003 noch systemweite VSTO Add-Ins erlaubt, werden diese von Office 2007 nicht mehr geladen. Office 2007 setzt das Flag für das Ladeverhalten (LoadBehavior) solcher Add-Ins zurück auf 0. Der Grund dafür ist in erhöhten Sicherheitsstandards zu suchen. Da der normale Anwender keinen Schreibzugriff auf HKLM hat, kann er auch das Ladeverhalten des Add-Ins nicht beeinflussen und damit auch nicht wählen, ob er es verwenden will oder nicht. Shared Add-Ins (COM Add-Ins, die direkt gegen IDTExtensibility2 gehen) sind davon nicht betroffen.

Office 2007 arbeitet enger mit VSTO zusammen als alle Versionen vorher und lädt VSTO-Add-Ins schneller, wenn es einen Manifest Key in der Registry findet. VSTO 2.0 hat 2 Keys: ManifestLocation und ManifestName, VSTO 2005 SE nur noch einen: Manifest. So kann Office auch zwischen beiden VSTO-Versionen unterscheiden.

 Desweiteren sind Launch Conditions keine Benutzerdefinierten Aktionen sondern Startbedingungen.