Freigeben über


Microsoft Web Deploy v2: Readme

von Bilal Aslam

Übersicht

Web Deploy ist ein Tool zur Vereinfachung der Migration, Verwaltung und Bereitstellung von Webanwendungen, Websites und Servern. Es kann verwendet werden, um eine Website zu verpacken, einschließlich Inhalt, Konfiguration, Zertifikate und Datenbanken. Es kann verwendet werden, um zwischen IIS 6.0 oder IIS 7.0 zu synchronisieren oder von IIS 6.0 zu IIS 7.0 zu migrieren. Die erstellten Pakete können für Versionsverwaltung, Sicherung oder Bereitstellung verwendet werden.

Beachten Sie, dass IIS 8.0 nur mit Web Deploy V3 unterstützt wird.

Features

Web Deploy umfasst die folgenden wichtigen Features:

Verpacken von Websites und Anwendungen. Entwickler oder Administratoren können die Konfiguration und den Inhalt installierter Webanwendungen, einschließlich SQL-Datenbanken, verpacken und die Pakete für die Speicherung oder erneute Bereitstellung verwenden. Diese Pakete können dann über die IIS-Manager-Schnittstelle bereitgestellt werden, ohne dass Administratorrechte auf einem Remoteserver erforderlich sind.

Delegieren Sie Bereitstellungsaufgaben an Nicht-Administratoren. Serveradministratoren können Bereitstellungsaufgaben an Benutzer delegieren, die keine Administratoren sind. In freigegebenen Hosting- und Unternehmensumgebungen kann beispielsweise das Bereitstellen von Inhalten und das Markieren eines Ordners als Anwendung delegiert werden. Erweiterte Aufgaben, die für eine dedizierte Umgebung geeignet sind, z. B. das Zulassen der Bereitstellung einer Zertifikat-, Website- oder GAC-Assembly, können ebenfalls aktiviert werden.

Vereinfachen Sie die Bereitstellung für Administratoren. Serveradministratoren finden die Delegierung nützlich, da die Bereitstellung einer Webanwendung einschließlich einer GAC-Assembly, eines Zertifikats und eines Anwendungspools zeitaufwändig sein kann, auch bei allen erforderlichen Berechtigungen.

Migration von IIS 6.0. Der Migrationsvorgang bietet Administratoren eine Möglichkeit zum Migrieren von Websites oder ganzen Servern von IIS 6.0 zu IIS 7.0 und höher, IIS7 zu IIS8 einschließlich ihrer Einstellungen und Inhalte. Eine Migration ist im Wesentlichen eine Möglichkeit zur Synchronisierung, gefiltert nach Migrationsregeln.

Synchronisierung von IIS 6.0 / IIS 7.0. Der Synchronisierungsvorgang bietet Administratoren eine Möglichkeit, eine Site oder einen Server schnell zu synchronisieren und Änderungen an vorhandenen Sites und Servern bereitzustellen. Mit einer Synchronisierung können Sie eine Quelle mit einem Ziel synchronisieren. Sie können beispielsweise zwei Verzeichnispfade oder zwei Webserver synchronisieren. Die Synchronisierung kann mit lokalen oder Remoteobjekten ausgeführt werden.

Snapshot IIS 6.0 / IIS 7.0. Die Snapshot- oder Archivfunktionalität ermöglicht Administratoren oder Entwicklern, schnell ein Archiv ihrer Website oder ihres Servers für Rollback-, Wiederherstellungs- oder Sicherungszwecke zu erstellen.

Analyse der Abhängigkeiten von IIS 6.0 / IIS 7.0. Die Analyse ermöglicht es Administratoren, zu überprüfen, welche Komponenten auf dem Quellserver installiert sind. Auf diese Weise können sie ermitteln, ob Features vorhanden sind, die sie in IIS 7.0 benötigen oder die ein erweiterteres Setup erfordern, als einfach Dateien zu kopieren.

Problembehandlung und Überprüfung. Zum Überprüfen eines Vorgangs ermöglicht der Parameter „-whatif“, dass Administratoren sehen können, welche Aktionen ausgeführt werden, wenn sie einen Vorgang ausführen. Dies ist besonders nützlich für die Synchronisierung oder Migration, wenn sie überprüfen möchten, welche Änderungen vorgenommen werden, bevor sie sie ausführen. Bei der Problembehandlung ermöglicht der Parameter „-verbose“ Administratoren umfassende Details dazu, welche Vorgänge ausgeführt werden, und bei Fehlern die Möglichkeit, das Problem zu diagnostizieren.

Differenzielle Synchronisierung. Das Tool synchronisiert nur, was zwischen der Quelle und dem Ziel geändert wurde.

Installation Notes (SAP-Supporthinweis 1984787 – SUSE Linux Enterprise Server 12: Installationshinweise)

Anforderungen

Die folgenden Voraussetzungen müssen erfüllt sein, um das Tool zu installieren:

  • Sie müssen .NET 2.0 SP1 oder höher installiert haben.

Herunterladen und Installieren

Es gibt zwei separate herunterladbare Pakete für das Tool; Sie müssen das entsprechende Paket herunterladen:

https://www.iis.net/download/WebDeploy

Sie müssen das Installationspaket als Administrator ausführen. Verwenden Sie dazu eine der folgenden Methoden:

  • Melden Sie sich mit dem tatsächlichen Konto namens „Administrator“ bei Ihrem Server an.
  • Melden Sie sich mit einem Konto mit Administratorrechten an, und öffnen Sie eine Eingabeaufforderung, indem Sie mit der rechten Maustaste auf den Menüpunkt Eingabeaufforderung klicken, der sich im Menü Zubehör für Windows-Programme befindet, und „Als Administrator ausführen“ auswählen. Geben Sie dann den entsprechenden Befehl ein, der unten für Ihre Windows-Version aufgeführt ist, um die Installation auszuführen:
msiexec /I <path_to_msi>
msiexec /I <path_to_msi>

Wichtiger Hinweis! Standardmäßig bietet Ihnen das Setup die Wahl der Installation des Remotedienstes und verwendet eine standardmäßige Remotedienst-URL, http://+:80/MSDEPLOY.

Sie können die Remotedienst-URL auf eine benutzerdefinierte URL festlegen, indem Sie das Setup über die Befehlszeile ausführen: (wo der Port und die URL angegeben sind, nehmen Sie Anpassungen vor):

msiexec /i <path_to_msi> /passive ADDLOCAL=ALL LISTENURL=http://+:8080/MSDEPLOY2/

Bekannte Probleme

Problem: Einige Verwaltungsdienstdelegierungsregeln funktionieren nach dem Upgrade von Web Deploy auf Web Deploy 2.0 nicht

Wenn ein IIS 7+-Server eine freigegebene Konfiguration verwendet, funktionieren bestimmte Delegierungsregeln mit runAs-Identität, die auf SpecificUser festgelegt sind, nicht mehr. Dies liegt daran, dass das Web Deploy-Installationsprogramm und das Skript „.\AddDelegationRules.ps1“ lokale Computerbenutzerkonten erstellt und als runAs-Identität für bestimmte Delegierungsregeln festgelegt wird. Diese Benutzerkonten werden auf anderen Computern nicht erkannt und daher funktionieren die Regeln nicht in der freigegebenen Konfiguration.
Problemumgehungen:

  • Installieren Sie Web Deploy 2.0 nicht mit dem Web Platform Installer. Installieren Sie es stattdessen direkt aus der MSI-Datei, und wählen Sie die Komponente „Für Nicht-Administratorbereitstellungen konfigurieren“ aus.
  • Wenn Ihre Delegierungsregeln bereits überschrieben wurden, erstellen Sie die betroffenen Regeln manuell neu.

Problem: Site, die mit .\SetupSite.ps1 PowerShell-Skript erstellt wurde, kann nicht durchsucht werden

Wenn dieses Skript eine Site erstellt, versucht es, ihr eine Portnummer zwischen 8000 und 8200 zuzuweisen, die noch nicht verwendet wird. Es kann vorkommen, dass kein kostenloser Port verfügbar ist, in diesem Fall funktioniert der dieser Site zugewiesene Port nicht. Möglicherweise wird der der Site zugewiesene Port auch durch eine Firewall blockiert.

Problemumgehungen: Weisen Sie der Site manuell einen anderen Port über die IIS-Manager-Benutzeroberfläche zu. Stellen Sie außerdem sicher, dass der Port von der Firewall nicht blockiert wird, z. B. unter Windows Server 2008 R2, führen Sie den folgenden Befehl aus: "netsh advfirewall firewall add rule name="MySite" dir=in action=allow protocol=TCP localport=8080", wobei „MySite“ durch den Namen Ihrer Website ersetzt wird.

Problem: Kann nicht auf einer Site veröffentlicht werden, die mit dem PowerShell-Skript „SetupSiteForPublish.ps1“ erstellt wurde oder für die Web Deploy-Veröffentlichung über das „Konfigurieren für Web Deploy-Veröffentlichung...“ konfiguriert wurde Benutzeroberfläche

Das Skript für die Siteerstellung sowie die Benutzeroberfläche zum Konfigurieren von Web Deploy für eine vorhandene Site legt die Veröffentlichungs-URL auf https://myserver:8172/msdeploy.axd fest. Dieser Computername ist in der Regel innerhalb eines Netzwerks erreichbar. Er ist jedoch häufig nicht von außerhalb des Netzwerks erreichbar, daher sollte er durch einen öffentlichen DNS-Namen ersetzt werden.

Problemumgehungen:

  • Über das Skript: Das Skript warnt nicht über diesen Fehler. Ersetzen Sie die URL durch die richtige (wie unten) in der generierten Einstellungsdatei.
  • Über die Benutzeroberfläche: Geben Sie den öffentlichen DNS-Namen in das Feld „URL für die Verbindung des Veröffentlichungsservers angeben“ ein. Geben Sie z. B. anstelle von https://myserver:8172/msdeploy.axdhttps://some.publicDnsName.com:8172/msdeploy.axd ein.

Problem: Web Deploy verbraucht einige Minuten lang 100 % der CPU-Zeit.

Wenn die Protokollierungsebene zu hoch festgelegt ist, verbraucht Web Deploy 100 % CPU, wenn ein Synchronisierungsvorgang ausgeführt wird. Dies kann passieren, wenn die Protokollierungsebene auf „verbose“ (4) oder Information (3) festgelegt ist.

Problemumgehungen: Legen Sie die Protokollierungsebene niedriger fest:

  1. Starten Sie den Registrierungs-Editor.
  2. Navigieren Sie zu HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\IIS Extensions\MSDeploy\2\WMSVCTracing, und legen Sie den Wert bei Bedarf auf 1 oder 2 fest.
  3. Starten Sie den Webverwaltungsdienst neu, indem Sie eine Eingabeaufforderung mit erhöhten Rechten öffnen und „net stop wmsvc“ gefolgt von „net start wmsvc“ eingeben.

Problem: Die Web Deploy-Benutzeroberfläche im IIS-Manager zeigt den Fehler „Objekt des Typs kann nicht casten“ an.

Wenn auf dem Zielcomputer Web Deploy v1.1 installiert ist und auf dem Quellcomputer v2 installiert ist, wird möglicherweise dieser Fehler angezeigt. Dies ist eine versionsübergreifende Inkompatibilität.

Problemumgehungen:

  • Upgrade des Quellcomputers auf Web Deploy v2
  • Deinstallieren aller Versionen von Web Deploy auf dem Quellcomputer

Problem: Web Deploy kann die USN-Nummer nicht vom Remoteserver abrufen.

Der Switch „-inkrementell“ gibt bei Verwendung mit dem dirPath-Anbieter eine USN-Nummer zurück, die mit zukünftigen Synchronisierungen verwendet werden soll, um die inkrementelle Synchronisierung zu ermöglichen.
Beispiel: msdeploy -verb:dump -source:dirpath=c:\Temp –incremental
Rückgabewert: c:\Temp
Info: Die USN-Nummer für die Synchronisierung des Quellpfads „c:\Temp“ lautet „2140379512“.
Wenn die Quelle jedoch remote ist, wird die USN-Nummer vom Vorgang nicht zurückgegeben. Dies ist eine bekannte Einschränkung, da Web Deploy v2 das Abrufen einer USN-Nummer von einem Remoteserver nicht unterstützt.

Problemumgehung: Verwenden Sie ein anderes Tool, um die USN-Nummer vom Remoteserver abzurufen.

Problem: Wenn Sie einen IIS 6.0-Computer mit vielen Sites synchronisieren (was dazu führt, dass die Metabasis über 500MB beträgt), kann es dazu kommen, dass das Tool hängt und nicht mehr reagiert.
Problemumgehung: Erstellen Sie eine Liste der Sites, und synchronisieren Sie jede Site einzeln.

Problem: Wenn Sie von einem Computer mit einem Remotecomputer synchronisieren, wobei sich der Inhalt oder die freigegebene Konfiguration auf einem dritten, separaten Computer (d. h. UNC) befindet, kann sich der Remote-Agent nicht ordnungsgemäß authentifizieren.
Problemumgehung: Entweder manuell synchronisieren oder stattdessen den Webbereitstellungswandler verwenden.

Problem: Wenn Sie versuchen, einen Ordner zu verpacken oder zu archivieren, der eine bestimmte Art von Schleife aufweist (Sie versuchen z. B., das Paket in einem Ordner zu erstellen, den Sie verpacken), kann das Tool abstürzen oder hängen.
Problemumgehung: Synchronisieren Sie keine Schleifenordner.

Problem: Wenn Sie eine Website mit mehr als 100 Unterverzeichnissen (1\2\3..\100\101) synchronisieren, kann es dazu kommen, dass das Tool hängt.
Problemumgehung: Synchronisieren Sie keine Ordnerstrukturen, die 120 Unterverzeichnisse tief sind.

Problem: Wenn Sie freigegebene Konfigurationseinstellungen ändern (z. B. freigegebene Konfiguration aktivieren oder deaktivieren), müssen Sie den Remote-Agent anschließend neu starten.
Problemumgehung: Starten Sie den Agent neu, nachdem Sie eine Änderung an der freigegebenen Konfiguration vorgenommen haben.

Problem: Wenn Sie eine Website synchronisieren, auf der sich der Pfad %systemdrive%\wwwroot zu einer Zielwebsite befindet, auf der sich das Systemlaufwerk unterscheidet (C: anstelle von D:), wird der Pfad Ihrer Website am Ziel erweitert. Dies bedeutet, wenn Sie über eine freigegebene Konfiguration mit verschiedenen Systemlaufwerken verfügen und sich auf %systemdrive% für die Sicherstellung der Funktionsweise von Inhalten verlassen, können Sie die Website auf einem Computer unterbrechen.
Problemumgehung: Fügen Sie eine Ersetzungsregel hinzu, um den Pfad während der Synchronisierung zu ändern.

Problem: Wenn Sie einen IIS 6.0-Computer mit vielen Sites synchronisieren (was dazu führt, dass die Metabasis über 500MB beträgt), kann es dazu kommen, dass das Tool hängt und nicht mehr reagiert.
Problemumgehung: Erstellen Sie eine Liste der Sites, und synchronisieren Sie jede Site einzeln.

Problem: Wenn Sie einen Ordner synchronisieren, der als Anwendung in IIS 6.0 mit einem Archiv oder Paket gekennzeichnet ist, werden die Inhalte manchmal nicht automatisch gesammelt.
Problemumgehung: Fügen Sie die Inhaltsordner manuell zu einem benutzerdefinierten Manifest hinzu und synchronisieren Sie das Manifest. Weitere Informationen zum Erstellen von Manifestdateien finden Sie in der Hilfe.

Problem: Wenn Sie versuchen, eine vorhandene Paketdatei zu verpacken, funktioniert dies möglicherweise nicht ordnungsgemäß.
Problemumgehung: Verwenden Sie einen neuen Namen, oder löschen Sie die alte Paketdatei, bevor Sie ein neues Paket erstellen.

Problem: Die Microsoft Web Deploy-Datei verschiebt die physischen Dateien für Skriptzuordnungen und Elemente, auf die in der Einschränkungsliste der Webdiensterweiterung verwiesen wird, nicht, es sei denn, die Dateien befinden sich in den Inhaltsverzeichnissen einer Website. Dies liegt daran, dass viele ISAPIs möglicherweise nicht ordnungsgemäß migriert werden, z. B.:

  • ASP.NET (erfordert Installation).
  • WebDAV (das standardmäßig nicht in Windows Server 2008 enthalten ist und eine zusätzliche Installation erfordert).
  • FrontPage-Servererweiterungen (die standardmäßig nicht in Windows Server 2008 enthalten sind und eine zusätzliche Installation erfordern).

Problemumgehung: Fügen Sie manuell alle Skriptzuordnungen oder Dateien hinzu, für die keine Installation in einer Manifestdatei erforderlich ist. Weitere Informationen zum Erstellen von Manifestdateien finden Sie in der Hilfe.

Problem: Benutzerdefinierte Vertrauensdateien, auf die in den Richtlinieneinstellungen der Stammebene „Web.config“ und „Code Access Security“ (CAS) verwiesen wird, werden nicht verschoben.
Problemumgehung: Geben Sie manuell die benutzerdefinierte Vertrauensdatei und die CAS-Richtliniendatei „security.config“ in einer Manifestdatei an. Weitere Informationen zum Erstellen von Manifestdateien finden Sie in der Hilfedatei.

Problem: Wenn Sie eine Website auf einen Server verschieben, der eine andere Vertrauensstufe aufweist, erhalten Sie keine Warnung.
Problemumgehung: Stellen Sie sicher, dass die Vertrauensstufe beim Synchronisieren oder Migrieren auf Websiteebene auf dem Zielcomputer ordnungsgemäß festgelegt ist.

Problem: Wenn Sie über eine benutzerdefinierte Manifestdatei verfügen, die auf eine ungültige Quelle verweist, wird möglicherweise keine Fehlermeldung angezeigt.
Problemumgehung: Wenn die erwartete Ausgabe bei Verwendung einer Manifestdatei nicht angezeigt wird, versuchen Sie jedes Element einzeln, um festzustellen, ob sie falsch eingegeben oder ungültig sind.

Problem: FTP und SMTP sind nicht in den Standarddefinitionen für webserver60 enthalten.
Problemumgehung: Wenn Sie diese Speicherorte synchronisieren müssen, synchronisieren Sie sie manuell mit dem Metaschlüsselanbieter, d. h. metakey=lm/msftpsvc.

Problem: Geerbte Eigenschaften werden nicht mit einer IIS 6.0-Websitemigration migriert. Ein gängiges Beispiel ist die Authentifizierung auf Serverebene mit allen Websites, die diese Eigenschaft erben. Wenn Sie eine einzelne Website migrieren, erbt sie nun die Einstellungen des neuen Zielservers. Wenn die Zielservereinstellungen nicht identisch sind, kann Ihre Site abgebrochen werden. Dies gilt für jede geerbte Eigenschaft, einschließlich MIME-Zuordnungen, Skriptzuordnungen usw.
Problemumgehung: Verwenden Sie das Flag „metadataGetInherited“, um geerbte Einstellungen auf Siteebene zu kopieren, wenn Sie eine Website in IIS 6.0 synchronisieren oder migrieren. Oder stellen Sie sicher, dass die Servereinstellungen auf Quell- und Zielservern identisch sind, oder legen Sie die Site manuell so fest, dass die richtigen Einstellungen verwendet werden.

Problembehandlung bei der Installation

Wenn während der Installation Probleme auftreten, können Sie den folgenden geeigneten Befehl für Ihre Windows-Version ausführen, um eine Protokolldatei zu erstellen, die Informationen zum Installationsprozess enthält:

msiexec /L msdeployinstall.log /I <path_to_msi>
msiexec /L msdeployinstall.log /I <path_to_msi>

Sie können diese Protokolldatei nach einer fehlgeschlagenen Installation analysieren, um die Ursache des Fehlers zu ermitteln.

Weitere Informationen

Die folgenden zusätzlichen Ressourcen für Web Deploy sind auf IIS.net verfügbar:

© 2007 – 2011 Microsoft Corporation.