Sdílet prostřednictvím


Exemplarische Vorgehensweise: Bereitstellen eines Dokuments und einer Assembly in unterschiedlichen lokalen Ordnern (2003 System)

Aktualisiert: November 2007

Betrifft

Die Informationen in diesem Thema gelten nur für die angegebenen Visual Studio Tools for Office-Projekte und Versionen von Microsoft Office.

Projekttyp

  • Projekte auf Dokumentebene

Microsoft Office-Version

  • Microsoft Office 2003

Weitere Informationen hierzu finden Sie unter Verfügbare Features nach Anwendung und Projekttyp.

Diese exemplarische Vorgehensweise veranschaulicht die Bereitstellung einer Anpassung auf Dokumentebene, sodass sich das Dokument und die Assembly in unterschiedlichen Ordnern auf dem Computer des Endbenutzers befinden. Dieser Typ von Bereitstellung wird als Bereitstellungsmodell Lokal/Lokal bezeichnet.

Weitere Informationen über die Optionen zum Bereitstellen einer Projektmappe finden Sie unter Bereitstellungsmodelle (2003 System). Weitere Informationen zu Anpassungen auf Dokumentebene finden Sie unter Architektur von Anpassungen auf Dokumentebene.

In dieser exemplarischen Vorgehensweise werden die folgenden Aufgaben veranschaulicht:

  • Bearbeiten des eingebetteten Anwendungsmanifests in einem Dokument, sodass es auf die Assembly verweist.

  • Gewähren voller Vertrauenswürdigkeit für eine Projektmappenassembly von Visual Studio Tools for Office, die sich in einem lokalen Ordner befindet.

Vorbereitungsmaßnahmen

Zum Durchführen dieser exemplarischen Vorgehensweise benötigen Sie die folgenden Komponenten:

  • Visual Studio Tools for Office (eine optionale Komponente von Visual Studio 2008 Professional und Visual Studio Team System).

  • Microsoft Office Word 2003 oder Microsoft Office Excel 2003.

    ms404838.alert_note(de-de,VS.90).gifHinweis:

    In dieser exemplarischen Vorgehensweise wird davon ausgegangen, dass Sie eine Word-Projektmappe bereitstellen. Wenn Sie die exemplarische Vorgehensweise mit einer Excel-Projektmappe durchführen möchten, müssen Sie in allen Codebeispielen den Namen des Word-Projekts durch den Namen des Excel-Projekts ersetzen.

  • Administratorrechte auf dem Entwicklungscomputer, damit Sie die Sicherheitsrichtlinien festlegen können.

Erstellen einer Projektmappe für die Bereitstellung

Im ersten Schritt erstellen Sie eine grundlegende Visual Studio Tools for Office-Projektmappe für die Bereitstellung. Wenn Sie bereits über eine Projektmappe verfügen, die Sie bereitstellen möchten, können Sie diesen Abschnitt überspringen und mit "Bereitstellen der Projektmappe" fortfahren.

So erstellen Sie eine Projektmappe für die Bereitstellung

  1. Erstellen Sie ein Word-Dokumentprojekt mit dem Namen WordDeployment unter Verwendung der Projektvorlage für Office 2003.

    Wählen Sie im Assistenten Neues Dokument erstellen aus. Weitere Informationen hierzu finden Sie unter Gewusst wie: Erstellen von Visual Studio Tools for Office-Projekte.

  2. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Codedatei ThisDocument, und klicken Sie danach auf Code anzeigen.

  3. Fügen Sie im ThisDocument_Startup-Ereignishandler folgenden Code hinzu. Mit diesem Code wird beim Öffnen des Dokuments eine Meldung angezeigt, mit der ganz einfach überprüft werden kann, ob die Projektmappe erfolgreich bereitgestellt wurde.

    MessageBox.Show("The deployment is successful")
    
    MessageBox.Show("The deployment is successful");
    

    Weitere Informationen zum Startup-Ereignis finden Sie unter Visual Studio Tools for Office-Projektereignisse.

  4. Drücken Sie F5, um das Projekt zu erstellen und auszuführen. Vergewissern Sie sich, dass die Meldung angezeigt wird.

Bereitstellen der Projektmappe

Sie können jetzt das Dokument und die Assembly in unterschiedlichen Ordnern auf dem Entwicklungscomputer bereitstellen.

So stellen Sie die Projektmappe bereit

  1. Erstellen Sie im Stammverzeichnis des Windows-Systemlaufwerks (%SystemDrive%) Ordner mit den Namen TestDeployDocument und TestDeployAssembly. Wenn das Systemlaufwerk z. B. C ist, lauten die neuen Ordner C:\TestDeployDocument und C:\TestDeployAssembly.

  2. Kopieren Sie das Dokument aus dem Buildausgabeordner (normalerweise project folder\bin\debug oder project folder\bin\release) in den Ordner %SystemDrive%\TestDeployDocument, und kopieren Sie die Assembly vom Buildausgabeordner in den Ordner %SystemDrive%\TestDeployAssembly.

  3. Öffnen Sie das Dokument im Ordner %SystemDrive%\TestDeployDocument. Sie werden in einer Fehlermeldung informiert, dass die Anpassungsassembly nicht gefunden wurde oder nicht geladen werden konnte.

    Wenn Sie die Projektmappe erstellen, verfügt das Dokument über die Information, dass sich die Assembly in demselben Ordner wie das Dokument befindet. Der Speicherort der Assembly wird in einem Anwendungsmanifest gespeichert, das im Dokument eingebettet ist. Wenn Sie Dokument und Assembly in unterschiedlichen Ordnern bereitstellen, müssen Sie im eingebetteten Anwendungsmanifest den neuen Assemblypfad angeben. Im nächsten Abschnitt wird dieser Schritt erläutert.

  4. Beenden Sie Word.

  5. Schließen Sie die Projektmappe in Visual Studio.

    Stellen Sie sicher, dass das Dokument nicht in einer Instanz von Word oder im Projekt-Designer geöffnet ist. Wenn das Dokument geöffnet ist, kann mit ServerDocument im nächsten Schritt nicht auf das Dokument zugegriffen werden.

Bearbeiten des eingebetteten Anwendungsmanifests

Sie können das eingebettete Anwendungsmanifest im Dokument mithilfe der ServerDocument-Klasse bearbeiten, sodass es auf den neuen Speicherort der Anpassungsassembly zeigt. Der Code, in dem das eingebettete Anwendungsmanifest mithilfe von ServerDocument bearbeitet wird, muss sich außerhalb der Visual Studio Tools for Office-Projektassembly befinden, die dem bereitzustellenden Dokument zugeordnet ist.

So bearbeiten Sie das eingebettete Anwendungsmanifest

  1. Erstellen Sie ein neues Konsolenanwendungsprojekt. Weitere Informationen hierzu finden Sie unter Gewusst wie: Erstellen von Projektmappen und Projekten.

  2. Fügen Sie dem neuen Projekt einen Verweis auf die Assembly Microsoft.VisualStudio.Tools.Applications.Runtime.dll hinzu.

  3. Fügen Sie am Anfang der Codedatei Program.cs oder Module1.vb die folgende using-Anweisung (C#) oder Imports-Anweisung (Visual Basic) hinzu.

    Imports Microsoft.VisualStudio.Tools.Applications.Runtime
    
    using Microsoft.VisualStudio.Tools.Applications.Runtime;
    
  4. Fügen Sie in der Main-Methode folgenden Code hinzu, um das eingebettete Anwendungsmanifest zu aktualisieren. Ersetzen Sie full document path durch den vollständigen Pfad des Dokuments am zugehörigen Bereitstellungsspeicherort auf dem Entwicklungscomputer, z. B. durch C:\TestDeployDocument\WordDeployment.doc. Ersetzen Sie full assembly path durch den vollständigen Pfad der Assembly in dem Ordner, in dem die Bereitstellung erfolgen soll, z. B. durch C:\TestDeployAssembly\WordDeployment.dll.

    Dim sd As ServerDocument = Nothing
    Try
        sd = New ServerDocument("full document path")
        sd.AppManifest.Dependency.AssemblyPath = _
            "full assembly path"
        sd.Save()
    Finally
        If Not sd Is Nothing Then
            sd.Close()
        End If
    End Try
    
    ServerDocument sd = null;
    try
    {
        sd = new ServerDocument(@"full document path");
        sd.AppManifest.Dependency.AssemblyPath = 
            @"full assembly path";
        sd.Save();
    }
    finally
    {
        if (sd != null)
        {
            sd.Close();
        }
    }
    
  5. Drücken Sie F5, um das Projekt zu erstellen und auszuführen. Die Konsolenanwendung aktualisiert den Assemblypfad im eingebetteten Anwendungsmanifest und wird dann geschlossen.

  6. Schließen Sie das Konsolenanwendungsprojekt.

  7. Öffnen Sie das Dokument im Ordner %SystemDrive%\TestDeployDocument. Es wird eine Fehlermeldung angezeigt, die angibt, dass die aktuelle .NET-Sicherheitsrichtlinie die Ausführung der Anpassung nicht zulässt. Dies liegt daran, dass Sie der Assembly keine volle Vertrauenswürdigkeit gewährt haben.

  8. Beenden Sie Word.

    Alle Instanzen von Word müssen geschlossen sein, da die Sicherheitsrichtlinienänderungen andernfalls keine Auswirkungen haben.

Festlegen der Sicherheitsrichtlinie

Um die Projektmappe ausführen zu können, müssen Sie der Assembly in der .NET Framework 2.0-Sicherheitsrichtlinie volle Vertrauenswürdigkeit gewähren. In dieser exemplarischen Vorgehensweise wird das Sicherheitsrichtlinientool für den Codezugriff (Caspol.exe) verwendet, um der Assembly volle Vertrauenswürdigkeit zu gewähren. Weitere Informationen über die Verwendung von Caspol.exe finden Sie unter Sicherheitsrichtlinientool für den Codezugriff (Caspol.exe) und Konfigurieren der Sicherheitsrichtlinien mit dem Sicherheitsrichtlinientool für den Codezugriff (Caspol.exe).

ms404838.alert_security(de-de,VS.90).gifSicherheitshinweis:

Für den Zweck dieser exemplarischen Vorgehensweise sind dies die grundlegenden Schritte zum Festlegen einer Sicherheitsrichtlinie auf der Grundlage eines URL-Beweises. Assemblys in einer realen Projektmappe sollten Sie auf diese Weise nur Vertrauenswürdigkeit gewähren, wenn Sie genau wissen, dass der Speicherort sicher ist. Die Sicherheit einer realen Projektmappe sollte zudem von umfassenderen Beweisen als der URL der Assembly abhängig gemacht werden. Weitere Informationen hierzu finden Sie unter Sicherheitsanforderungen für die Ausführung von Office-Projektmappen (2003 System).

So gewähren Sie der Assembly volle Vertrauenswürdigkeit

  1. Geben Sie in der Eingabeaufforderung den folgenden Befehl ein, um eine neue Codegruppe zu erstellen, die der Assembly volle Vertrauenswürdigkeit gewährt.

    %windir%\Microsoft.NET\Framework\v2.0.50727\caspol -u -ag All_Code -url "full assembly path" FullTrust -n "Test_Deployment"
    

    Ersetzen Sie full assembly path durch den vollständigen Pfad der Assembly auf dem Entwicklungscomputer, z. B. durch C:\TestDeployAssembly\WordDeployment.dll.

    Der -n-Parameter gibt einen Namen für die neue Codegruppe an. Dieser Parameter ist nicht erforderlich, die neue Codegruppe kann jedoch anhand einer Bezeichnung später leichter identifiziert und entfernt werden, nachdem Sie diese exemplarische Vorgehensweise abgeschlossen haben.

  2. Geben Sie yes ein, wenn Sie aufgefordert werden, die Ausführung des Vorgangs zu bestätigen, und drücken Sie die EINGABETASTE.

  3. Öffnen Sie das Dokument im Ordner %SystemDrive%\TestDeployDocument, und vergewissern Sie sich, dass die Meldung angezeigt wird.

Nächste Schritte

Sie können das Dokument und die Assembly auch in demselben lokalen Ordner bereitstellen, oder Sie können das Dokument und die Assembly in einem Netzwerkordner bereitstellen. Weitere Informationen finden Sie in den folgenden exemplarischen Vorgehensweisen:

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Bereitstellen eines Dokuments und einer Assembly in einem lokalen Ordner (2003 System)

Exemplarische Vorgehensweise: Bereitstellen eines Dokuments in einem lokalen Ordner und einer Assembly in einem Netzwerkordner (2003 System)

Exemplarische Vorgehensweise: Bereitstellen eines Dokuments und einer Assembly in einem Netzwerkordner (2003 System)

Exemplarische Vorgehensweise: Bereitstellen einer Anpassung auf Dokumentebene mithilfe eines Bereitstellungsmanifests (2003 System)

Exemplarische Vorgehensweise: Bereitstellen einer Anpassung auf Dokumentebene mithilfe einer Windows Installer-Datei (2003 System)

Konzepte

Bereitstellen von Office-Projektmappen (2003 System)

Bereitstellen von Anpassungen auf Dokumentebene (2003 System)

Bereitstellungsmodelle (2003 System)