Bereitstellen von Lösungspaketen (SharePoint Server 2010)

 

Gilt für: SharePoint Server 2010

Letztes Änderungsdatum des Themas: 2016-11-30

In diesem Artikel werden Lösungspakete und ihre Rolle bei der Bereitstellung von erstellten und entwickelten Anpassungen in Microsoft SharePoint Server 2010 beschrieben. Er enthält Verfahren zum Importieren und Bereitstellen von Lösungspaketen und ein Beispiel zum Erstellen und Bereitstellen eines Lösungspakets mithilfe von Microsoft Visual Studio 2010.

Inhalt dieses Artikels:

  • Was ist ein Lösungspaket?

  • Bereitstellen von Websiteelementen mithilfe von Lösungspaketen

  • Erstellen und Bereitstellen eines benutzerdefinierten Webpart-Lösungspakets mithilfe von Visual Studio 2010

Was ist ein Lösungspaket?

Ein Lösungspaket ist ein Verteilungspaket, mit dem Sie benutzerdefinierte Entwicklungen aus SharePoint Server 2010 an die Web- oder Anwendungsserver in der Serverfarm übergeben können. Mithilfe von Lösungen können Sie benutzerdefinierte Features, Websitedefinitionen, Vorlagen, Layoutseiten, Webparts, Cascading Stylesheets und Assemblys packen und bereitstellen.

In diesem Artikel wird die Bereitstellung von Sandkastenlösungen nicht erläutert. Sie können eine Microsoft SharePoint Server 2010-Lösung direkt in der SharePoint Server-Farm bereitstellen, oder Sie können die Lösung in einem Sandkasten bereitstellen. Ein Sandkasten ist eine eingeschränkte Ausführungsumgebung, in der Programme nur auf bestimmte Ressourcen zugreifen können. Im Sandkasten auftretende Probleme können sich nicht auf die übrige Serverumgebung auswirken. Weitere Informationen finden Sie unter Übersicht über Sandkastenlösungen (SharePoint Server 2010).

Ein Lösungspaket ist eine CAB-Datei mit der Dateinamenerweiterung WSP und einer Manifestdatei. Zum Entwickeln und Packen von SharePoint-Lösungen wird die Verwendung der Visual Studio 2010-Tools für SharePoint 2010 empfohlen. Lösungspakete können auch manuell mit Tools wie Makecab.exe und SharePoint Packman erstellt werden.

Die folgenden Komponenten können u. a. in einem Lösungspaket gepackt werden:

  • .NET Framework-Assemblys, in der Regel Webpart-Assemblys und Ereignisempfängerassemblys.

  • Bereitstellungsdateien wie z. B. Ressourcendateien, Seiten oder andere Hilfsdateien.

  • Features, mit denen Sie Code auf einer Website aktivieren und deaktivieren und Funktionalität bereitstellen können, die Elemente wie benutzerdefinierte Listen, Bibliotheken, Felder und Inhaltstypen umfasst.

  • Neue Vorlagen und Websitedefinitionen.

  • Konfigurationen, die auf Webserverebene vorgenommen werden müssen, beispielsweise das Bereitstellen von Anpassungen für die Web.config-Dateien für die Registrierung von Webparts. Sie können diese Konfigurationen auch mit einem Feature ändern, das mit einem Feature verteilt wird.

  • Webinhalte wie Webseiten und Bilder, die von Webseiten aufgerufen werden. Wenn Sie Webinhalte in einer getrennten Umgebung bereitstellen müssen, sollten Sie ein Inhaltsbereitstellungspaket verwenden.

Bereitstellen von Websiteelementen mithilfe von Lösungspaketen

In diesem Abschnitt:

  • Verwendung von Lösungspaketen

  • Bereitstellen von Farmlösungen

  • Importieren eines Lösungspakets

  • Bereitstellen eines Lösungspakets

  • Informationen zum Erstellen eines Lösungspakets

Verwendung von Lösungspaketen

Als bewährte Methode zum Bereitstellen von Anpassungen wird empfohlen, Lösungspakete im Rahmen eines einfachen, sicheren und einheitlichen Prozesses zur Verwaltung des Anwendungslebenszyklus zu verwenden. Lösungspakete vereinfachen das Ändern der Features und Funktionen von Websites nach deren Erstellung.

Sie können Lösungspakete zur Bereitstellung neuer Lösungen und zum Upgrade vorhandener Lösungen in der gesamten Farm verwenden. Sie können alle SharePoint Server-Entitäten in eine Datei packen, die Datei dem Lösungsspeicher hinzufügen und sie auf den Front-End-Webservern der Farm bereitstellen. Verwenden Sie Lösungspakete zur Synchronisierung eines Front-End-Webservers, um seinen Status mit dem anderer Webserver in der Farm abzugleichen.

Mit Lösungspaketen können erstellte Websiteelementanpassungen aus einer Integrationsfarm in einer Erstellungs-, Pilot- und Produktionsfarm bereitgestellt werden. In SharePoint Server können Benutzer eine angepasste Website als Vorlage speichern. Dadurch wird ein Lösungspaket mit der Dateinamenerweiterung WSP erstellt, das in einer anderen Farm bereitgestellt werden kann.

Mithilfe von Lösungspaketen können Anpassungen zwischen folgenden Umgebungen bereitgestellt werden:

  • Von Entwicklerarbeitsstationen zu einer Integrationsfarm oder einem Softwarekonfigurations-Verwaltungssystem

  • Von einer Integrationsfarm und Clientarbeitsstationen für die Erstellung zu Pilot- oder Produktionsfarmen

Bereitstellen von Farmlösungen

Farmlösungen werden entweder lokal oder mit einem Timerdienst bereitgestellt. Lokale und timerbasierte Bereitstellungen können entweder durch Befehlszeilenanweisungen oder programmgesteuert mithilfe des Objektmodells ausgelöst werden.

Lokale Bereitstellung

In einer lokalen Bereitstellung werden Lösungsdateien nur auf dem Computer bereitgestellt, von dem der Bereitstellungsvorgang initiiert wurde. Die Lösung wird in der Konfigurationsdatenbank erst als bereitgestellt gekennzeichnet, nachdem die Lösungsdateien auf allen geeigneten Servern in der Serverfarm bereitgestellt wurden. Anschließend werden Lösungsfeatures installiert und Schema- und Definitionsdateien an den Konfigurationsspeicher übergeben.

Bereitstellungen mithilfe des Timerdiensts

In Bereitstellungen mithilfe des Timerdiensts wird bei der Bereitstellung ein Zeitgeberauftrag erstellt. Dieser Zeitgeberauftrag wird vom Timerdienst auf jedem Webserver in der Serverfarm übernommen. Zunächst werden Manifest und Featuremanifeste auf Assembly- und Layoutdateien hin analysiert, die in die entsprechenden Speicherorte kopiert werden. Alle anderen Dateien in einem Featureverzeichnis werden in das betreffende Featureverzeichnis kopiert. Nachdem die Lösungsdateien auf die Zielcomputer kopiert wurden, wird ein Zurücksetzen der Konfiguration für alle Front-End-Webserver geplant. Beim Zurücksetzen werden dann die Dateien bereitgestellt und die Microsoft Internetinformationsdienste (IIS) neu gestartet. Anschließend werden Lösungsfeatures registriert und Schema- und Definitionsdateien an den Konfigurationsspeicher übergeben.

Weitere Informationen zum Lösungsspeicher, zur Bereitstellung und Synchronisierung finden Sie unter Bereitstellen einer Lösung (https://go.microsoft.com/fwlink/?linkid=186995&clcid=0x407) im Microsoft SharePoint 2010 Software Development Kit (SDK).

Hinzufügen eines Lösungspakets

Bevor Sie ein Lösungspaket bereitstellen können, müssen Sie es der Lösungsdatenbank einer SharePoint Server-Farm hinzufügen.

Wichtig

Sie müssen Mitglied der Gruppe Administratoren auf einem Computer sein, auf dem Windows PowerShell ausgeführt wird.

So importieren Sie ein Lösungspaket mithilfe von Windows PowerShell

  1. Stellen Sie sicher, dass die folgenden Mindestanforderungen erfüllt sind: Weitere Informationen finden Sie unter Add-SPShellAdmin.

  2. Klicken Sie im Menü Start auf Alle Programme.

  3. Klicken Sie auf Microsoft SharePoint 2010-Produkte.

  4. Klicken Sie auf SharePoint 2010-Verwaltungsshell.

  5. Geben Sie an der Windows PowerShell-Eingabeaufforderung den folgenden Befehl ein:

    Add-SPSolution -LiteralPath <SolutionPath>
    

Die Lösung wird dem Lösungsspeicher der Farm hinzugefügt. Folgen Sie zum Verwenden der Lösung dem Verfahren im nächsten Abschnitt dieses Artikels. Weitere Informationen finden Sie unter Add-SPSolution.

Bereitstellen eines Lösungspakets

Sie können importierte Lösungen mithilfe der Website der Zentraladministration oder mithilfe von Windows PowerShell bereitstellen. Nachdem eine Lösung dem Lösungsspeicher mithilfe des Windows PowerShell-Cmdlets Add-SPSolution hinzugefügt wurde, muss die Lösung auf einer Website bereitgestellt werden, bevor darauf zugegriffen werden kann.

Hinweis

Sie können Lösungen nicht mithilfe der Lösungsverwaltungsseite der Zentraladministration zum Lösungsspeicher hinzufügen.

In den folgenden Verfahren wird das Bereitstellen einer importierten Lösung auf einer Website der Serverfarm mithilfe der Website für die Zentraladministration oder mit Windows PowerShell veranschaulicht.

So stellen Sie eine Lösung mithilfe der Zentraladministration bereit

  1. Klicken Sie auf der Homepage der Zentraladministration auf Systemeinstellungen.

  2. Klicken Sie im Abschnitt Farmverwaltung auf Farmlösungen verwalten.

  3. Klicken Sie auf der Seite Lösungsverwaltung auf die Lösung, die Sie bereitstellen möchten.

  4. Klicken Sie auf der Seite Eigenschaften der Lösung auf Lösung bereitstellen.

  5. Wählen Sie auf der Seite Lösung bereitstellen im Abschnitt Zeitpunkt der Bereitstellung eine der folgenden Optionen aus:

    • Jetzt

    • Zur angegebenen Zeit. Wenn Sie diese Option auswählen, müssen Sie mithilfe der Datums- und Uhrzeitfelder eine Zeit angeben. Es ist empfehlenswert, eine Zeit mit geringer Auslastung des Zielservers auszuwählen.

  6. Klicken Sie im Abschnitt Bereitstellen für in der Liste Bestimmte Webanwendung auf Alle Webanwendungen, oder wählen Sie eine bestimmte Webanwendung aus.

  7. Klicken Sie auf OK.

So stellen Sie ein Lösungspaket für eine einzelne Webanwendung mithilfe von Windows PowerShell bereit

  1. Stellen Sie sicher, dass die folgenden Mindestanforderungen erfüllt sind: Weitere Informationen finden Sie unter Add-SPShellAdmin.

  2. Klicken Sie im Menü Start auf Alle Programme.

  3. Klicken Sie auf Microsoft SharePoint 2010-Produkte.

  4. Klicken Sie auf SharePoint 2010-Verwaltungsshell.

  5. Geben Sie an der Windows PowerShell-Eingabeaufforderung den folgenden Befehl ein:

    Install-SPSolution -Identity <SolutionName> -WebApplication <URLname>
    

    Dabei gilt:

    • <SolutionName> ist der Name der Lösung.

    • <URLname> ist die URL der Webanwendung, für die Sie die importierte Lösung bereitstellen möchten.

    Standardmäßig wird die Lösung sofort bereitgestellt. Sie können die Bereitstellung aber auch mithilfe des time-Parameters planen. Weitere Informationen finden Sie unter Install-SPSolution.

So stellen Sie ein Lösungspaket für alle Webanwendungen mithilfe von Windows PowerShell bereit

  1. Stellen Sie sicher, dass die folgenden Mindestanforderungen erfüllt sind: Weitere Informationen finden Sie unter Add-SPShellAdmin.

  2. Klicken Sie im Menü Start auf Alle Programme.

  3. Klicken Sie auf Microsoft SharePoint 2010-Produkte.

  4. Klicken Sie auf SharePoint 2010-Verwaltungsshell.

  5. Geben Sie an der Windows PowerShell-Eingabeaufforderung den folgenden Befehl ein:

    Install-SPSolution -Identity <SolutionName> -AllWebApplications -time <TimeToDeploy> -GACDeployment -CASPolicies
    

    Dabei gilt:

    • Der GACDeployment-Parameter ermöglicht SharePoint Server 2010 die Bereitstellung der Assemblys im globalen Assemblycache.

    • Der CASPolicies-Parameter ermöglicht die Erstellung einer benutzerdefinierten Richtliniendatei für die Codezugriffsicherheit (Code Access Security, CAS) und die Aktivierung in der Datei Web.config der betreffenden Websitesammlung.

    Standardmäßig wird die Lösung sofort bereitgestellt. Sie können die Bereitstellung aber auch auch mithilfe des time-Parameters planen.

Informationen zum Erstellen eines Lösungspakets

SharePoint Server 2010 enthält kein Tool zum Erstellen von Lösungspaketen. In diesem Abschnitt werden Möglichkeiten zum Erstellen von Lösungspaketen beschrieben, die entwickelte Websiteelemente und Artefakte enthalten.

Visual Studio 2010

Mithilfe von Visual Studio 2010 können Sie zusammenhängende SharePoint-Elemente in einem Feature zusammenfassen und dann mehrere Features, Websitedefinitionen, Assemblys und andere Dateien in einem einzelnen Paket (WSP-Datei) zur Bereitstellung auf Servern mit SharePoint Server 2010 bündeln. Sie können Visual Studio 2010 zum Debuggen und Testen der WSP-Datei auf dem Server mit SharePoint Server 2010 auf dem Entwicklungscomputer verwenden. Sie können auch die Bereitstellungsschritte auf dem Entwicklungscomputer anpassen.

Entwickler können SharePoint-Lösungen in Visual Studio 2010 erstellen und WSP-Dateien mithilfe des automatisierten Buildprozesses erzeugen. Der Quellcode des Visual Studio-SharePoint-Projekts, aus dem die WSP-Datei erstellt wurde, kann auch mit der Visual Studio 2010-Integration dem Quellcodeverwaltungssystem hinzugefügt werden. Visual Studio 2010 kann WSP-Dateien importieren und Projekte erstellen, um sie zu erweitern und neue WSP-Dateien zu erstellen. Die primäre Quelle von in Visual Studio 2010 importierten WSP-Dateien sind Vorlagen, die von Websites mit dem Befehl Als Vorlage speichern auf SharePoint Server 2010-Websites gespeichert wurden. Mit diesen Vorlagen können alle Websiteanpassungen in einer SharePoint-Lösung gespeichert werden.

Weitere Informationen finden Sie unter SharePoint-Entwicklung in Visual Studio (https://go.microsoft.com/fwlink/?linkid=187000&clcid=0x407).

Makecab

Lösungspakete können manuell mit Tools wie Makecab.exe erstellt werden. Das Tool Makecab.exe übernimmt einen Zeiger auf eine DDF-Datei, die die Struktur der CAB-Datei beschreibt. Das Format einer DDF-Datei ähnelt dem einer INF-Datei, das heißt, Sie deklarieren einen Standardheader und listen dann den Satz von Dateien mit einer Datei pro Zeile nach Speicherort auf dem Datenträger und nach Speicherort in der CAB-Datei auf.

Das Tool Makecab.exe kann unter Microsoft Cabinet Software Development Kit heruntergeladen werden (https://go.microsoft.com/fwlink/?linkid=107292&clcid=0x407).

SharePoint PackMan

SharePoint PackMan ist ein Tool, das das Packen und Verwalten von SharePoint-Lösungen vereinfacht. Wenn Sie Ihre Dateien mit Drag & Drop in das Tool ziehen, wird eine DDL-Datei und eine Datei manifest.xml erstellt und Makecab.exe an einer Eingabeaufforderung ausgeführt. SharePoint PackMan vereinfacht auch das Hinzufügen, Bereitstellen, Zurückziehen und Löschen von Lösungen für die Farm, für Webanwendungen oder Websitesammlungen.

Das Tool SharePoint PackMan kann auch von der CodeBox heruntergeladen werden: https://codebox/sppackman (https://go.microsoft.com/fwlink/?linkid=107292&clcid=0x407).

Informationen zum Anpassen von Lösungspaketen

Wenn Sie eine der folgenden Anpassungen in SharePoint Server 2010-Lösungen vornehmen müssen, wird die Verwendung von Visual Studio 2010 zum Anpassen der Lösungspakete empfohlen. Sie können die Anpassungen auch manuell durch Erstellen von SharePoint-Lösungspaketen ausführen.

  • Bereitstellen von .NET Framework-Assemblys im privaten Anwendungsordner anstelle des globalen Assemblycaches

  • Hinzufügen von Berechtigungen für die Codezugriffssicherheit zu der Lösung, die während der Bereitstellung angewendet werden muss

  • Abweichen von standardmäßigen Namen für die Featureordner

  • Lokalisieren der Lösung

  • Hinzufügen von bestimmten Arten von SharePoint Foundation 2010-Lösungen, z. B. Webpartlösungen, zu Featureereignishandlern

  • Hinzufügen von Ressourcen (XML-Dateien, Bilder, DLL-Dateien und Assemblys) zum Lösungspaket

Manuelles Erstellen einer Lösungsdatei

In den meisten Entwicklungsszenarien für SharePoint Server 2010 wird empfohlen, die Visual Studio 2010-Tools für SharePoint 2010 zum Entwickeln und Packen von SharePoint-Lösungen zu verwenden. In Visual Studio 2010 wird die WSP-Datei vom Bereitstellungsprozess auf den Server mit SharePoint Server 2010 kopiert und die Lösung installiert. Anschließend werden die Features aktiviert.

Sie können Lösungsdateien auch manuell erstellen. Das Erstellen einer Lösungsdatei umfasst die folgenden grundlegenden Schritte:

  1. Sammeln Sie alle einzelnen Lösungsdateien in einem Ordner. Es gibt keine konkreten Richtlinien dazu, wie Sie vorgehen sollten, aber eine bewährte Methode besteht darin, die verschiedenen Typen von Lösungsdateien in einem eigenen Unterordner zu speichern.

  2. Erstellen Sie eine Datei manifest.xml, in der die Komponenten der Lösung aufgelistet werden.

  3. Erstellen Sie eine DDF-Datei, mit der die Struktur der Lösungsdatei definiert wird. Diese Datei enthält die Liste der einzelnen Lösungsdateien, durch die die WSP-Ausgabedatei bestimmt wird.

  4. Führen Sie Makecab.exe mit der DDF-Datei als Eingabe und der WSP-Datei als Ausgabe aus.

Informationen zur Lösungsmanifestdatei

Das Lösungsmanifest (immer als manifest.xml bezeichnet) wird im Stamm einer Lösungsdatei gespeichert. Diese Datei definiert die Liste der zu verarbeitenden Features, Websitedefinitionen, Ressourcendateien, Webpartdateien und Assemblys. Sie definiert jedoch nicht die Dateistruktur. In einer Lösung enthaltene Dateien, die nicht in der Datei manifest.xml aufgelistet sind, werden nicht verarbeitet.

Es folgt ein Beispiel der Struktur einer manifest.xml-Datei, in XML dargestellt.

<?xml version="1.0" encoding="utf-8" ?>

<Solution xmlns="https://schemas.microsoft.com/sharepoint/"

SolutionId="{79d1a62e-3627-11db-963e-00e08161165f}"

ResetWebServer="TRUE">

    <Assemblies>

        <Assembly DeploymentTarget="GlobalAssemblyCache"

Location="Example.Sharepoint.Webparts\

Example.SharePoint.WebParts.dll">

            <SafeControls>

                <SafeControl Assembly="Example.Sharepoint.Webparts,

Version=1.0.0.0, Culture=Neutral, PublicKeyToken=63cce650e8605f5d"

Namespace="Example.Sharepoint.Webparts" TypeName="*"/>

            </SafeControls>

        </Assembly>

        <Assembly DeploymentTarget="GlobalAssemblyCache"

Location="Example.Sharepoint.Timer/Example.Sharepoint.Timer.dll"/>

    </Assemblies>

    <FeatureManifests>

        <FeatureManifest Location="Example.Sharepoint.Timer\Feature.xml"/>

        <FeatureManifest Location="Example.CustomType\Feature.xml"/>

        <FeatureManifest Location="Example.ExampleLibrary\Feature.xml"/>

        <FeatureManifest Location="Example.Columns\Feature.xml"/>

        <FeatureManifest Location="Example.Workflow.ProcessExample\Feature.xml"/>

        <FeatureManifest Location="Example.Workflow.ProvisionExample\Feature.xml"/>

    </FeatureManifests>

    <SiteDefinitionManifests>

        <SiteDefinitionManifest Location="EXAMPLE">

            <WebTempFile Location="1033\XML\WEBTEMPExample.XML"/>

        </SiteDefinitionManifest>

    </SiteDefinitionManifests>

</Solution>

Darüber hinaus können Sie ein DwpFiles-Element zum Angeben von .Webpart- oder .DWP-Dateien oder ein ResourceFiles-Element zum Angeben von Ressourcendateien, Websitedefinitionen, Anwendungsressourcen und Richtlinien für die Codezugriffssicherheit hinzufügen.

Optional können Sie die Feature.xml-Dateien mit <ElementFile>-Tags kommentieren.

Wenn die Lösung Features enthält, fügen Sie in der Datei Feature.xml im <ElementManifests>-Tag <ElementFile Location="..."/> für alle zusätzlichen Dateien im Feature, wie ASP.NET-Seiten (beispielsweise allitems.aspx) oder Gestaltungsvorlagen usw., hinzu.

Weitere Informationen zu Lösungsmanifestdateien, die die einzelnen Bestandteile einer Lösung definieren, finden Sie unter Lösungsschema (https://go.microsoft.com/fwlink/?linkid=183466&clcid=0x407).

Erstellen und Bereitstellen eines benutzerdefinierten Webpart-Lösungspakets mithilfe von Visual Studio 2010

Eine exemplarische Vorgehensweise für die Verwendung von Visual Studio 2010 zum Erstellen, Anpassen, Debuggen und Bereitstellen einer SharePoint-Listendefinition für die Nachverfolgung von Projektaufgaben finden Sie unter Examplarische Vorgehensweise: Bereitstellen einer Definition für eine Projektaufgabenliste (https://go.microsoft.com/fwlink/?linkid=189612&clcid=0x407) in der MSDN Library.

In dieser exemplarischen Vorgehensweise werden die folgenden Aufgaben veranschaulicht:

  • Erstellen eines Projekts zur Definition von SharePoint-Listen, das Aufgaben enthält.

  • Hinzufügen der Listendefinition zu einem SharePoint-Feature.

  • Hinzufügen eines Ereignisempfängers zu der Liste.

  • Erstellen und Anpassen eines SharePoint-Pakets zur Bereitstellung des Features.

  • Erstellen und Bereitstellen der SharePoint-Lösung.

Wenn Sie das Beispielprojekt in dieser exemplarischen Vorgehensweise erstellen, wird die Lösung von Visual Studio 2010 automatisch auf dem Server mit SharePoint Server 2010 auf dem Entwicklungscomputer zum Testen und Debuggen bereitgestellt. Sie können auch eine Lösungspaketdatei erstellen, die Sie auf einem anderen Computer hinzufügen und bereitstellen können. Weitere Informationen finden Sie unter Gewusst wie: Bereitstellen einer SharePoint-Lösung (https://go.microsoft.com/fwlink/?linkid=187004&clcid=0x407). Zum Importieren der Lösung auf einem anderen Computer können Sie das Windows PowerShell-Cmdlet Add-SPSolution verwenden.

Auf der Seite Lösungsverwaltung in der Zentraladministration können Sie das Lösungspaket bereitstellen. Alternativ können Sie zum Bereitstellen des Lösungspakets auch das Windows PowerShell-Cmdlet Install-SPSolution verwenden.

In der exemplarischen Vorgehensweise ist Web der Bereich des Projektlistenfeatures. Zum Archivieren des Features erweitern Sie auf der Website das Menü Websiteaktionen, und klicken Sie dann auf Websiteeinstellungen. Klicken Sie unter Websiteaktionen auf Websitefeatures verwalten. Klicken Sie auf der Seite Features neben dem Featurenamen auf Aktivieren.