Jens HäupelSr. Application Development ManagerMicrosoft Deutschland GmbH These postings are provided "AS IS" with no warranties, and confer no rights. Use of included code samples are subject to the terms specified at Microsoft - Information on Terms of Use
Lange hat's gedauert, aber nun ist das Whitepaper verfügbar. Darin wird erklärt, was alles zu tun ist, um VSTO 3.0 Lösungen für Office 2007 in einem Windows Installer Package zu verteilen.
Teil 1 und Teil 2
Inhalt:
You can develop a Visual Studio Tools for the Office system 3.0 solution for the 2007 Microsoft Office system, and deploy the solution by using a Visual Studio 2008 Setup project to create a Windows Installer package. The discussion includes steps for deploying a simple add-in, including additional files and components, and trusting the solution. This applies to both application-level add-ins and document-level solutions.
Sie arbeiten in einem Unternehmen, das nicht oder nur per Telefon von Microsoft betreut wird? Sie würden gerne in engeren Kontakt mit Microsoft treten, um besser gehört zu werden und Ihre strategische Ausrichtung mit der von Microsoft abzugleichen? Sie sind Projektleiter, Produktmanager, Solution Architect oder in ähnlicher Position?
Was bieten wir?
Wir wollen themenorientiert mit Ihnen über strategische Technologien reden. Wir wollen Ihnen Lösungen, Lösungsansätze und Wege vorstellen, mit denen Sie unkompliziert Ihr Geschäftsmodell erweitern können und natürlich Ihre Meinung dazu hören. Wir wollen ein Netzwerk bilden, in dem auch untereinander Synergien genutzt werden können. Das alles in kleinem Kreise von 10..15 Personen.
Wir zeigen Ihnen auch, wie Sie Microsoft Partner werden können und welche Vorteile daraus entstehen.
Wann?
Düsseldorf: 19. Juni 2008, 18 - 21 Uhr
München: 25. Juni 2008, 18 - 21 Uhr [Termin-UPDATE]
Dresden: 26. Juni 2008, 18 - 21 Uhr
Wir beginnen mit dem Thema:
Integrationstechnologien für Microsoft Office (VSTO, Open XML, SharePoint, etc.)
Haben Sie Interesse? Dann schreiben Sie uns per Email oder kontaktieren Sie mich direkt über meinen Blog. Wir bestätigen Ihnen gerne die Anmeldung, sofern noch freie Plätze vorhanden sind.
Die Veranstaltung ist weniger für Entwickler gedacht, aber wenn Sie ein solcher sind, dann sprechen Sie bitte Ihren Projektleiter oder Produktmanager darauf an.
... etwas, was alle beherzigen sollten aber keiner gerne tut. Weil - es ist ja so viel bequemer!
Bei uns heißt es jetzt Security @ Sunday, und dann auch noch 2.0 - von wegen Web und so. Was soll das Ganze? Tja, wir veranstalten ein Bar Camp rund um das Thema Sicherheit in der Softwareentwicklung. Schon mal auf einem gewesen? Nein? Dann wird's aber Zeit.
Sonntag 2.0 – ein Mini-Barcamp zum Thema: Web 2.0 und Sicherheits-Aspekte
Am Sonntag den 25.05.2008 findet unser erstes Mini- Barcamp in München statt zum Thema: Web 2.0 und Sicherheits-Aspekte. Mehr Informationen und kostenfreie Anmeldung unter: http://sonntag.mixxt.de/
Kommen kann übrigens jeder, der mit dem Thema zu tun hat. Und, die Veranstaltung ist natürlich kostenlos.
Wußten Sie, daß man Visual Studio mit eigener Funktionalität erweitern, es sogar aus Shell für eigene Anwendungen einsetzen kann?
Ken Levy, Community Program Manager im Visual Studio Ecosystem Team bei der Microsoft Corporation und spezialisiert auf das Thema Visual Studio Extensibility kommt am 26. Mai nach Unterschleißheim und erzählt über dieses spannenede Thema. Und Sie können dabei sein. Aber beeilen Sie sich...
Weitere Infos und den Link zur Anmeldung gibt es hier.
Microsoft und DAISY Consortium stellen Software für barrierefreie Nutzung von Worddokumenten vor Ungefähr 70 Prozent der weltweit verfügbaren Informationen liegen als Word-Dokument vor. Doch Menschen mit Sehbehinderung, Legasthenie oder einer körperlichen Behinderung haben nur eingeschränkten Zugang zu diesen Inhalten. Daher haben wir gemeinsam mit Partnern aus Industrie und Interessensgruppen im Rahmen eines Open Source-Projekts die Software „Save as DAISY XML“ entwickelt, die mit Microsoft Office Word erstellte Dokumente und Inhalte insbesondere für Menschen mit Behinderung leichter zugänglich und verwertbar macht. Ab sofort ist das Software Add-in „Save as DAISY XML“ für Microsoft Office Word 2007, 2003 und XP kostenlos verfügbar. Es ermöglicht, Office Open XML basierte Textdateien in das Digital Accessible Information System (DAISY) Format, das weltweit am häufigsten genutzte Standard Format für Menschen mit Sehbehinderung, umzuwandeln.
Das "Save as DAISY Add-in" ist in einem Open Source-Projekt gemeinsam mit Microsoft, Sonata Ltd. und dem DAISY Consortium entwickelt worden und kostenlos unter http://www.openxmlcommunity.org/daisy herunterzuladen.
Gleichzeitig zum Add-in ist auch die neueste Version der Konvertierungssoftware aus dem DAISY Pipeline-Projekt verfügbar. Diese verschiedenen Konvertierungswerkzeuge, die mit Unterstützung von Software zur synthetischen Erzeugung von Sprache die nahtlose Überführung von DAISY XML in das DAISY Digital Talking Book (DTB)-Format ermöglichen, können kostenlos heruntergeladen werden (http://www.daisy.org/projects/pipeline).
Das Office 2007 Security Modell erlaubt es nicht, unter HKLM registrierte Managed Add-Ins zu verwenden. Was nicht heißt, dass mit einem Trick das Ganze nicht dennoch erreicht werden kann. Misha Shneerson, Senior Software Design Engineer im Microsoft BizApps Team, hat die notwendigen Aspekte in seinem Blog (Teil 1, Teil 2, Teil 3) beschrieben. Ich will mir hier die Zeit nehmen und das Ganze etwas erläutern.
Die Basis ist ein Registry-Replikations-Mechanismus von Office, durch welchen bestimmte Einträge von HKLM nach HKCU repliziert werden, wenn eine der Office Anwendungen gestartet wird.
Definiert werden diese Einträge unter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\User Settings mittels eines Create bzw. Delete Keys.
Ein Beispiel:
Ein Add-In für Excel 2007 wird hier registriert (ich gehe davon aus, dass die Manifests digital signiert wurden und eine Trust Chain auf der Zielmaschine existiert (siehe hier):
HKEY_CURRENT_USER\Software\Microsoft\Office\Excel\Addins\MyAddIn
Die erforderlichen Einträge wären:
Um jeden an der Maschine angemeldeten Benutzer in den Genuß des Add-Ins kommen zu lassen, wird dieser Pfad im Prinzip auf die UserSettings von Office 2007 in HKLM "kopiert". Der gesamte Pfad würde dann so aussehen:
HKEY_LOCAL_MACHINE SOFTWARE Microsoft Office 12.0 User Settings MyCompany_MyAddIn Create Software Microsoft Office Excel Addins MyAddIn
Unter MyAddIn stehen dann die in der o.g. Tabelle angegebenen Werte.
Nicht genug
Das reicht aber noch nicht. Repliziert wird der Pfad nur, wenn eine vorhandene Count Property (DWORD) auf dem im obigen Pfad fett formatierten Key (MyCompany.MyAddIn) gefunden wird und deren Wert vom Wert derselben im Ziel-Hive der Registry (HKCU) abweicht.
Der Wert am Zielort wird unter HKCU\Software\Microsoft\Office\12.0\User Settings\MyAddIn geführt. Das wird getan, um nicht bei jedem Start die Replikation durchzuführen, sondern nur bei Änderungen. Deshalb muß auch diese Count Property nach dem Deinstallieren erhalten bleiben. Am besten. man zählt bei jeder Änderung per Custom Action den Wert um eins hoch. Der Wertebereich eines DWords sollte für einige Zeit ausreichen.
Da die Installation mittels MSI stattfinden sollte, müssen einige Dinge beachtet werden:
Im anfangs referenzierten Blog findet sich der Code für diese Aktionen. Das klingt kompliziert, aber man muß sich vor Augen halten, daß hier per User und per Machine Aktionen koodiniert werden müssen und der Sicherheitsmechanismus von VSTO der von ClickOnce ist - einer Technologie, die per User funktioniert.
Natürlich kann man das auch auf Basis der Inclusion List tun, Misha Shneerson erklärt das in Teil 3. Das sollte aber nur bei nichtverwalteten Netzwerken getan werden, da die zu erwartende Sicherheit geringer ist.
Bitte beachten: Es handelt sich hierbei um einen internen Office-Mechanismus. Natürlich kann man den verwenden. Es ist aber nicht garantiert, daß das Verhalten in Office-Versionen nach Office 2007 genauso ist. Eine Verwendung desselben geschieht demnach auf eigene Gefahr.
In der Liste der Control Ids sind die Namen der eingebauten Controls zu finden. Offensichtlich haben sich einige der Controls - so wie das bei Menschen auch hin und wieder üblich ist - einen zweiten Namen zugelegt. Das führt zu Unstimmigkeiten, die dazu führen, dass einige der eingebauten Controls nicht deaktiviert werden können, wenn der erste Name (auch im Anpassen Dialog der Quick Access Toolbar angezeigt) verwendet wird. Für ein simples Anzeigen der Controls und Verwenden der eingebauten Funktionalität kann auch weiterhin dieser erste Name verwendet werden.
In der nachfolgenden Tabelle finden Sie unter Control ID for Disabling den korrekten Namen des Controls zum Deaktivieren.
Somit kann mit folgenden Snippet verhindert werden, dass z.B. die Gridlines ein- bzw. ausgeschaltet werden können:
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="Ribbon_Load"> <commands> <command idMso="ViewSheetGridlines" enabled="false"/> </commands></customUI>
oder
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="Ribbon_Load"> <commands> <command idMso="SplitCells" getEnabled="GetSplitCellsEnabled"/> </commands></customUI>
Meine Kollegen Lori Grosland und Dirk Primbs gehen im Juni auf TechTalk Tour zum Thema
Technologieperlen unter der Haube
In diesem TechTalk halten wir es analog zu einer beliebten Süssigkeit: Spass, Spannung und Schokolade...
Das bedeutet:
- Spass, wenn wir Ihnen Tools und Technologien wie Deep Zoom, die Live APIs oder auch das eine oder andere Research Projekt vorstellen.
- Spannung, wenn wir der Frage nachgehen, wie die Technik darunter funktioniert und
- Schokolade, wenn wir hands on zeigen, wie Sie diese Lösungen in eigenen Applikationen einsetzen.
Anmeldung und Infos gibt’s unter http://www.microsoft.com/germany/msdn/techtalk/default.mspx
Termine:
02.06 - Karlsruhe
03.06 - Köln
05.06 - Berlin
10.06 - München
11.06 – Hamburg