Microsoft Web Deploy v3 Readme
von Harsh Mittal
Übersicht
Das Web Deploy ist ein Tool zur Vereinfachung der Migration, Verwaltung und Bereitstellung von Webanwendungen, Websites und Servern. Sie kann verwendet werden, um eine Website zu verpacken, einschließlich Inhalt, Konfiguration, Zertifikate und Datenbanken. Sie kann verwendet werden, um zwischen IIS 6.0, IIS 7.x und IIS8.0 zu synchronisieren oder von IIS 6.0, IIS7.x zu IIS 7.x und höher zu migrieren. Die erstellten Pakete können für Versionsverwaltung, Sicherung oder Bereitstellung verwendet werden.
Features
Die Webbereitstellung umfasst die folgenden wichtigen Features:
Paketwebsites 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 und IIS7: Der Migrationsvorgang bietet Administratoren eine Möglichkeit zum Migrieren von Websites oder ganzen Servern von IIS 6.0 zu IIS 7 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/IIS8.0 Der Synchronisierungsvorgang bietet Administratoren eine Möglichkeit, einen Standort oder Server schnell zu synchronisieren und Änderungen an vorhandenen Websites 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 7.0 und höher 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. Das Feature "Automatische Momentaufnahme" ermöglicht Websiteadministratoren auch, einige der oben genannten Aufgaben selbst zu bedienen.
Die Analyse von Abhängigkeiten von IIS 6.0 und höher Ermöglicht 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 erweitertes 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 "-ausführlich" 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.
Einfaches Skripting über PowerShell: Allgemeine Webbereitstellungsaufgaben können mithilfe von PowerShell-Cmdlets automatisiert werden.
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.
Wird heruntergeladen und installieren
Es gibt zwei separate herunterladbare Pakete für das Tool; Sie müssen das entsprechende Paket herunterladen. Sie können die Versionen (x86) oder (x64) herunterladen.
In diesem Release behobene Probleme:
Änderung: In früheren Versionen von Web Deploy würde der tempAgent-Dienst immer auf Port 80 ausgeführt. In Web Deploy v3 RC kann dieser Port geändert werden, indem der neue Port im Computername-Argument mithilfe des Formats computername=serverName:####, tempagent=true angegeben wird (wobei #### die zu verwendende Portnummer ist)
Änderung: Ein Problem mit Web Deploy wurde behoben, bei dem die Änderungsanzahl bei -whatif-Vorgängen bei Verwendung der Option "-useCheckSum" nicht korrekt war.
Änderung: Web Deploy V3 deaktiviert proxyeinstellungen automatisch. Dies war zuvor ein Problem für einige Clients, die zum Öffnen von Internet Explorer und zum Deaktivieren der Proxyeinstellungen vor dem Starten einer Synchronisierung erforderlich waren.
Änderung: Unterstützung für IPv6-style in zertifikatssynchronisierungslogik hinzugefügt. Frühere Versionen konnten IPv6-style nicht ordnungsgemäß synchronisieren.
Änderung: Beim Synchronisieren eines untergeordneten Registrierungsschlüssels mit einem Server, auf dem der übergeordnete Registrierungsschlüssel nicht vorhanden ist, werden nun die übergeordneten Registrierungsschlüssel bis zum untergeordneten Schlüssel erstellt (ohne Werte), anstatt dass die Synchronisierung fehlschlägt. Wenn beispielsweise der Registrierungsschlüssel HKEY_LOCAL_MACHINE\SOFTWARE\MySoft\TestWeb1 synchronisiert wird, auf dem der MySoft-Schlüssel nicht auf dem Zielcomputer vorhanden ist, wird der MySoft-Schlüssel auf dem Zielcomputer erstellt, der die Synchronisierung zulässt.
Änderung: In einigen Fällen wurde die Web deploy-Veröffentlichung von geerbten Berechtigungen für den Stammordner der Website entfernt. Web Deploy V3 behebt dieses Problem.
Bekannte Probleme
Problem: Web Deploy v3-Upgradeunterbrechungen SQLite-Synchronisierungen, die mit Web Deploy v2 funktionieren
Die ausführbaren Standardkonfigurationsdateien von Web Deploy v3 (msdeploy.exe.config und msdepsvc.exe.config) wurden von .Net 2.0 auf .Net 4.0 aktualisiert, was zu diesem Bruch führt.
Problemumgehung:
- SQLite verfügt über eine kompatible .Net 4-Version. Wenn Sie sqlite3.exe aus dieser Version in das Verzeichnis "%ProgramFiles%\IIS\Microsoft Web Deploy V3" kopieren, wird das Problem behoben.
- Ändern Sie die standardmäßige .Net-Version für WebDeploy V3 msdeploy.exe.config in .Net 2.0 wie unten dargestellt
<configuration>
<startup>
<supportedRuntime version="v2.0.50727" />
<supportedRuntime version="v4.0" />
</startup>
</configuration>
Problem: Der Web Deploy Agent-Dienst funktioniert nicht mit lokalen Benutzerkonten, die nicht das Administratorbenutzerkonto sind, sondern Mitglieder der Gruppe "Administratoren". ERROR_USER_NOT_ADMIN Fehler wird zurückgegeben.
Der Remote-Agent-Dienst akzeptiert entweder integrierte Administrator- oder Domänenadministratoranmeldeinformationen , alle anderen Administratoranmeldeinformationen funktionieren nicht und verursachen diesen Fehler.
Problemumgehung:
Verwenden Sie integriertes Administratorkonto oder Domänenbenutzerkonto (Teil der Administratorgruppe auf dem lokalen Computer). Der Remote-Agent-Dienst akzeptiert entweder integrierte Administrator- oder Domänenadministratoranmeldeinformationen. Wenn Sie über ein Nicht-Domänen-Setup verfügen und ein anderes Konto verwenden möchten, das von diesem integrierten Administrator verwendet werden soll, gehen Sie wie folgt vor:
- Erstellen Sie eine separate Benutzergruppe MSDepSvcUsers auf Remotecomputern.
- Crate an local account A on both local & remote computer.
- Fügen Sie A zu MSDepSvcUsers auf einem Remotecomputer hinzu.
- Mit Konto A können Sie veröffentlichen, ohne ein integriertes Administratorkonto verwenden zu müssen.
Problem: Einige Verwaltungsdienstdelegierungsregeln funktionieren nach dem Upgrade von Web Deploy auf Web Deploy 3.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:
· Wenn Ihre Delegierungsregeln bereits überschrieben wurden, erstellen Sie die betroffenen Regeln manuell neu.
Problem: Kann nicht auf einer Website veröffentlicht werden, die mit dem PowerShell-Skript "SetupSiteForPublish.ps1" erstellt wurde oder für die Web Deploy-Veröffentlichung über das "Configure for Web Deploy Publishing..." konfiguriert wurde UI
Das Skript für die Websiteerstellung sowie die Benutzeroberfläche zum Konfigurieren von Web Deploy für eine vorhandene Website legt die Veröffentlichungs-URL auf https://myserver:8172/msdeploy.axd
. Dieser Computername ist in der Regel innerhalb eines Netzwerks erreichbar. Es ist jedoch häufig nicht erreichbar von außerhalb des Netzwerks, daher sollte sie durch einen öffentlichen DNS-Namen ersetzt werden.
Problemumgehungen:
- Aus dem Skript: Das Skript warnt nicht über diesen Fehler. Ersetzen Sie die URL durch die richtige (wie unten) in der generierten Einstellungsdatei.
- Geben Sie auf der Benutzeroberfläche den öffentlichen DNS-Namen in das Feld "URL für die Verbindung des Veröffentlichungsservers angeben" ein, z. B. anstelle von
https://myserver:8172/msdeploy.axd
, geben Sie einhttps://some.publicDnsName.com:8172/msdeploy.axd
.
Problem: Das mit Web Deploy V3 erstellte Paket funktioniert nicht mit WebDeploy V2. Es führt zu System.NullReferenceException.
Problemumgehungen:
- Upgrade des Zielcomputers auf Web Deploy v3
- Verwenden Sie Web Deploy V2, um ein Paket zu erstellen.
Problem: Die Web Deploy UI im IIS-Manager gibt einen Fehler "Objekt des Typs kann nicht casten" angezeigt werden
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: Wenn Sie einen IIS 6.0-Computer mit vielen Websites synchronisieren (was dazu führt, dass die Metabasis über 500MB beträgt), kann das Tool hängen und nicht mehr reagieren.
Problemumgehung:
Erstellen Sie eine Liste der Websites, und synchronisieren Sie jede Website einzeln.
Problem: Wenn Sie von einem Computer mit einem Remotecomputer synchronisieren, auf dem 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 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 zu einer Zielwebsite befindet %systemdrive%\wwwroot
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 die %systemdrive%
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 versuchen, eine vorhandene Paketdatei zu packen, 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 verschobt die physischen Dateien für Skriptzuordnung en und Elemente, auf die in der Einschränkungsliste der Webdiensterweiterung verwiesen wird, 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 zusätzliche Installation erfordert).
- FrontPage-Servererweiterungen (die standardmäßig nicht in Windows Server 2008 enthalten sind und zusätzliche Installation erfordern).
Problemumgehung:
Fügen Sie manuell alle Skriptzuordnung en oder Dateien hinzu, für die keine Installation in einer Minifestdatei erforderlich ist. Weitere Informationen zum Erstellen von Maifestdateien 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 Maifestdatei verfügen, die auf eine ungültige Quelle verweist, wird möglicherweise keine Fehlermeldung angezeigt.
Problemumgehung:
Wenn die erwartete Ausgabe bei Verwendung einer Maifestdatei 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-Websitzemigration 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 Website abgebrochen werden. Dies gilt für jede geerbte Eigenschaft, einschließlich MIME-Karten, Skriptzuordnungen usw.
Problemumgehung:
Verwenden Sie das Flag "metadataGetInherited", um geerbte Einstellungen auf Websiteebene 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 Website 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 die Webbereitstellung sind auf IIS.net verfügbar:
- Web Deploy Walkthroughs. Beschreibt, wie Das Web Deploy heruntergeladen und installiert wird, wie sie für Synchronisierungs- oder Migrationsvorgänge und vieles mehr verwendet wird.
- Besuchen Sie außerdem unbedingt den Blog des Webbereitstellungsteams, um Tipps, Tricks und neueste Informationen zum Tool zu erhalten.