Freigeben über


Web Deploy - Automatische Backups

von Elliott Hamai

Einführung

In V3 führt Web Deploy eine automatische serverseitige Backup-Funktion für IIS 7 und höher ein. Wenn automatische Backups auf dem Server konfiguriert sind und ein Benutzer seine Site mit Web Deploy veröffentlicht, wird zunächst ein Backup der Live-Site erstellt und auf dem Server gespeichert, bevor Änderungen an der Site vorgenommen werden. Wenn die Veröffentlichung aus irgendeinem Grund fehlgeschlagen ist oder der Benutzer eine frühere Version seiner Website wiederherstellen möchte, kann er von diesen Backups wiederherstellen, ohne einen Serveradministrator einzuschalten. Diese Funktion muss von einem Serveradministrator aktiviert und konfiguriert werden, bevor sie von einem Endbenutzer genutzt werden kann.

Wenn Backups erstellt werden

Wenn Web Deploy erkennt, dass ein Benutzer mit einem contentPath-, iisApp- oder appHostConfig-Provider veröffentlicht, wird automatisch ein Backup gestartet (sofern auf dem Server aktiviert). In vielen Fällen sind diese Anbieter auch in Veröffentlichungen mit Web Matrix und Visual Studio enthalten. Hier ein Befehlszeilenbeispiel für eine Synchronisierung, die eine Sicherung auf "remoteComputerName" unter Verwendung des Web Deployment Agent einleitet.

msdeploy.exe -verb:sync -source:iisapp=<siteName> -dest:auto,computername=<remoteComputerName>

Wenn der Quellanbieter ein Manifest ist, überprüft Web Deploy alle Anbieter im Manifest, um festzustellen, ob einer der Anbieter im Manifest ein contentPath-, iisApp- oder appHostConfig-Anbieter ist. Wenn dies der Fall ist, wird eine Sicherung für ALLE Anbieter (Ausnahmen siehe Abschnitt "Bekannte Probleme und Beschränkungen") im Manifest initiiert. Wenn es jedoch widersprüchliche Anbieterpfade gibt (z. B. wenn einer auf die Website "foo" und der andere auf die Website "bar" verweist), nimmt Web Deploy keine Sicherung vor.

Was ein Backup enthält

Standardmäßig verwendet Web Deploy alle Anbieter, die Sie für Ihre Veröffentlichung angegeben haben (mit Ausnahme von setAcl, die nie enthaltensind), um die Sicherung zu erstellen. Wenn ich also mit einem iisApp- und dbFullSql-Provider veröffentliche, erstellt Web Deploy ein Backup Ihrer iisApp- und dbFullSql-Provider auf dem Server. Diese enthält alle Inhalte und Konfigurationen der Webanwendung zusammen mit einem Datenbankskript, das für die Neuveröffentlichung der Webanwendung verwendet werden kann. Sie können dieses Standardverhalten ändern, indem Sie die Sicherungseinstellung ExcludedProviders ändern oder vor der Veröffentlichung Überspringungsregeln festlegen.

Diese Backups sind gültige Web Deploy-Pakete, die kopiert und mit Web Deploy auf jedem kompatiblen IIS-Server verwendet werden können.

Konfigurieren der automatischen Sicherungsfunktion auf dem Server (für Serveradministratoren)

Um den Benutzern die automatische Sicherungsfunktion zur Verfügung stellen zu können, muss ein Serveradministrator auf dem Server Platz für die Speicherung dieser Sicherungen bereitstellen. Dieser Speicherplatz kann sich entweder physisch auf dem Server befinden oder auf einer Netzwerkfreigabe, die vom Server aus zugänglich ist.

Der benötigte Speicherplatz hängt davon ab, wie groß die einzelnen Anwendungen sind und wie viele Backups Sie auf dem Server speichern wollen. Wenn Sie den von den Backups belegten Speicherplatz kontrollieren wollen, sollten Sie für jeden Standort einen eigenen Ordner anlegen und den Windows File Server Resource Manager (FSRM) zur Begrenzung der Quoten für einzelne Ordner verwenden. Als bewährte Sicherheitspraxis sollten Sie diese Ordner auch mit ACL versehen, so dass jeder Benutzer nur Lese-/Schreibzugriff auf seinen Ordner hat.

Backups können entweder global auf dem Server aktiviert werden, so dass alle Sites davon profitieren können, oder sie können für jede Site einzeln konfiguriert werden.

Automatisches Konfigurieren der Sicherungseinstellungen auf dem Server faür die globale Verwendung mithilfe von PowerShell

Das PowerShell-Skript zur Konfiguration der Sicherungsfunktion auf Serverebene finden Sie unter %programfiles%\IIS\Microsoft Web Deploy V3\scripts\BackupScripts.ps1. Um es zu laden, navigieren Sie einfach zu diesem Verzeichnis in PowerShell und führen es aus:

. .\BackupScripts.ps1

Dadurch werden die folgenden Funktionen in die Sitzung geladen, die Sie zur Konfiguration von Backups verwenden können.

  1. TurnOn-Backups: Schaltet Backups für den gesamten Server ein/aus.
  2. Configure-Backups: Legt die Standardeinstellungen für Server- oder standortspezifische Backups fest.
  3. Configure-BackupSettingsProvider : Steuert die Servereinstellungen für die Kontrolle des Backup-Verhaltens eines Website-Administrators.
  4. Get-BackupSettings: Abfragen von Server- oder standortspezifischen Sicherungseinstellungen
  5. Zurücksetzen-BackupEinstellungen : Setzt server- oder standortspezifische Backup-Einstellungen zurück

TurnOn-Backups-Funktion:

Ermöglicht es einem Serveradministrator, Backups auf SERVER Ebene ein- oder auszuschalten, ohne standortspezifische Einstellungen zu überschreiben. Standardmäßig sind Backups ausgeschaltet. Auch nach der Aktivierung von Backups müssen Backups auf Server- oder Site-Ebene "aktiviert" werden, damit Backups erstellt werden können.

# Turns on all backup functionality
TurnOn-Backups -On $true

# Turns off all backup functionality
TurnOn-Backups -On $false

Konfigurieren-Backups:

Ermöglicht einem Serveradministrator, das Standardsicherungsverhalten auf server - oder STANDORT spezifischem Bereich zu konfigurieren. Wenn ein Administrator eine Einstellung auf der Serverebene festlegt und eine Site bereits eine Site-spezifische Einstellung festgelegt hat, zieht Web Deploy die Site-spezifischen Einstellungen den Servereinstellungen vor. Wenn ein Serveradministrator möchte, dass die Servereinstellungen Vorrang haben, sollte er/sie die Backup-Einstellungen der Website zurücksetzen, was dazu führt, dass die Website ihre Einstellungen automatisch vom Server erbt.

# Changes default global backup behavior to enabled
Configure-Backups -Enabled $true

# Changes default backup behavior for site "foo" to enabled
Configure-Backups -SiteName "foo" -Enabled $true

# Changes the path of where backups are stored to a sibling directory named "siteName_snapshots".  
# For more information about path variables, see the "backupPath" attribute in the section 
# "Configuring  Backup Settings on the Server for Global usage manually in IIS Config"
Configure-Backups -BackupPath "{SitePathParent}\{siteName}_snapshots"

# Configures default backup limit to 5 backups
Configure-Backups -NumberOfBackups 5

# Configures sync behavior to fail if a sync fails for any reason
Configure-Backups -ContinueSyncOnBackupFailure $false

# Adds providers to skip when performing a backup
Configure-Backups -AddExcludedProviders @("dbmysql","dbfullsql")

BackupSettingsProvider konfigurieren :

Site-Administratoren können ihre Site-spezifischen Backup-Einstellungen ändern, indem sie den BackupSettingsProvider mit Web Deploy verwenden. Mit dieser Funktion kann ein Serveradministrator genau steuern, welche Einstellungen ein Website-Administrator konfigurieren kann.

# Allows a site administrator to enable backups and set the number of backups at the site level
Configure-BackupSettingsProvider -CanSetEnabled $true -CanSetNumBackups $true

# Allows a site administrator to control which providers they want to skip in a backup, as 
# well as whether they can continue a sync after a backup failure
Configure-BackupSettingsProvider -CanSetContinueSyncOnBackupFailure $true -CanAddExcludedProviders $true

Get-BackupSettings

Fragt die Server- oder standortspezifischen Sicherungseinstellungen ab.

# Grabs the global default backup settings
Get-BackupSettings

# Grabs a sites-specific backup settings
Get-BackupSettings -SiteName "foo"

Reset-BackupSettings

Setzt den Server oder die Backup-Einstellungen einer Site zurück. Wenn Sie die Backup-Einstellungen einer Website zurücksetzen, werden sie automatisch von den Backup-Einstellungen des Servers übernommen.

# Resets the global default backup settings
Reset-BackupSettings

# Resets a sites backup settings
Reset-BackupSettings -SiteName "foo"

Backup-Einstellungen auf dem Server für die globale Verwendung manuell in IIS Config konfigurieren

Globale Sicherungseinstellungen

Die folgenden globalen Backup-Einstellungen können direkt im IIS-Konfigurationssystem unter konfiguriert werden%windir%\system32\inetsrv\config\applicationhost.config.

  • enabled - (Standardwert = "false") Steuert, ob Backups eingeschaltet sind oder nicht.

  • backupPath - (Standard = "{sitePathParent}{siteName}_snapshots") Wo auf dem Server die Backups gespeichert werden. Es unterstützt auch Pfadersatzvariablen für "{sitePathParent}" und "{siteName}", die zur Laufzeit ermittelt werden.

    • sitePathParent - Der physische Dateipfad des übergeordneten Inhalts Ihrer Website. Wenn sich die Anwendung Ihrer Website beispielsweise unter c:\inetpub\wwwroot\siteNamebefindet, lautet c:\inetpub\wwwroot\"sitePathParent" .
    • siteName - Der Name Ihrer Website.

Beispiel: Das Standardschema legt diesen Pfad auf "{sitePathParent}{siteName}_snapshots" fest, so dass jedes Backup in einem Unterordner Ihres Website-Inhalts und nicht in diesem selbst abgelegt wird.

WARNUNG:Stellen Sie sicher, dass Ihr backupPath nicht unter dem Inhaltspfad Ihrer Website liegt, da sonst Ihre Backups bei jeder Veröffentlichung gelöscht werden.

  • numberOfBackups - (Standard = "4") Die Anzahl der Backups pro Website, die auf dem Server gespeichert werden. Wenn die maximale Anzahl von Backups erstellt wurde, wird das älteste Backup gelöscht.
  • continueSyncOnBackupFailure - (Standard = "true") Ermöglicht es Benutzern, eine Synchronisierung entweder fehlschlagen zu lassen oder fortzusetzen, wenn eine Sicherung aus irgendeinem Grund nicht abgeschlossen werden kann.
  • excludedProviders - (Standard = Leeres Set) Eine Liste von Web Deploy-Anbietern, die immer von einem Backup ausgeschlossen werden sollean. Wenn in Ihrer Umgebung beispielsweise Datenbanksicherungen separat verwaltet werden, verwenden Sie diese Einstellung, um Datenbanksicaherungen als Teil von Web Deploy-Sicherungen auszuschließen, indem Sie dbFullSQLProvider ausschließen Weitere Einzelheiten finden Sie im Abschnitt "Steuern, was eine Sicherung enthält".

Hinweis

Obwohl Web Deploy es Ihnen technisch ermöglicht, von fast allen Providern ein Backup zu erstellen, gibt es einige Provider, die aufgrund ihrer Beschaffenheit nicht sinnvoll wiederhergestellt werden können. Grundsätzlich fallen alle Anbieter, die nur "Set-only"-Anbieter und keine "Synchronisations"-Anbieter sind, in diese Kategorie. Nachfolgend finden Sie eine Liste der integrierten Anbieter, deren Aufnahme in die Einstellung ExcludedProviders empfohlen wird:

  • appHostAuthOverride
  • appPoolEnable32Bit
  • appPoolNetFx
  • appPoolPipeline
  • erstellenApp
  • setAcl
  • DBSqlPackage (wird nicht standardmäßig mit Web Deploy installiert, ist aber hier aufgeführt, weil es derzeit nicht von der Sicherungsfunktion unterstützt wird)
  • backupSettingsProvider - (Standard: Alle Attributeinstellungen sind "false") Gibt einem Systemadministrator die Kontrolle darüber, welche Sicherungseinstellungen von einem Website-Administrator festgelegt werden können. Sie können Website-Administratoren erlauben, jede der oben genannten Einstellungen "enabled", "numberOfBackups", "continueOnBackupFailure" und "excludedProviders" für ihre Website zu steuern. Dies kann durch die Einstellung der Eigenschaften "canSetEnabled", "canSetNumberOfBackups" usw. auf true erfolgen, wie im folgenden Beispiel angegeben.

Vollständige Angaben zu diesen Einstellungen und den zulässigen Werten finden Sie unter BackupManagerSchema%windir%\system32\inetsrv\config\schema\BackupManagerSchema.xml im IIS-Konfigurationssystem.

Nachstehend finden Sie eine Beispielkonfiguration, die unter<system.webServer> (weitere Einzelheiten finden Sie im vollständigen Schema) hinzugefügt werden kann. Sie müssen nicht alle nachstehenden Einstellungen angeben, da sie alle über Standardeinstellungen im Schema verfügen, aber sie werden hier als Beispiel angegeben.

<wdeploy>
    <backup enabled="true"
            numberOfBackups="2"
            backupPath="{sitePathParent}\{siteName}_siteBackups"
            continueSyncOnBackupFailure="false">
     <excludedProviders>
        <provider name="dbFullSql" />
     </excludedProviders>
     <backupSettingsProvider
            canSetEnabled="true"
            canSetNumberOfBackups="true"
            canSetContinueSyncOnBackupFailure="true"
            canSetExcludedProviders="true" />
    </backup>
</wdeploy>

Nehmen wir an, wir haben eine Website mit dem Namen "foo", die auf c:\foo\wwwroot dem Server liegt. Die obige Konfiguration weist Web Deploy an, Folgendes zu tun:

  1. Aktivieren Sie die SicherungsfunktionSichern Sie maximal 2 Backups.
  2. Speichern Sie jede Sicherungsdatei in einem Ordner unter c:\foo\foo\_siteBackups.
  3. Eine Veröffentlichung scheitert, wenn ein Sicherungsvorgang aus irgendeinem Grund fehlschlägt.
  4. Schließen Sie das Sichern von SQL-Datenbanken mit dem dbFullSql-Anbieter aus.
  5. Erlauben Sie Website-Administratoren, den backupSettingsProvider zu verwenden, um die Einstellungen "enabled", "numberOfBackups", "continueOnBackupFailure" und "excludedProviders" für ihre Website zu konfigurieren.

Konfigurieren der Sicherungseinstellungen auf dem Server für bestimmte Standorte

Mit der automatischen Sicherungsfunktion können Sie auch standortspezifische Einstellungen festlegen, indem Sie jede Sicherungseinstellung mit einem <location> Tag in der Datei applicationHost.config angeben. Wenn eine Einstellung nicht im Location-Tag angegeben ist, wird sie von den Servereinstellungen übernommen. Hier ein Beispiel dafür, wie die Einstellungen für die Sicherung einer Website aussehen können:

<location path="siteName">
    <system.webServer>
        <wdeploy>
            <backup enabled="true" numberOfBackups="4">
                <excludedProviders>
                    <clear />
                    <provider name="dbfullsql" />
                </excludedProviders>
            </backup>
        </wdeploy>
    </system.webServer>
</location>

Wenn Sie Site-Administratoren die Möglichkeit geben möchten, ihre eigenen Site-spezifischen Einstellungen festzulegen, müssen Sie die "canSet*"-Attribute des BackupSettingsProvider-Elements in den Server-Backup-Einstellungen (nicht in den Site-Backup-Einstellungen) konfigurieren.

Sicherheitserwägungen für automatische Backups

Bei der Speicherung dieser Backups auf dem Server sollte sichergestellt werden, dass jeder Benutzer nur auf seine eigenen Inhalte Zugriff hat. Web Deploy konfiguriert standardmäßig (während einer vollständigen Installation) die Delegationsregel für BackupManager, um sicherzustellen, dass es sich als der Benutzer ausgibt, der beim Erstellen von Backups veröffentlicht. Dies bedeutet, dass das veröffentlichende Benutzerkonto auch Schreibrechte für das Sicherungsverzeichnis haben muss.

Wenn Sie die Identität des Endbenutzers nicht für die Erstellung von Backups verwenden möchten, können Sie diese Delegationsregel einfach löschen und Web Deploy wird die Identität des WMSVC-Dienstes verwenden, um in das Backup-Verzeichnis zu schreiben.

Hinweis

  • Delegationsregeln gelten nur für nicht-administrative Benutzer, die eine Verbindung über WMSvc herstellen. Für Administratoren (die sich über den Web Deploy-Agenten verbinden) wird ihre eigene Identität verwendet.
  • Wenn Sie Delegierungsregeln manuell konfigurieren möchten, führen Sie unser AddDelegationRules.ps1-Skriptaus.
  • Die Backup-Funktion verfügt über 2 neue Provider-Delegationsregeln (BackupSettings und BackupManager), wie unten dargestellt.

Screenshot of Management Service Delegation feature page with Backup Settings and Backup Manager.

Konfigurieren von Backup-Einstellungen auf Server-Ebene (für Site-/Server-Administratoren)

Server-Administratoren können einen Teil der Backup-Verwaltung an Site-Administratoren delegieren. Falls zulässig, können Site-Administratoren das Backup-Verhalten für ihre eigenen Sites konfigurieren.

Hinweis

msdeploy.exe befindet sich unter %programfiles%\IIS\Microsoft Web Deploy V3

Auflistung der Backup-Einstellungen der Website: Führen Sie einen "Dump"-Vorgang durch und übergeben Sie dabei den Namen Ihrer Website an den Anbieter backupSettings. Mit dem Flag -xml wird auch angegeben, ob die Einstellung schreibbar ist oder nicht.

msdeploy.exe -verb:dump -source:backupSettings=<siteName> -xml

Konfigurieren Sie die Backup-Einstellungen: Führen Sie eine "Synchronisierung" durch und geben Sie dabei den Namen Ihrer Website sowie alle Einstellungen an, die Sie ändern möchten.

msdeploy.exe -verb:sync -source:backupSettings -dest:backupSettings=<siteName>,enabled="True",numberOfBackups=3

Hinweis

Ihr Server-Administrator muss die Delegation dieser Einstellungen erlauben, bevor Sie sie ändern können.

Steuerung des Fehlerverhaltens: Y Sie können steuern, ob die Veröffentlichung im Falle eines Sicherungsfehlers fortgesetzt werden soll oder nicht, indem Sie die Sicherungseinstellung "continueSyncOnBackupFailure" ändern. Wenn "continueSyncOnBackupFailure" auf "false" gesetzt ist und ein Backup fehlschlägt, schlägt die Veröffentlichung fehl und es werden keine Website-Inhalte oder Datenbanken geändert.

Hinzufügen eines Anbieters zur Liste der Anbieter, die von einer Sicherung ausgeschlossen werden sollen: Geben Sie eine durch ein Semikolon getrennte Liste von Anbietern an. Sie können die Option addExcludedProviders verwenden, um Anbieter an die globale Liste anzuhängen.

msdeploy.exe -verb:sync -source:backupSettings -dest:backupSettings=<siteName>,addExcludedProviders="dbFullSql;dbMySql"

Setzen Sie die Einstellungen für die Standortsicherung auf die Server-Standardwerte zurück: Führen Sie einen "Löschvorgang" durch.

msdeploy.exe -verb:delete -dest:backupSettings=<siteName>

Veröffentlichung auf einem Backup-fähigen Server (für Webentwickler)

Automatisches Erstellen von Sicherungskopien

Wenn ein Benutzer mit einem der unterstützten Anbieter (iisApp, appHostConfig, contentPath) auf einem Server mit Backup-Funktion veröffentlicht, wird automatisch ein Backup erstellt, bevor die Daten angewendet werden, sofern das Backup nicht übersprungen wird. Für den Endnutzer sind keine besonderen Maßnahmen erforderlich.

Manuelles Erstellen einer Sicherung

Ein Benutzer kann die Erstellung eines Backups manuell erzwingen, indem er den BackupManager-Provider verwendet, sofern Backups für die Site, auf der sie veröffentlicht werden, konfiguriert und aktiviert sind. Es gibt zwei Methoden, um eine manuelle Sicherung zu erstellen.

  1. Angabe des Pfads der Ziel-Site - Es wird ein einfaches iisApp-Backup Ihrer Ziel-Site erstellt.

    msdeploy.exe -verb:sync -source:backupManager -dest:backupManager=siteName
    
  2. Angabe einer Quellmanifestdatei - Damit können Sie eine Sicherung von mehreren Anbietern erstellen (z. B. iisApp, dbFullSql usw.).

    msdeploy.exe -verb:sync -source:backupManager=manifest.xml -dest:backupManager=siteName
    

Ein Beispiel für eine einfache Manifestdatei für die zweite Option könnte etwa so aussehen:

<?xml version="1.0" encoding="utf-8"?>
<m>
  <iisApp path="siteName" />
  <dbFullSql path="connectionString" />
</m>

Überspringen der Sicherung während der Veröffentlichung

Wenn ein Kunde verhindern möchte, dass ein Backup erstellt wird, kann er entweder Backups auf dem Server als dauerhafte Einstellung mit dem backupSettings-Anbieter deaktivieren oder die Ausführung der Backup-Regel auf dem Server für jede einzelne Veröffentlichung unterbinden. Das folgende Beispiel zeigt, wie Sie die Ausführung der Backup-Regel während einer Veröffentlichung deaktivieren können:

msdeploy.exe -verb:sync -source:iisapp=<siteName> -dest:auto,computername=<remoteComputerName> -disablerule:BackupRule

Verwaltung von Backups (für Webentwickler/Site-Administratoren)

Der BackupManager-Anbieter bietet Kunden die Möglichkeit, Sicherungen aufzulisten, wiederherzustellen und zu löschen. Hier sind einige Beispiele dafür, wie dies geschieht:

Auflisten von Sicherungen für eine Site: Führen Sie einen "Dump"-Vorgang durch, um alle Backups für eine Site anzuzeigen.

msdeploy.exe -verb:dump -source:backupManager=<siteName>

Wiederherstellung eines bestimmten Backups für eine Site: Führt einen "Sync"-Vorgang durch, um eine Sicherung anzuwenden

msdeploy.exe -verb:sync -source:backupManager -dest:backupManager=<siteName>/<backupFileName>

Wiederherstellen des letzten Backups für eine Site:

msdeploy.exe -verb:sync -source:backupManager -dest:backupManager=<siteName>,useLatest=true

Wiederherstellen der letzten Sicherung für eine Site, die auch eine Datenbank enthält:Es wird davon ausgegangen, dass die letzte Sicherung auch eine Datenbanksicherung enthält. Die Einstellung connectionString wird verwendet, um eine Verbindung zu der Datenbank herzustellen, die Sie wiederherstellen möchten, und ist für die Wiederherstellung jeder Sicherung mit einer Datenbank erforderlich, es sei denn, Sie wenden eine Überspringungsregel an, um die Datenbankwiederherstellung zu überspringen.

msdeploy.exe -verb:sync -source:backupManager -dest:backupManager=<siteName>,useLatest=true,connectionString=<connectionString>

Wiederherstellen des letzten Backups für eine Site ohne Überschreiben von App_Data mit Hilfe von Skips:

msdeploy.exe -verb:sync -source:backupmanager -dest:backupmanager=<siteName>,uselatst=true -skip:xpath=dirPath[@path='App_Data']

Löschen einer Sicherung für eine Site:

msdeploy.exe -verb:delete -dest:backupManager=<siteName>/<backupFileName>

Bekannte Probleme und Beschränkungen-

Es gibt mehrere Szenarien, in denen Web Deploy nicht automatisch ein Backup für Sie erstellt, selbst wenn es auf dem Server aktiviert ist:

  1. Der Kunde veröffentlicht mit einer früheren Version von Web Deploy als V3 RC.
  2. Auf dem Server ist nicht mindestens Web Deploy V3 RC installiert.
  3. In einem Manifest ist mehr als eine Datenbank angegeben - Web Deploy unterstützt nur die Sicherung einer einzigen Datenbank pro Veröffentlichung.
  4. Der Pfad des von Ihnen verwendeten Anbieters ist kein relativer Site-Pfad - Der contentPath-Anbieter akzeptiert sowohl physische Dateipfade als auch relative Site-Pfade. Wenn ein physischer Pfad angegeben wird, zählt Web Deploy diesen Anbieter nicht für die Initiierung der Sicherung. Der apphostConfig-Anbieter akzeptiert einen leeren Pfad. Wenn ein leerer Pfad angegeben wird, erstellt Web Deploy überhaupt kein Backup.
  5. Widersprüchliche relative Pfade in einem Manifest - Wenn es mehrere Anbieter in einem Manifest gibt, die widersprüchliche relative Site-Pfade haben, nimmt Web Deploy keine Sicherung vor. Wenn Sie beispielsweise mit mehreren iisApp-Providern auf verschiedenen Sites veröffentlichen - einer zeigt auf Site "foo", der andere auf Site "bar" -, erstellt Web Deploy kein Backup.

Andere bekannte Probleme:

  1. Installation von Web Deploy V2 bricht die Delegationsregel für BackupSettings -- Wenn Sie V2 nach V3 installieren, funktioniert die Delegationsregel für BackupSettings nicht mehr, wenn sie für die Ausführung mit dem Standardbenutzer WDeployConfigWriter konfiguriert wurde. Um dies zu umgehen, führen Sie einfach das Skript V3 AddDelegationRule.ps1 (zu finden unter%programfiles%\IIS\Microsoft Web Deploy\Scripts) von PowerShell aus.