Bereitstellen von Visual Studio 2005 Tools for Office Second Edition-Projektmappen mittels Windows Installer: Exemplarische Vorgehensweisen (Teil 2 von 2).

Zusammenfassung: Lesen Sie die zwei exemplarischen Vorgehensweisen zur Bereitstellung von Projektmappen für Microsoft Visual Studio 2005 Tools for 2007 Microsoft Office System mithilfe eines Visual Studio 2005-Setup-Projekts zur Erstellung eines Windows Installer-Pakets. (16 gedruckte Seiten)

Darryn Lavery, Microsoft Corporation

Lubo Birov, Microsoft Corporation

McLean Schofield, Microsoft Corporation

Brian A. Randell, MCW Technologies, LLC

Veröffentlicht im März 2007

Aktualisiert im August 2007

Gilt für: Microsoft Visual Studio 2008 Beta 2, 2007 Microsoft Office System, Microsoft Visual Studio 2005 Tools for the 2007 Microsoft Office System, Microsoft Visual Studio 2005, Microsoft Visual Studio 2005 Tools for the Microsoft Office System, Microsoft Office 2003

OfficeVSTO2005SEWindowsInstallerV2.msi herunterladen

Inhalt

  • Übersicht

  • Exemplarische Vorgehensweise: Verbessern des Outlook-Add-In-Setup-Projekts

  • Exemplarische Vorgehensweise: Erstellen von Windows Installer-Paketen zum Bereitstellen von Visual Studio 2005 Tools for Office SE-Projektmappen

  • Schlussbemerkung

  • Weitere Ressourcen

Übersicht

In diesem zweiten von zwei Artikeln werden zwei exemplarische Vorgehensweisen dargestellt, die zeigen, wie eine Projektmappe für Microsoft Visual Studio 2005 Tools for 2007 Microsoft Office System (Visual Studio 2005 Tools for Office Second Edition oder VSTO 2005 SE) bereitgestellt werden kann, um ein Windows Installer-Paket zu erstellen. Diese exemplarischen Vorgehensweisen gelten auch für Microsoft Office 2003-Projekte, die in Microsoft Visual Studio 2008 Beta 2 erstellt wurden.

Hinweis

Diese exemplarischen Vorgehensweisen gelten nicht für Projekte in Visual Studio 2008, die auf Anwendungen in 2007 Microsoft Office System basieren, die stattdessen die ClickOnce-Bereitstellungstechnologie verwenden.

In der ersten exemplarischen Vorgehensweise wird gezeigt, wie ein in VSTO 2005 SE erstelltes Microsoft Office Outlook 2003- oder Microsoft Office Outlook 2007-Add-In verbessert werden kann, um die erforderlichen Komponenten zu installieren und der Anpassungsassembly Vertrauen zu gewähren. Die in diesem Dokument enthaltenen Anweisungen gelten für alle Arten von Add-Ins, die Sie mit VSTO 2005 SE für Office 2003 und Office 2007 erstellen können.

In der zweiten exemplarischen Vorgehensweise werden End-to-End-Schritte zum Erstellen eines Windows Installer-Pakets für eine Microsoft Office Excel 2003- oder Microsoft Office Word 2003-Projektmappe dargestellt. VSTO 2005 SE fügt Unterstützung für Add-Ins auf Anwendungsebene für die 2003- und 2007-Versionen von Microsoft Office hinzu. Es wird keine neue Unterstützung zum Erstellen von Dokumentprojektmappen für die 2007-Version bereitgestellt. Ihre Office 2003-Dokumentprojektmappen werden in Microsoft Office Word 2007 oder Microsoft Office Excel 2007 ausgeführt.

Wichtig

Bevor Sie diese exemplarischen Vorgehensweisen starten, lesen und befolgen Sie die Anweisungen unter Bereitstellen von Visual Studio 2005 Tools for Office Second Edition-Projektmappen mittels Windows Installer (Teil 1 von 2).

Exemplarische Vorgehensweise: Verbessern des Outlook-Add-In-Setup-Projekts

In diesem Abschnitt erfahren Sie, wie Sie das in Visual Studio definierte Setup-Projekt verbessern können, wenn Sie ein Add-In-Projekt für Outlook erstellen. Sie erhalten Informationen zu den folgenden Schritten:

  • Ändern Sie das Setup-Projekt, sodass die erforderlichen Komponenten installiert werden: die VSTO 2005 SE-Laufzeit und optional das Visual Studio 2005 Tools for Office Language Pack.

  • Fügen Sie dem Setup-Projekt einen Schritt hinzu, um der Anpassungsassembly Vertrauen zu gewähren.

  • Fügen Sie der Windows Installer-Datei (.msi) Startbedingungen zum Verhindern der Installation hinzu, wenn die erforderlichen Komponenten nicht installiert sind.

Erstellen des Projekts

In diesem Schritt erstellen Sie in Visual C# ein Add-In-Projekt für Outlook 2003.

Hinweis

Die hier dargelegten Anweisungen gelten für alle unterstützten VSTO 2005 SE-Hostanwendungen und nicht nur für Outlook 2003.

So erstellen Sie ein neues Add-In-Projekt für Outlook 2003

  1. Klicken Sie in Visual Studio auf das Menü Datei und anschließend auf Neues Projekt.

  2. Erweitern Sie im Dialogfeld Neues Projekt im Bereich Projekttypen die Einträge Visual C# und Office. Wählen Sie anschließend 2003-Add-Ins.

  3. Wählen Sie in der Liste Vorlagen den Eintrag Outlook-Add-In.

  4. Geben Sie im Feld Name den Eintrag OutlookAddin ein.

  5. Stellen Sie sicher, dass die Option Projektmappenverzeichnis erstellen aktiviert ist, und klicken Sie auf OK.

    Visual Studio öffnet im Designer das neue Outlook-Add-In und fügt dem Projektmappen-Explorer das OutlookAddin und die Setup-Projekte hinzu.

Signieren der Assembly

Unten in diesem Artikel gewähren Sie auf Grundlage eines starken Namens und seines Speicherorts der Anpassungsassembly Vertrauen. Zuerst müssen Sie jedoch die Assembly signieren.

So signieren Sie die Assembly

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf OutlookAddin und dann auf Eigenschaften.

  2. Klicken Sie auf die Registerkarte Signierung.

  3. Aktivieren Sie das Kontrollkästchen Assembly signieren.

  4. Klicken Sie in der Liste Schlüsseldatei mit starkem Namen auswählen auf <Neu. . .>.

  5. Geben Sie im Feld Schlüsseldateiname den Namen OutlookAddin ein.

  6. Geben Sie in die Felder Kennwort eingeben und Kennwort bestätigen ein Kennwort ein.

  7. Klicken Sie auf OK.

  8. Schließen Sie die Seite Eigenschaften.

Hinzufügen von Code zum Add-In

In diesem Schritt fügen Sie dem ThisAddIn_Startup-Ereignishandler des Outlook-Add-Ins ein Meldungsfeld hinzu. Mit diesem können Sie überprüfen, ob die Projektmappe beim Starten von Outlook funktioniert.

So fügen Sie einem Initialisierungsereignis ein Meldungsfeld hinzu

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf ThisAddIn.c und anschließend auf Code anzeigen.

  2. Fügen Sie dem ThisAddin_Startup-Ereignishandler in der ThisAddIn-Klasse den folgenden Code hinzu, um während der Initialisierung ein Meldungsfeld anzuzeigen.

    C#

    private void ThisAddin_Startup(object sender, System.EventArgs e)
    {
    MessageBox.Show(
    "The Outlook add-in has been deployed successfully.");
    }

  3. Drücken Sie F5, um das Projekt auszuführen.

    Outlook wird gestartet, und das Meldungsfeld wird angezeigt.

  4. Schließen Sie das Meldungsfeld.

  5. Beenden Sie Outlook.

Hinzufügen von erforderlichen Komponenten zum Setup-Projekt

Fügen Sie die vom Bootstrapper zu installierenden erforderlichen Komponenten hinzu. In einem späteren Schritt werden die Startbedingungen hinzugefügt.

So fügen Sie die erforderlichen Komponenten hinzu

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf OutlookAddinSetup und dann auf Eigenschaften.

  2. Klicken Sie im Dialogfeld Eigenschaftenseiten auf Erforderliche Komponenten.

  3. Wählen Sie in der Liste der erforderlichen Komponenten die folgenden Elemente aus:

    1. Primäre Interopassemblys für Microsoft Office 2003

    2. Primäre Interopassemblys für 2007 Microsoft Office

    3. Laufzeit für Microsoft Visual Studio 2005 Tools for Office SE

  4. Wählen Sie das Language Pack für Microsoft Visual Studio 2005 Tools for Office Runtime aus, wenn Benutzer Ihre Projektmappen in Windows mit anderen Spracheinstellungen als Englisch ausführen. Diese Benutzer müssen das Language Pack für Visual Studio 2005 Tools for Office besitzen, um Laufzeitmeldungen in der gleichen Sprache wie unter Windows anzeigen zu können.

  5. Klicken Sie zweimal auf OK.

Hinzufügen benutzerdefinierter Aktionen zum Gewähren von Vertrauen für die Assembly

Gewähren Sie der Anpassungsassembly Vertrauen, indem Sie das bereitgestellte benutzerdefinierte Aktionsbeispiel verwenden.

So fügen Sie das bereitgestellte Projekt hinzu

  1. Kopieren Sie in Windows Explorer das Projekt SetSecurity aus dem Verzeichnis „{SamplesDir}\projects“ in das Verzeichnis, das die OutlookAddin-Projektmappe enthält.

    Tipp

    Standardmäßig befindet sich das {SamplesDir}-Verzeichnis unter C:\Programme\Dateien\Microsoft Visual Studio 2005 Tools for Office SE Resources\\VSTO2005SE Windows Installer Sample Version2\

  2. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf OutlookAddin.

  3. Zeigen Sie im Kontextmenü auf Hinzufügen, und klicken Sie anschließend auf Vorhandenes Projekt.

  4. Wählen Sie das Projekt SetSecurity aus.

  5. Klicken Sie auf OK.

  6. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt SetSecurity und dann auf Erstellen.

So fügen Sie die primäre Ausgabe des benutzerdefinierten Aktionsprojekts dem Setup-Projekt hinzu

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf OutlookAddinSetup.

  2. Zeigen Sie im Kontextmenü auf Ansicht, und klicken Sie anschließend auf Benutzerdefinierte Aktionen.

  3. Klicken Sie im Editor für benutzerdefinierte Aktionen mit der rechten Maustaste auf Benutzerdefinierte Aktionen. Klicken Sie anschließend auf Benutzerdefinierte Aktion hinzufügen.

  4. Klicken Sie in der Liste Suchen in auf Anwendungsordner und anschließend auf Ausgabe hinzufügen.

    Das Dialogfeld Projektausgabegruppe wird geöffnet.

  5. Klicken Sie in der Projektliste auf SetSecurity.

  6. Wählen in der Liste der Ausgabetypen Primäre Ausgabe aus, und klicken Sie anschließend auf OK.

  7. Überprüfen Sie, ob Primäre Ausgabe von SetSecurity (Aktiv) der Liste primärer Ausgaben für das Setup-Projekt hinzugefügt wurde.

    Dies ermöglicht der Microsoft Windows Installer-Datei, die benutzerdefinierte Aktion auszuführen, die das Anwendungsmanifest bearbeitet.

So fügen Sie die benutzerdefinierten Aktionsdaten für die Install-Methode hinzu

  1. Erweitern Sie im Editor für benutzerdefinierte Aktionen den Eintrag Install.

  2. Klicken Sie mit der rechten Maustaste auf Primäre Ausgabe von SetSecurity (Aktiv), und klicken Sie anschließend auf Eigenschaftenfenster.

  3. Setzen Sie im Fenster Eigenschaften die Eigenschaft CustomActionData auf die folgende Zeichenfolge. Geben Sie diese zusammenhängend ein, und ändern Sie MyCompanyName in Ihren Firmennamen.

    /assemblyName="OutlookAddin.dll" /targetDir="[TARGETDIR]\"
    

/solutionCodeGroupName="MyCompanyName.OutlookAddin" /solutionCodeGroupDescription="Code group for OutlookAddin" /assemblyCodeGroupName="OutlookAddin" /assemblyCodeGroupDescription="Code group for OutlookAddin" /allUsers=[ALLUSERS]

Tipp

Sie müssen keine zusätzlichen Anführungszeichen hinzufügen, wenn Ihr Firmenname ein Leerzeichen enthält.

So fügen Sie die benutzerdefinierten Aktionsdaten für die Rollback-Methode hinzu

  1. Erweitern Sie im Editor für benutzerdefinierte Aktionen den Eintrag Rollback.

  2. Klicken Sie mit der rechten Maustaste auf Primäre Ausgabe von SetSecurity (Aktiv), und klicken Sie anschließend auf Eigenschaftenfenster.

  3. Setzen Sie im Fenster Eigenschaften die Eigenschaft CustomActionData auf die folgende Zeichenfolge:

    /solutionCodeGroupName="MyCompanyName.OutlookAddin"

So fügen Sie die benutzerdefinierten Aktionsdaten für die Uninstall-Methode hinzu

  1. Erweitern Sie im Editor für benutzerdefinierte Aktionen den Eintrag Uninstall.

  2. Klicken Sie mit der rechten Maustaste auf Primäre Ausgabe von SetSecurity (Aktiv), und klicken Sie anschließend auf Eigenschaftenfenster.

  3. Setzen Sie im Fenster Eigenschaften die Eigenschaft CustomActionData auf die folgende Zeichenfolge:

    /solutionCodeGroupName="MyCompanyName.OutlookAddin"

Hinweis

Auch wenn Sie die Commit-Methode nicht mit einer benutzerdefinierten Aktion außer Kraft gesetzt haben, stellt die Basisklasse von Windows Installer eine Implementierung bereit. Folglich müssen Sie trotzdem die Methode aufrufen. Es sind jedoch keine benutzerdefinierten Aktionsdaten erforderlich.

Hinzufügen von Startbedingungen zur Windows Installer-Datei

Wenn der Benutzer Setup.exe ausführt, sucht Windows Installer nach den erforderlichen Komponenten und installiert sie bei Bedarf. Der Benutzer kann ebenso auf die .msi-Datei doppelklicken, um die Projektmappe zu installieren. In diesem Fall werden die erforderlichen Komponenten nicht installiert, und die Projektmappe kann nicht ausgeführt werden. In anderen Fällen könnten beim Setup Fehler auftreten, weil erforderliche Ressourcen nicht vorhanden sind. Beispielsweise benötigen benutzerdefinierte Aktionen möglicherweise .NET Framework.

In diesem Abschnitt erfahren Sie, wie Sie mithilfe des Editors für Startbedingen der .msi-Datei Startbedingungen hinzufügen können, um eine Installation zu verhindern, wenn bestimmte Abhängigkeiten nicht installiert sind.

So zeigen Sie den Editor für Startbedingen an

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf OutlookAddinSetup.

  2. Zeigen Sie im Kontextmenü auf Ansicht, und klicken Sie anschließend auf Startbedingungen.

Fügen Sie eine Startbedingung für die VSTO 2005 SE-Laufzeit hinzu.

So fügen Sie eine Startbedingung für die VSTO 2005 SE-Laufzeit hinzu

  1. Klicken Sie im Editor für Startbedingungen mit der rechten Maustaste auf Anforderungen für den Zielcomputer, und klicken Sie anschließend auf Registrierungsstartbedingung hinzufügen.

  2. Wählen Sie die neu hinzugefügte Suchbedingung Nach RegistryEntry1 suchen aus.

  3. Benennen Sie die Suchbedingung in Nach VSTO 2005 SE Runtime suchen um.

  4. Ändern Sie im Fenster Eigenschaften den Wert von Property in VSTORTVERSION.

  5. Setzen Sie im Fenster Eigenschaften zudem den Wert von RegKey auf die folgende Zeichenfolge.

    Software\Microsoft\vsto runtime Setup\v2.0.50727
  6. Belassen Sie die Eigenschaft Root bei vsdrrHKLM, und ändern Sie die Eigenschaft Value in Update.

  7. Wählen Sie die neu hinzugefügte Startbedingung Condition1 aus.

  8. Benennen Sie sie in Meldung anzeigen, wenn Visual Studio 2005 Tools for Office SE Runtime nicht installiert ist um.

  9. Ändern Sie im Fenster Eigenschaften den Wert der Eigenschaft Condition in die folgende Zeichenfolge.

    VSTORTVERSION >= "#2"
  10. Lassen Sie die Eigenschaft InstallURL leer.

  11. Ändern Sie den Wert der Eigenschaft Message in Visual Studio 2005 Tools for Office SE Runtime ist nicht installiert. Führen Sie Setup.exe aus.

Wenn Benutzer Ihre Projektmappen in Windows mit anderen Spracheinstellungen als Englisch ausführen, müssen sie Language Pack für Visual Studio 2005 Tools for Office besitzen, um Laufzeitmeldungen in der gleichen Sprache wie unter Windows anzuzeigen. Fügen Sie eine Startbedingung zur Überprüfung des Language Packs hinzu.

So fügen Sie eine Startbedingung für das Visual Studio 2005 Tools for Office Language Pack hinzu

  1. Klicken Sie im Editor für Startbedingungen mit der rechten Maustaste auf Anforderungen für den Zielcomputer, und klicken Sie anschließend auf Windows Installer-Startbedingung hinzufügen.

  2. Wählen Sie die neu hinzugefügte Suchbedingung Nach Component1 suchen aus.

  3. Benennen Sie die Suchbedingung in Nach VSTO Language Pack suchen um.

  4. Geben Sie im Fenster Eigenschaften in der Eigenschaft ComponentId die folgende GUID ein:

    {2E3A394E-C9BD-40C3-9990-BA7AF7C8B4AF}

  5. Ändern Sie den Wert von Property in COMPONENTEXISTS_VSTOLP.

  6. Wählen Sie die neu hinzugefügte Startbedingung (Condition1) aus.

  7. Benennen Sie sie in Meldung anzeigen, wenn Visual Studio 2005 Tools for Office Language Pack nicht installiert ist um.

  8. Ändern Sie im Fenster Eigenschaften den Wert der Eigenschaft Condition in COMPONENTEXISTS_VSTOLP.

  9. Lassen Sie die Eigenschaft InstallURL leer.

  10. Ändern Sie den Wert der Eigenschaft Message in Visual Studio 2005 Tools for Office SE Language Pack ist nicht installiert. Führen Sie Setup.exe aus.

Wenn Sie die Startbedingungen für die VSTO 2005 SE-Laufzeit und für das Visual Studio 2005 Tools for Office Language Pack erstellen, müssen Sie mit der rechten Maustaste auf den Knoten Anforderungen für den Zielcomputer klicken. Dadurch werden sowohl die Suchbedingung als auch die entsprechende Startbedingung erstellt.

Testen der Installation

Um Windows Installer zu testen, führen Sie ihn auf einem anderen Computer als Ihrem Entwicklungscomputer aus, weil viele der erforderlichen Komponenten bereits installiert sind. Denken Sie daran, die Setup.exe-Datei auszuführen, um den Bootstrapper zu testen. Erstellen Sie als Erstes Ihr Setup-Projekt.

So erstellen Sie das Setup

  • Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt OutlookAddinSetup und dann auf Erstellen.

Exemplarische Vorgehensweise: Erstellen von Windows Installer-Paketen zum Bereitstellen von Visual Studio 2005 Tools for Office SE-Projektmappen

In diesem Abschnitt wird beschrieben, wie ein Windows Installer-Paket für dokumentbasierte Excel- oder Word-Projektmappen erstellt wird. Obwohl in dem Beispiel die Bereitstellung einer Excel-Projektmappe dargestellt wird, kann das gleiche Verfahren auf die Bereitstellung einer Word-Projektmappe übertragen werden. Um diese exemplarischen Vorgehensweisen durchzuführen, muss auf Ihrem Entwicklungscomputer Office 2003 mit VSTO 2005 SE installiert sein. Sie können die Projektmappe jedoch auch auf einem Computer installieren, auf dem Office 2007 installiert ist.

In dieser exemplarischen Vorgehensweise erfahren Sie, wie Sie die folgenden Schritte durchführen:

  • Erstellen eines Setup-Projekts, mit dem Sie den Bootstrapper und das Windows Installer-Paket erstellen können.

  • Ändern des Setup-Projekts, sodass die Windows Installer-Datei Ihre VSTO 2005 SE-Projektmappe installiert.

  • Hinzufügen der erforderlichen Komponenten.

  • Hinzufügen einer benutzerdefinierten Aktion, um der Anpassungsassembly Vertrauen zu gewähren

  • Hinzufügen einer benutzerdefinierten Aktion, um das in das Projektmappendokument eingebettete Anwendungsmanifest zu bearbeiten.

Erstellen des Projekts

In diesem Schritt erstellen Sie ein Excel-Workbook-Projekt in Visual C#.

So erstellen Sie ein neues Projekt

  1. Erstellen Sie in Visual C# ein Excel-Workbook-Projekt mit dem Namen ExcelApplication.

  2. Stellen Sie sicher, dass Sie Neues Dokument erstellen ausgewählt haben.

    Visual Studio öffnet die neue Excel-Arbeitsmappe im Designer und fügt das ExcelApplication-Projekt dem Projektmappen-Explorer hinzu.

Signieren der Assembly

Unten in diesem Artikel gewähren Sie auf Grundlage eines starken Namens und des Speicherorts der Assembly der Anpassungsassembly Vertrauen. Bevor Sie Vertrauen gewähren können, müssen Sie die Assembly signieren.

So signieren Sie die Assembly

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf ExcelApplication und dann auf Eigenschaften.

  2. Klicken Sie auf die Registerkarte Signierung.

  3. Aktivieren Sie das Kontrollkästchen Assembly signieren.

  4. Klicken Sie in der Liste Schlüsseldatei mit starkem Namen auswählen auf <Neu. . .>.

  5. Geben Sie im Feld Schlüsseldateiname den Eintrag ExcelApplication ein.

  6. Geben Sie in die Felder Kennwort eingeben und Kennwort bestätigen ein Kennwort ein.

  7. Klicken Sie auf OK.

  8. Schließen Sie die Seite Eigenschaften.

Hinzufügen von Code hinter der Arbeitsmappe

In diesem Schritt fügen Sie dem Microsoft.Office.Tools.Excel.Workbook.Startup-Ereignishandler der Arbeitsmappe ein Meldungsfeld hinzu. Auf diese Weise können Sie überprüfen, ob die Projektmappe beim Öffnen des Dokuments funktioniert.

So fügen Sie einem Initialisierungsereignis ein Meldungsfeld hinzu

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf „ThisWorkbook.cs“, und klicken Sie anschließend auf Code anzeigen.

  2. Fügen Sie dem ThisWorkbook_Startup-Ereignishandler in der ThisWorkbook-Klasse den folgenden Code hinzu, um während der Initialisierung ein Meldungsfeld anzuzeigen.

    C#

    private void ThisWorkbook_Startup(object sender, System.EventArgs e)
    {
    MessageBox.Show("The document has been deployed successfully.");
    }

  3. Drücken Sie F5, um das Projekt auszuführen.

    Excel wird gestartet, und das Meldungsfeld wird angezeigt.

  4. Schließen Sie das Meldungsfeld, und beenden Sie Excel.

Erstellen eines Setup-Projekts

In diesem Schritt erstellen Sie ein Setup-Projekt, das Sie kompilieren können, um eine Windows Installer-Datei für Ihre Projektmappe zu erstellen.

So erstellen Sie ein Setup-Projekt für Ihre Projektmappe

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Projektmappe, zeigen Sie auf Hinzufügen, und klicken Sie dann auf Neues Projekt.

    Das Dialogfeld Neues Projekt hinzufügen wird geöffnet.

  2. Erweitern Sie im Bereich Projekttypen den Eintrag Andere Projekttypen, und wählen Sie anschließend Setup und Bereitstellung aus.

  3. Wählen Sie im Bereich Vorlagen die Option Setup-Projekt.

  4. Nennen Sie das Projekt ExcelApplicationSetup.

  5. Klicken Sie auf OK.

Das Setup-Projekt wird im Projektmappen-Explorer angezeigt. Standardmäßig enthält die von Ihnen mithilfe des Setup-Projekts erstellte Windows Installer-Datei ein Dialogfeld, in dem der Benutzer das Installationsverzeichnis der Projektmappe angeben kann.

Hinzufügen der Arbeitsmappe und der Projektmappenassembly zum Setup-Projekt

In diesem Schritt fügen Sie die primäre Ausgabe des ExcelApplication-Projekts dem Setup-Projekt hinzu. Die primäre Ausgabe des ExcelApplication-Projekts besteht aus der Arbeitsmappe und der Projektmappenassembly.

So fügen Sie die Arbeitsmappe und die Assembly dem Setup-Projekt hinzu

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf ExcelApplicationSetup.

  2. Zeigen Sie im Kontextmenü auf Ansicht, und klicken Sie anschließend auf Dateisystem.

  3. Klicken Sie mit der rechten Maustaste im linken Fensterbereich auf Anwendungsordner.

  4. Zeigen Sie im Kontextmenü auf Hinzufügen, und klicken Sie anschließend auf Projektausgabe.

  5. Wählen Sie im Feld Projekt die Option ExcelApplication.

  6. Wählen Sie in der Liste der Ausgabetypen Primäre Ausgabe aus.

  7. Klicken Sie auf OK.

    Die Projektausgabe und die Abhängigkeiten werden im rechten Fensterbereich angezeigt.

Wenn Sie die primäre Ausgabe eines Projekts dem Setup-Projekt hinzufügen, erkennt Visual Studio die Abhängigkeiten. Diese Abhängigkeiten können als eine Liste separater DLLs dargestellt werden. Schließen Sie als Nächstes diese DLL-Abhängigkeiten aus, weil sie zu den Paketen mit den erforderlichen Komponenten gehören und Sie die Pakete später als Abhängigkeiten hinzufügen.

So schließen Sie die DLL-Abhängigkeiten aus

  1. Erweitern Sie im Projektmappen-Explorer unter dem Knoten ExcelApplicationSetup den Eintrag Gefundene Abhängigkeiten.

  2. Klicken Sie mit der rechten Maustaste auf jede Abhängigkeit außer Microsoft .NET Framework, und klicken Sie anschließend auf Ausschließen.

Hinzufügen von erforderlichen Komponenten zum Setup-Projekt

In diesem Schritt wird davon ausgegangen, dass Sie Ihre Entwicklungsumgebung wie unter Bereitstellen von Visual Studio 2005 Tools for Office Second Edition-Projektmappen mittels Windows Installer (Teil 1 von 2) beschrieben vorbereitet haben.

Es gibt zwei Möglichkeiten, den Installationsvorgang zu starten:

  • Setup.exe

    Wenn Setup.exe ausgeführt wird, wird der Bootstrapper zuerst ausgeführt. Er untersucht die Liste der von der Anwendung benötigten Komponenten und installiert sie bei Bedarf. Nachdem die erforderlichen Komponenten installiert wurden, wird die .msi-Datei verarbeitet. Sie führt die eigentliche Installation der Anwendung durch.

    Wichtig

    Benutzer benötigen Administratorrechte, um diese erforderlichen Komponenten installieren zu können. Wenn sie nicht über diese Rechte verfügen, müssen Sie eine andere Bereitstellungsmethode, beispielsweise Gruppenrichtlinien oder Systemverwaltungssoftware (system management software, SMS), finden.

  • Eine .msi-Datei

    Wenn diese ausführbare Datei gestartet wird, wird der Bootstrapper nicht ausgeführt, und die erforderlichen Komponenten werden nicht installiert. Es ist jedoch möglich, Startbedingungen hinzuzufügen, mit denen die Installation verhindert wird, wenn die erforderlichen Komponenten nicht vorhanden sind.

Fügen Sie die erforderlichen Komponenten hinzu, die vom Bootstrapper installiert werden. Sie fügen die Startbedingungen in einem späteren Schritt hinzu.

So fügen Sie die erforderlichen Komponenten hinzu

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf ExcelApplicationSetup.

  2. Klicken Sie auf Eigenschaften.

  3. Klicken Sie im Dialogfeld Eigenschaftenseiten auf Erforderliche Komponenten.

  4. Wählen Sie in der Liste der erforderlichen Komponenten die folgenden Elemente aus:

    • Primäre Interopassemblys für Microsoft Office 2003

    • Primäre Interopassemblys für 2007 Microsoft Office

    • Laufzeit für Microsoft Visual Studio Tools for Office SE

  5. Wählen Sie das Language Pack für Microsoft Visual Studio 2005 Tools for Office Runtime aus, wenn Benutzer Ihre Projektmappen in Microsoft indows mit anderen Spracheinstellungen als Englisch ausführen.

    Diese Benutzer müssen das Language Pack für Visual Studio 2005 Tools for Office besitzen, um Laufzeitmeldungen in der gleichen Sprache wie unter Windows anzeigen zu können.

  6. Klicken Sie zweimal auf OK.

Hinzufügen benutzerdefinierter Aktionen zum Gewähren von Vertrauen für die Assembly

Bevor eine Projektmappe in Visual Studio Tools for Office ausgeführt werden kann, muss die Anpassungsassembly FullTrust-Berechtigungen besitzen. Das im Quellcode für diesen Artikel enthaltene Beispiel für benutzerdefinierte Aktion zeigt, wie der auf dem Computer des Benutzers installierten Assembly Berechtigungen gewährt werden.

So fügen Sie der Projektmappe das benutzerdefinierte Aktionsprojekt hinzu

  1. Kopieren Sie in Windows Explorer das Projekt SetSecurity aus dem Verzeichnis „SamplesDir}\projects“ in das Verzeichnis, das die ExcelApplication-Projektmappe enthält.

    Tipp

    Standardmäßig befindet sich das {SamplesDir}-Verzeichnis unter C:\Programme\Dateien\Microsoft Visual Studio 2005 Tools for Office SE Resources\\VSTO2005SE Windows Installer Sample Version2\

  2. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf ExcelApplication.

  3. Zeigen Sie im Kontextmenü auf Hinzufügen, und klicken Sie anschließend auf Vorhandenes Projekt.

  4. Wählen Sie das Projekt SetSecurity aus.

  5. Klicken Sie auf OK.

  6. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt SetSecurity und dann auf Erstellen.

So fügen Sie die primäre Ausgabe des benutzerdefinierten Aktionsprojekts dem Setup-Projekt hinzu

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf ExcelApplicationSetup.

  2. Zeigen Sie im Kontextmenü auf Ansicht, und klicken Sie anschließend auf Benutzerdefinierte Aktionen.

  3. Klicken Sie im Editor für benutzerdefinierte Aktionen mit der rechten Maustaste auf den Knoten Benutzerdefinierte Aktionen. Klicken Sie anschließend auf Benutzerdefinierte Aktion hinzufügen.

  4. Klicken Sie in der Liste Suchen in auf Anwendungsordner und anschließend auf Ausgabe hinzufügen.

    Das Dialogfeld Projektausgabegruppe wird geöffnet.

  5. Klicken Sie in der Projektliste auf SetSecurity.

  6. Wählen Sie in der Liste der Ausgabetypen Primäre Ausgabe aus, und klicken Sie anschließend auf OK.

  7. Stellen Sie sicher, dass sich Primäre Ausgabe von SetSecurity (Aktiv) in der Liste primärer Ausgaben für das Setup-Projekt befindet, und klicken Sie auf OK.

So fügen Sie die benutzerdefinierten Aktionsdaten für die Install-Methode hinzu

  1. Erweitern Sie im Editor für benutzerdefinierte Aktionen den Eintrag Install.

  2. Klicken Sie mit der rechten Maustaste auf Primäre Ausgabe von SetSecurity (Aktiv), und klicken Sie anschließend auf Eigenschaftenfenster.

  3. Setzen Sie im Fenster Eigenschaften die Eigenschaft CustomActionData auf die folgende Zeichenfolge. Geben Sie diese zusammenhängend ein, und ändern Sie MyCompanyName in Ihren Firmennamen.

    /assemblyName="ExcelApplication.dll" /targetDir="[TARGETDIR]\"
    

/solutionCodeGroupName="MyCompanyName.ExcelApplication" /solutionCodeGroupDescription="Code group for ExcelApplication" /assemblyCodeGroupName="ExcelApplication" /assemblyCodeGroupDescription="Code group for ExcelApplication" /allUsers=[ALLUSERS]

Tipp

Sie müssen keine zusätzlichen Anführungszeichen hinzufügen, wenn Ihr Firmenname ein Leerzeichen enthält.

So fügen Sie die benutzerdefinierten Aktionsdaten für die Rollback-Methode hinzu

  1. Erweitern Sie im Editor für benutzerdefinierte Aktionen den Eintrag Rollback.

  2. Klicken Sie mit der rechten Maustaste auf Primäre Ausgabe von SetSecurity (Aktiv), und klicken Sie anschließend auf Eigenschaftenfenster.

  3. Setzen Sie im Fenster Eigenschaften die Eigenschaft CustomActionData auf die folgende Zeichenfolge:

    /solutionCodeGroupName="MyCompanyName.ExcelApplication"

So fügen Sie die benutzerdefinierten Aktionsdaten für die Uninstall-Methode hinzu

  1. Erweitern Sie im Editor für benutzerdefinierte Aktionen den Eintrag Uninstall.

  2. Klicken Sie mit der rechten Maustaste auf Primäre Ausgabe von SetSecurity (Aktiv), und klicken Sie anschließend auf Eigenschaftenfenster.

  3. Setzen Sie im Fenster Eigenschaften die Eigenschaft CustomActionData auf die folgende Zeichenfolge:

    /solutionCodeGroupName="MyCompanyName.ExcelApplication"

Hinweis

Auch wenn die benutzerdefinierte Aktion nicht die Commit-Methode außer Kraft setzt, stellt die Basisklasse von Windows Installer eine Implementierung bereit. Folglich müssen Sie trotzdem die Methode aufrufen. Es sind jedoch keine benutzerdefinierten Aktionsdaten erforderlich.

Hinzufügen einer benutzerdefinierten Aktion zwecks Aktualisierung des Speicherorts der Assembly

Wenn Sie F5 gedrückt haben, um Ihr Projekt auszuführen, hat der Buildprozess das in die Arbeitsmappe eingebettete Anwendungsmanifest so bearbeitet, dass es auf den relativen Pfad der Assembly verweist. Wenn die Arbeitsmappe und die Assembly nach der Installation im gleichen Ordner bleiben, müssen Sie das eingebettete Anwendungsmanifest nicht ändern, und Sie können diesen Abschnitt ignorieren. Wenn Sie jedoch dem Benutzer ermöglichen möchten, die Arbeitsmappe nach der Installation in einen anderen Ordner zu verschieben, müssen Sie das Anwendungsmanifest so bearbeiten, dass es auf den vollständigen Pfad der Assembly verweist. Dies ist für Excel-Vorlagenprojekte und Word-Vorlagenprojekte besonders wichtig, weil von einer Vorlage erstellte Arbeitsmappen oder Dokumente in der Regel an einem Ort gespeichert werden, der sich vom Speicherort der Vorlage unterscheidet.

Es wurde für Sie ein benutzerdefiniertes Aktionsbeispiel erstellt. Fügen Sie dem Setup-Projekt diese benutzerdefinierte Aktion hinzu.

So fügen Sie der Projektmappe das benutzerdefinierte Aktionsprojekt hinzu

  1. Kopieren Sie in Windows Explorer das Projekt UpdateManifest aus dem Verzeichnis „{SamplesDir}\projects“ in das Verzeichnis, das die ExcelApplication-Projektmappe enthält.

  2. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf ExcelApplication.

  3. Zeigen Sie im Kontextmenü auf Hinzufügen, und klicken Sie anschließend auf Vorhandenes Projekt.

  4. Wählen Sie das Projekt UpdateManifest aus.

  5. Klicken Sie auf OK.

  6. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf UpdateManifest und dann auf Erstellen.

  7. Fügen Sie die primäre Ausgabe des UpdateManifest-Projekts dem Setup-Projekt hinzu.

    Dies ermöglicht der Microsoft Windows Installer-Datei, die benutzerdefinierte Aktion auszuführen, die das Anwendungsmanifest bearbeitet.

So fügen Sie die primäre Ausgabe des benutzerdefinierten Aktionsprojekts dem Setup-Projekt hinzu

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf ExcelApplicationSetup.

  2. Zeigen Sie im Kontextmenü auf Ansicht, und klicken Sie anschließend auf Benutzerdefinierte Aktionen.

  3. Klicken Sie im Editor für benutzerdefinierte Aktionen mit der rechten Maustaste auf den Knoten Benutzerdefinierte Aktionen. Klicken Sie anschließend auf Benutzerdefinierte Aktion hinzufügen.

  4. Klicken Sie in der Liste Suchen in auf Anwendungsordner und anschließend auf Ausgabe hinzufügen.

    Das Dialogfeld Projektausgabegruppe wird geöffnet.

  5. Klicken Sie in der Liste Projekt auf UpdateManifest.

  6. Wählen Sie in der Liste der Ausgabetypen Primäre Ausgabe aus, und klicken Sie anschließend auf OK.

  7. Stellen Sie sicher, dass sich Primäre Ausgabe von UpdateManifest (Aktiv) in der Liste primärer Ausgaben für das Setup-Projekt befindet, und klicken Sie auf OK.

  8. Fügen Sie die erforderlichen benutzerdefinierten Aktionsdaten hinzu.

Hinweis

Auch wenn die benutzerdefinierte Aktion nicht die Commit-, Rollback- und Uninstall-Methoden außer Kraft setzt, stellt die Basisklasse von Windows Installer eine Implementierung bereit. Folglich müssen die Methoden aufgerufen werden. Allerdings benötigen sie keine benutzerdefinierten Aktionsdaten.

So fügen Sie die benutzerdefinierten Aktionsdaten für die Install-Methode hinzu

  1. Erweitern Sie im Editor für benutzerdefinierte Aktionen den Eintrag Install.

  2. Klicken Sie mit der rechten Maustaste auf Primäre Ausgabe von UpdateManifest (Aktiv), und klicken Sie anschließend auf Eigenschaftenfenster.

  3. Setzen Sie im Fenster Eigenschaften die Eigenschaft CustomActionData auf die folgende Zeichenfolge. Geben Sie dies als zusammenhängende Zeichenfolge ein.

    /targetDir="[TARGETDIR]/" /documentName="ExcelApplication.xls" /assemblyName="ExcelApplication.dll"

Hinzufügen von Startbedingungen zur .msi-Datei

Wenn der Benutzer Setup.exe ausführt, sucht Windows Installer nach den erforderlichen Komponenten und installiert sie bei Bedarf. Der Benutzer kann ebenso auf die .msi-Datei doppelklicken, um die Projektmappe zu installieren. In diesem Fall werden die erforderlichen Komponenten nicht installiert, und die Projektmappe kann nicht ausgeführt werden. In anderen Fällen könnten beim Setup Fehler auftreten, weil erforderliche Ressourcen nicht vorhanden sind. Beispielsweise benötigen benutzerdefinierte Aktionen möglicherweise .NET Framework.

In diesem Abschnitt erfahren Sie, wie Sie mithilfe des Editors für Startbedingen der .msi-Datei Startbedingungen hinzufügen, um eine Installation zu verhindern, wenn bestimmte Abhängigkeiten nicht installiert sind.

So zeigen Sie den Editor für Startbedingen an

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf ExcelApplicationSetup.

  2. Zeigen Sie im Kontextmenü auf Ansicht, und klicken Sie anschließend auf Startbedingungen.

  3. Fügen Sie eine Startbedingung für die Visual Studio 2005 Tools for Office-Laufzeit hinzu.

So fügen Sie eine Startbedingung für die VSTO 2005 SE-Laufzeit hinzu

  1. Klicken Sie im Editor für Startbedingungen mit der rechten Maustaste auf Anforderungen für den Zielcomputer, und klicken Sie anschließend auf Registrierungsstartbedingung hinzufügen.

  2. Wählen Sie die neu hinzugefügte Suchbedingung Nach RegistryEntry1 suchen aus.

  3. Benennen Sie die Suchbedingung in Nach VSTO 2005 SE Runtime suchen um.

  4. Ändern Sie im Fenster Eigenschaften den Wert von Property in VSTORTVERSION.

  5. Setzen Sie im Fenster Eigenschaften den Wert von RegKey auf die folgende Zeichenfolge:

    Software\Microsoft\vsto runtime Setup\v2.0.50727

  6. Die Eigenschaft Root bleibt vsdrrHKLM.

  7. Ändern Sie die Eigenschaft Value in Update.

  8. Wählen Sie die neu hinzugefügte Startbedingung Condition1 aus.

  9. Benennen Sie sie in Meldung anzeigen, wenn Visual Studio 2005 Tools for Office SE Runtime nicht installiert ist um.

  10. Ändern Sie im Fenster Eigenschaften den Wert der Eigenschaft Condition folgendermaßen:

    VSTORTVERSION >= "#2"

  11. Lassen Sie die Eigenschaft InstallURL leer.

  12. Ändern Sie den Wert der Eigenschaft Message in Visual Studio 2005 Tools for Office SE Runtime ist nicht installiert. Führen Sie Setup.exe aus*.*

Wenn Benutzer Ihre Projektmappen in Windows mit anderen Spracheinstellungen als Englisch ausführen, müssen sie Language Pack für Visual Studio 2005 Tools for Office besitzen, um Laufzeitmeldungen in der gleichen Sprache wie unter Windows anzuzeigen. Fügen Sie eine Startbedingung zur Überprüfung des Language Packs hinzu.

So fügen Sie eine Startbedingung für das Visual Studio 2005 Tools for Office Language Pack hinzu

  1. Klicken Sie im Editor für Startbedingungen mit der rechten Maustaste auf Anforderungen für den Zielcomputer, und klicken Sie anschließend auf Windows Installer-Startbedingung hinzufügen.

  2. Wählen Sie die neu hinzugefügte Suchbedingung Nach Component1 suchen aus.

  3. Benennen Sie die Suchbedingung in Nach VSTO Language Pack suchen um.

  4. Geben Sie im Fenster Eigenschaften in der Eigenschaft ComponentId die folgende GUID ein:

    {2E3A394E-C9BD-40C3-9990-BA7AF7C8B4AF}

  5. Ändern Sie den Wert von Property in COMPONENTEXISTS_VSTOLP.

  6. Wählen Sie die neu hinzugefügte Startbedingung (Condition1) aus.

  7. Benennen Sie sie in Meldung anzeigen, wenn Visual Studio 2005 Tools for Office Language Pack nicht installiert ist um.

  8. Ändern Sie im Fenster Eigenschaften den Wert der Eigenschaft Condition in COMPONENTEXISTS_VSTOLP.

  9. Lassen Sie die Eigenschaft InstallURL leer.

  10. Ändern Sie den Wert der Eigenschaft Message in Visual Studio 2005 Tools for Office SE Language Pack ist nicht installiert. Führen Sie Setup.exe aus.

Testen der Installation

Um Windows Installer zu testen, führen Sie ihn auf einem anderen Computer als Ihrem Entwicklungscomputer aus, weil viele der erforderlichen Komponenten bereits installiert sind. Erstellen Sie Ihr Setup-Projekt, und führen Sie dann die Setup.exe-Datei aus, um den Bootstrapper zu testen.

So erstellen Sie das Projekt

  • Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt ExcelApplicationSetup und dann auf Erstellen.

Schlussbemerkung

Im Mittelpunkt dieses Artikels stand das Bereitstellen von Microsoft Office-Projektmappen mithilfe eines Visual Studio-Setup-Projekts zum Erstellen eines Windows Installer-Pakets. In den exemplarischen Vorgehensweisen haben Sie erfahren, wie Sie die erforderlichen Komponenten installieren, einer Anpassungsassembly Vertrauen gewähren und den Speicherort einer Anpassungsassembly für ein Dokument aktualisieren können.

Einen Überblick über den Bereitstellungsprozess finden Sie unter Bereitstellen von Visual Studio 2005 Tools for Office Second Edition-Projektmappen mittels Windows Installer (Teil 1 von 2).

Weitere Ressourcen

Codesicherheit

Verteilbare Pakete