Exemplarische Vorgehensweise: Bereitstellen eines Dokuments in einem lokalen Ordner und einer Assembly in einem Netzwerkordner (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
Microsoft Office-Version
Weitere Informationen hierzu finden Sie unter Verfügbare Features nach Anwendung und Projekttyp. |
Diese exemplarische Vorgehensweise veranschaulicht, wie eine Anpassung auf Dokumentebene bereitgestellt wird, sodass sich das Dokument auf dem Entwicklungscomputer und die Assembly in einem Ordner auf einem Netzwerkcomputer befindet. Dieser Typ von Bereitstellung wird als Bereitstellungsmodell Lokal/Netzwerk 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 Netzwerkordner 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.
Hinweis: 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.
Zugriff auf einen Netzwerkcomputer für die Bereitstellung.
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 "Bearbeiten des eingebetteten Anwendungsmanifests" fortfahren.
So erstellen Sie eine Projektmappe für die Bereitstellung
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.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Codedatei ThisDocument, und klicken Sie danach auf Code anzeigen.
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.
Drücken Sie F5, um das Projekt zu erstellen und auszuführen. Vergewissern Sie sich, dass die Meldung angezeigt wird.
Beenden Sie Word.
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 in einem späteren Schritt nicht auf das Dokument zugegriffen werden.
Bearbeiten des eingebetteten Anwendungsmanifests
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.
In den folgenden Schritten bearbeiten Sie das eingebettete Anwendungsmanifest im Dokument mithilfe der ServerDocument-Klasse, sodass es auf den neuen Speicherort der Anpassungsassembly verweist. 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
Erstellen Sie ein neues Konsolenanwendungsprojekt. Weitere Informationen hierzu finden Sie unter Gewusst wie: Erstellen von Projektmappen und Projekten.
Fügen Sie dem neuen Projekt einen Verweis auf die Assembly Microsoft.VisualStudio.Tools.Applications.Runtime.dll hinzu.
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;
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 Buildspeicherort auf dem Entwicklungscomputer, z. B. durch project folder\bin\debug\WordDeployment.doc. Ersetzen Sie full assembly path durch den vollständigen Pfad der Assembly in dem Netzwerkordner, in dem die Bereitstellung erfolgen soll, z. B. durch \\DeploymentServer\DeploymentFolder\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(); } }
Erstellen Sie das Projekt, und führen Sie es aus. Die Konsolenanwendung aktualisiert den Assemblypfad im eingebetteten Anwendungsmanifest und wird dann geschlossen.
Schließen Sie das Konsolenanwendungsprojekt.
Bereitstellen der Projektmappe
Wenn die Pfade korrekt sind, können Sie das Dokument in einem Ordner auf dem Entwicklungscomputer und die Assembly in einem Ordner auf einem Netzwerkcomputer bereitstellen.
So stellen Sie die Projektmappe bereit
Erstellen Sie im Stammverzeichnis des Windows-Systemlaufwerks (%SystemDrive%) einen Ordner mit dem Namen TestDeployDocument. Wenn das Systemlaufwerk z. B. C ist, lautet der neue Ordner C:\TestDeployDocument.
Erstellen Sie auf einem Netzwerkcomputer einen Ordner mit dem Namen DeploymentFolder, und geben Sie den Ordner für sich frei. Wenn z. B. der Name des Netzwerkcomputers DeploymentServer ist, lautet die neue Netzwerkfreigabe \\DeploymentServer\DeploymentFolder. Stellen Sie sicher, dass die Netzwerkfreigabe über denselben Namen verfügt, den Sie beim Bearbeiten des eingebetteten Anwendungsmanifests in den vorherigen Schritten für den Platzhalter full assembly path angegeben haben.
Kopieren Sie das Dokument aus dem Buildausgabeordner (normalerweise project folder\bin\debug oder project folder\bin\release) in den Ordner %SystemDrive%\TestDeployDocument auf dem Entwicklungscomputer.
Kopieren Sie die Assembly aus dem Buildausgabeordner in die Netzwerkfreigabe \\DeploymentServer\DeploymentFolder.
Öffnen Sie das Dokument im Ordner %SystemDrive%\TestDeployDocument auf dem Entwicklungscomputer. 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 im Netzwerkordner keine volle Vertrauenswürdigkeit gewährt haben.
Klicken Sie auf OK, und schließen Sie dann das Dokument.
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).
Sicherheitshinweis: |
---|
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
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 -m -ag LocalIntranet_Zone -url "full assembly path" FullTrust -n "Test_Deployment_Assembly"
Ersetzen Sie full assembly path durch den vollständigen Pfad der Assembly im Netzwerkordner, z. B. durch \\DeploymentServer\DeploymentFolder\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.
Geben Sie yes ein, wenn Sie aufgefordert werden, die Ausführung des Vorgangs zu bestätigen, und drücken Sie die EINGABETASTE.
Öffnen Sie das Dokument im Ordner %SystemDrive%\TestDeployDocument auf dem Entwicklungscomputer, und vergewissern Sie sich, dass die Meldung angezeigt wird.
Nächste Schritte
Sie können das Dokument und die Assembly auch in lokalen Ordnern bereitstellen, oder Sie können sowohl das Dokument als auch die Assembly in einem Netzwerkordner bereitstellen. Weitere Informationen finden Sie in den folgenden exemplarischen Vorgehensweisen:
Siehe auch
Aufgaben
Konzepte
Bereitstellen von Office-Projektmappen (2003 System)
Bereitstellen von Anpassungen auf Dokumentebene (2003 System)