Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применяется к: Internet Information Services (IIS) 7.0, Internet Information Services (IIS) 7.5, Internet Information Services (IIS) 8.0
В некоторых распространенных случаях ошибок Web Deploy отображает сообщение об ошибке. В этой статье объясняется, почему отображается сообщение об ошибке и приведены шаги, чтобы избежать ошибок. Сообщение об ошибке может отличаться в зависимости от способа запуска веб-развертывания. Например, Microsoft WebMatrix выбирает отображение пользовательских сообщений об ошибках. Сообщения об ошибках, перечисленные в следующих нескольких разделах, отображаются в командной строке и API msdeploy.exe :
Diagnosis
Web Deploy может не найти исполняемый файл mysqldump.exe. Этот исполняемый файл необходим для развертываний базы данных MySQL.
Решение
Вы можете попробовать одно из следующих обходных решений:
- Поместите исполняемый файл в
C:\Program Files\MySQL\MySQL Server\bin
. - Настройте ключ реестра, чтобы указать на исполняемый
REG_SZ
файл. Например, установитеHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\IIS Extensions\MSDeploy\<version>\MySqlDumpPath
вc:\mysqldump\mysqldump.exe
.
Diagnosis
Не удалось найти удаленное приложение. Эта ошибка может возникать, если вы пытаетесь выполнить дамп "remotesite/remoteapp", где "remoteapp" фактически не существует.
Решение
Укажите имя удаленного приложения, которое на самом деле существует.
Diagnosis
Эта ошибка может возникнуть, если вы попытаетесь выполнить SetAcl
для файла или папки, которых не существует.
Решение
Укажите файл или папку, которая существует.
Diagnosis
Имя компьютера неправильно введено или компьютер недоступен.
Решение
Попробуйте проверить допустимость имени компьютера. Попробуйте пропинговать компьютер вручную.
Diagnosis
Веб-служба управления или удаленный агент не установлены или недоступны на удаленном компьютере.
Решение
Убедитесь, что служба удаленного агента или служба веб-управления запущена на удаленном компьютере в зависимости от того, к к чему вы подключаетесь. Вы можете выполнить net start wmsvc
и net start msdepsvc
на удаленном компьютере, чтобы убедиться, что эти службы запущены. Кроме того, убедитесь, что брандмауэр не прерывает соединение с целевым устройством.
Diagnosis
Этот код ошибки может отображаться из-за различных причин. Обычно это указывает на проблему проверки подлинности или авторизации и может произойти из-за любой из следующих причин:
- Пользователь не существует.
- Пользователь не имеет доступа диспетчера IIS к сайту при подключении с помощью веб-службы управления.
- Сайт не существует.
- Пароль неверный.
Решение
Чтобы подключиться с помощью веб-службы управления, выполните следующие действия.
- Убедитесь, что имя пользователя и пароль верны.
- Убедитесь, что сайт существует.
- Убедитесь, что у вас есть разрешения диспетчера IIS для области сайта.
Чтобы подключиться с помощью службы удаленного агента, выполните следующие действия.
Убедитесь, что имя пользователя и пароль верны.
Убедитесь, что указанная учетная запись пользователя входит в группу "Администраторы" на удаленном компьютере.
Примечание
Если вы не используете встроенный администратор, создайте новую группу с именем "MSDepSvcUsers" и добавьте нового администратора в эту группу.
Убедитесь, что сайт существует.
Diagnosis
Код ERROR_USER_NOT_ADMIN отображается, если вы пытаетесь подключиться к службе удаленного агента, но не предоставили соответствующие учетные данные администратора.
Решение
Служба удаленного агента принимает встроенные учетные данные администратора или администратора домена. Если у вас есть недоменная настройка и требуется использовать учетную запись, отличной от встроенного администратора, сделайте следующее:
- Создайте отдельную группу
MSDepSvcUsers
пользователей на удаленном компьютере. - Создайте локальную учетную запись
A
как на локальном, так и на удаленном компьютере. - Добавьте
A
наMSDepSvcUsers
на удаленный компьютер. - Использование учетной записи
A
для публикации позволяет публиковать без необходимости встроенной учетной записи администратора.
Diagnosis
Сертификат, представленный конечной точкой веб-развертывания, не является доверенным или недопустимым. Обычно это происходит, если удаленный сервер имеет самозаверяющий сертификат для службы удаленного агента или веб-службы управления.
Решение
Установите доверенный сертификат в конечной точке или попробуйте обойти проверку сертификата.
В командной строке msdeploy.exe передайте
-allowUntrusted
флаг.В пользовательском интерфейсе публикации Visual Studio проверьте
Allow Untrusted
.В пакете развертывания Visual Studio (например, MyApp.deploy.cmd) укажите флаг
-allowUntrusted
.Добавьте
<AllowUntrustedCertificate>true</AllowUntrustedCertificate>
в pubxml-файл:<PropertyGroup> <AllowUntrustedCertificate>true</AllowUntrustedCertificate> </PropertyGroup>
Diagnosis
Прокси-шлюз не позволяет веб-развертыванию взаимодействовать с удаленной конечной точкой веб-развертывания.
Решение
Веб-развертывание не считывает параметры системного прокси-сервера. В качестве обходного решения попробуйте отключить системный прокси-сервер, выполнив следующие действия:
- Запустите Internet Explorer.
- Последовательно выберите пункты Инструменты>Параметры.
- Выберите "Подключение".
- Выберите параметры локальной сети.
- Отключите все флажки.
Diagnosis
Указанный сайт IIS не существует.
Решение
Убедитесь, что указанный сайт действительно существует. Иногда эта ошибка может возникать, если вы указали /
вместо \
URL-адреса сайта. Попробуйте изменить /
на \
.
Diagnosis
Указанное приложение не существует в IIS.
Решение
Проверьте диспетчер IIS, чтобы убедиться, что вы правильно указали имя пути приложения.
ERROR_USER_NOT_AUTHORIZED_FOR_DBFULLSQL
ОШИБКА_ПОЛЬЗОВАТЕЛЬ_НЕ_АВТОРИЗОВАН_ДЛЯ_DBMYSQL (ERROR_USER_NOT_AUTHORIZED_FOR_DBMYSQL)
ERROR_USER_NOT_AUTHORIZED_FOR_SETACL (Пользователь не имеет полномочий для установки ACL)
ERROR_USER_NOT_AUTHORIZED_FOR_APPPOOLNETFX
ERROR_USER_NOT_AUTHORIZED_FOR_APPPOOLPIPELINE,
ОШИБКА_ПОЛЬЗОВАТЕЛЬ_НЕ_АВТОРИЗОВАН_ДЛЯ_RECYCLEAPP
ERROR_USER_NOT_AUTHORIZED_FOR_CREATEAPP,
ОШИБКА_ПОЛЬЗОВАТЕЛЬ_НЕ_АВТОРИЗОВАН_ДЛЯ_CONTENTPATH
Группа ошибок, перечисленных ниже, делится следующим диагнозом, разрешением и обходным решением:
Diagnosis
Пользователь, не являющийся администратором, пытался выполнить операцию с поставщиком веб-развертывания, для которого пользователь в настоящее время не авторизован.
Решение
Настройка веб-развертывания по умолчанию создает правила делегирования служб управления, которые позволяют неадминистраторам выполнять операции с этим поставщиком. Убедитесь, что правило делегирования, необходимое для этого поставщика, настроено правильно.
Обходное решение
В разделе "Программы> панель управления выполните восстановление в Веб-развертывании. Кроме того, создайте правило делегирования вручную.
Diagnosis
Пользователь, не являющийся администратором, попытался выполнить операцию с поставщиком веб-развертывания, для которого пользователь в настоящее время не авторизован. Этот код ошибки отображается, если вы пытаетесь выполнить операцию с поставщиком, для которого настройка веб-развертывания не создает правило делегирования.
Решение
При установке Web Deploy не создается правило делегирования для этого поставщика. Создайте правило делегирования вручную.
Diagnosis
Эта ошибка может возникать при попытке подключиться через службу веб-управления как неадминистратор:
- Чтобы подключиться с помощью учетных данных диспетчера IIS, идентичность службы веб-управления (как правило, Локальная служба) требует разрешений на полный контроль в корневой папке сайта, чтобы иметь возможность создавать файлы и папки в ней.
- Чтобы подключиться с помощью учетных данных Windows, пользователю Windows требуется полный контроль над корневой папкой сайта, чтобы иметь возможность создавать файлы и папки.
Решение
Предоставьте соответствующей учетной записи полный контроль над корневой папкой сайта. Кроме того, сделайте следующее:
- Запустите IIS Manager и нажмите правой кнопкой мыши на соответствующем сайте.
- Нажмите "Развернуть">"Настроить" для публикации при помощи Web Deploy.
- Выберите соответствующее имя пользователя.
- Щелкните Настройка.
Diagnosis
Удостоверение RunAs, указанное для правила делегирования createApp, должно иметь доступ на запись к файлу конфигурации сервера IIS applicationHost.config .
Решение
Предоставьте доступ на запись к файлу applicationHost.config сервера IIS для идентификатора RunAs правила делегирования createApp.
Diagnosis
Указана недопустимая строка подключения к базе данных, что привело к некорректной работе провайдера dbFullSql
или dbMySql
. Эта ошибка может произойти, если строка подключения неправильно сформирован (например, Se v ver=localhost;...) или если строка подключения содержит ключи, которые целевой сервер базы данных не распознает.
Решение
Убедитесь, что строка подключения является допустимым.
Diagnosis
Произошел сбой выполнения скрипта SQL.
Решение
Эта ошибка может произойти по многим причинам. Дополнительные сведения см. в статье о веб-разработке в Windows.
Diagnosis
Поставщик dbFullSql
веб-развертывания требует объектов управления серверами версии 10 или выше.
Решение
Поставщик SQL не может работать из-за отсутствия зависимости. Убедитесь, что установлены объекты управления Microsoft SQL Server (версия 10 или выше).
Diagnosis
Web Deploy первоначально обнаружил объект для удаления, но когда он попытался удалить его, объект отсутствовал.
Решение
Убедитесь, что при синхронизации нет других внешних процессов, изменяющих целевой объект.
Diagnosis
Версия исходного пула приложений отличается от версии целевого пула приложений.
Решение
Вы можете вручную изменить версии пула приложений, чтобы они соответствовали между источником и назначением, или использовать apppoolnetfx
провайдер для автоматического выполнения.
Diagnosis
Центральное хранилище сертификатов нельзя использовать в текущей конфигурации.
Решение
Необходимо убедиться, что вы используете IIS 8 или более поздней версии. Если вы работаете msdeploy.exe на 64-разрядном сервере, убедитесь, что вы используете 64-разрядную версию исполняемого файла.
Diagnosis
Централизованное хранилище SSL-сертификатов либо не установлено, либо настроено должным образом. Эта функция также не поддерживается в IIS 7.5 или более ранней версии.
Решение
Убедитесь, что сервер, с которого происходит синхронизация или на который она выполняется, работает на IIS 8 или более поздней версии. Также убедитесь, что централизованное хранилище SSL-сертификатов установлено и настроено на этом сервере.
Diagnosis
Поставщик AppHostAuthOverride требует IIS 7 или более поздней версии.
Решение
Убедитесь, что целевой сервер, который вы изменяете, работает под управлением IIS 7 или более поздней версии.
Diagnosis
Web Deploy не может подключиться к удаленной службе.
Решение
Убедитесь в следующем:
- Вы можете отправить ping на удаленный компьютер.
- Служба
msdepsvc
илиwmsvc
запущена на удаленном сервере. - Брандмауэр не блокирует входящие подключения ваших портов по адресу назначения. Если вы использовали установку по умолчанию, она будет иметь значение 80 для
msdepsvc
и 8172.wmsvc
Diagnosis
Ошибка ERROR_FRAMEWORK_VERSIONS_DO_NOT_MATCH может возникать, если выполняется синхронизация веб-сервера между двумя компьютерами с разными версиями .NET.
Решение
По умолчанию веб-развертывание предпочитает использовать версию .NET, указанную в файле конфигурации. Если версия .NET, используемая веб-развертыванием на клиенте, отличается от версии на сервере, синхронизация веб-сервера блокируется, чтобы предотвратить перенос параметров из разных версий .NET. Чтобы устранить эту проблему, у вас есть два варианта:
Используйте настройку поставщика
netFxVersion
, чтобы точно указать Web Deploy, какие параметры .NET необходимо перенести. Ниже приведен пример командной строки, которая заставляет Web Deploy синхронизировать параметры .NET.msdeploy.exe -verb:sync -source:webserver,machineconfig32.netfxversion=2,machineconfig64.netfxversion=2,rootwebconfig32.netfxversion=2,rootwebconfig64.netfxversion=2 -dest:webserver,machineconfig32.netfxversion=2,machineconfig64.netfxversion=2,rootwebconfig32.netfxversion=2,rootwebconfig64.netfxversion=2,computername=destServername
Запустите веб-развертывание в той же версии .NET между клиентом и сервером. На стороне клиента измените порядок элемента
supportedRuntime
версии в файле%programfiles%\IIS\Microsoft Web Deploy V3\msdeploy.exe.config
для первой указанной версии .NET (см. пример с поставщиком gacInstall). Это означает версию .NET, если она установлена в вашей системе. На стороне сервера можно сделать то же самое%programfiles%\IIS\microsoft web deploy\msdepsvc.exe.config
. При изменении этого файла обязательно перезапустите службы агента веб-развертывания, которые являютсяnet stop msdepsvc
иnet start msdepsvc
.
Diagnosis
Не удалось найти указанную привязку.
Решение
Запустите netsh http show sslcert
из командной строки, чтобы убедиться, что указанная привязка существует. Если он не найден, может потребоваться повторно создать его с помощью диспетчера IIS.
Diagnosis
Был передан неверный тег параметра.
Решение
Повторно запустите Microsoft Deploy с тегом SQL, SQLCE или MYSQL.
Diagnosis
Недопустимый путь поставщика.
Решение
Путь к поставщику может отличаться в зависимости от используемого поставщика. Дополнительные сведения об используемом поставщике см. в разделе "Поставщики веб-развертывания".
Diagnosis
Указан недопустимый параметр поставщика.
Решение
Дополнительные сведения об используемом поставщике см. в разделе "Поставщики веб-развертывания".
Diagnosis
Недопустимое значение настройки поставщика.
Решение
Дополнительные сведения об используемом поставщике см. в разделе "Поставщики веб-развертывания".
Diagnosis
Привязки SNI поддерживаются только в IIS 8 или более поздней версии.
Решение
Привязки SNI можно создавать только в IIS 8 или более поздней версии.
Diagnosis
Не удалось восстановить резервную копию с помощью Web Deploy.
Решение
Проверьте следующие моменты:
- Указанная резервная копия существует на сервере.
- Если в резервной копии есть база данных, строка подключения указывается в настройке поставщика подключения.
Diagnosis
Функция резервного копирования не настроена правильно на целевом сервере.
Решение
Проверьте журналы событий, чтобы узнать, какие параметры настроены неправильно. Убедитесь, что параметры, хранящиеся в файле конфигурации applicationHost.config, соответствуют BackupManagerSchema.xml файла схемы IIS.
Diagnosis
Web Deploy не удалось создать новую резервную копию на целевом сервере.
Решение
Проверьте следующее:
- Если вы выполняете синхронизацию
appHostConfig
поставщика, убедитесь, что путь для поставщика не пуст. - Если в манифесте есть несколько поставщиков, использующих виртуальные пути, убедитесь, что все пути указывают на одно приложение.
- Если вы выполняете резервное копирование вручную, убедитесь, что эта функция включена в параметрах резервного копирования сервера.
- Проверьте журналы событий сервера, если сообщение об ошибке, возвращенное клиенту, не содержит необходимых сведений.
Diagnosis
Параметр резервного копирования, который вы пытаетесь задать, помечен как только для чтения и его нельзя изменить.
Решение
Администратор сервера должен пометить параметр резервного копирования как "поддающийся изменению" в файле applicationHost.config, либо вручную обновив файл, либо используя скрипты PowerShell для Web Deploy.
Diagnosis
Целевой файл не может быть перезаписан или удален, так как он в настоящее время используется.
Решение
Убедитесь, что целевой файл не используется перед выполнением синхронизации. Если вы синхронизируете содержимое с веб-сайтом, размещенным в IIS 7 или более поздней версии (с помощью appHostConfig
или iisApp
contentPath
поставщиков), рассмотрите возможность отключения приложения во время синхронизации, включив appOffline
правило.
Вы можете настроить правило appOffline
в профиле публикации (.pubxml). Добавьте элемент EnableMSDeployAppOffline
к PropertyGroup
следующим образом:
<PropertyGroup>
<EnableMSDeployAppOffline>true</EnableMSDeployAppOffline>
</PropertyGroup>
Diagnosis
Веб-развертыванию не удалось удалить файл app_offline.htm с сайта после завершения синхронизации.
Решение
Вы можете повторно запустить синхронизацию с appOffline
включенным правилом или вручную удалить файл app_offline.htm из корневого каталога сайта на целевом сервере. Дополнительные сведения о причине сбоя см. в журналах событий сервера.
Вы можете настроить правило appOffline
в профиле публикации (.pubxml). Добавьте элемент EnableMSDeployAppOffline
в PropertyGroup
следующим образом:
<PropertyGroup>
<EnableMSDeployAppOffline>true</EnableMSDeployAppOffline>
</PropertyGroup>
Diagnosis
Не удалось выполнить синхронизацию с помощью подключения выделенного администратора SQL (DAC), так как для sql DAC требуется .NET 4.0.
Решение
Убедитесь, что на сервере, выполняющем подключение SQL с помощью DAC, установлена .NET 4.0. Если вы подключаетесь с помощью клиента msdeploy.exe , убедитесь, что он имеет .NET 4.0, указанный в качестве первого варианта в файле конфигурации msdeploy.exe . Если вы подключаетесь к конечной точке msdepsvc
сервера (служба агента веб-развертывания), убедитесь, что она содержит .NET 4.0, указанную в качестве первого варианта в msdepsvc.exe
файле конфигурации.
Diagnosis
Вы создали больше веб-приложений, чем разрешено на целевом сервере.
Решение
Запросите больше приложений от администратора сервера или удалите некоторые из существующих приложений.
Diagnosis
Вызываемый API не существует на целевом сервере, так как сервер использует более раннюю версию веб-развертывания.
Решение
Установите последнюю версию веб-развертывания на сервере.
DacFxNeededForSQLProvider, ERROR_SCRIPTDOM_NEEDED_FOR_SQL_PROVIDER, ERROR_SQLCLRTYPES_NEEDED_FOR_SQL_PROVIDER
Группа из трех ошибок делится следующим диагнозом и разрешением:
Diagnosis
База данных SQL и ее зависимости не установлены.
Решение
Используйте установщик веб-платформы для установки:
- Microsoft SQL Server 2012 Data-Tier Application Framework
- SQL Server 2012 Transact-SQL ScriptDom
- Типы CLR системы SQL Server 11.0
Diagnosis
Созданный пакет или резервная копия превышает максимальный размер 4 ГБ.
Решение
Вместо этого используйте archiveDir
поставщика при создании пакета. Теперь нет решения для этого ограничения относительно автоматического резервного копирования.
Diagnosis
MySqlDump занимает слишком много времени, чтобы ответить на заданный запрос.
Решение
Вы можете изменить время ожидания Web Deploy для завершения выполнения запроса MySqlDump, изменив значение параметров поставщика WaitAttemptsSettingInfo
и WaitIntervalSettingInfo
.
Diagnosis
Не удалось загрузить необходимые зависимости.
Решение
Если вы установили веб-развертывание вручную с помощью MSI, попробуйте переустановить веб-развертывание с помощью установщика веб-платформы, что помогает установить необходимые зависимости для вас.
ERROR_SMO_NEEDED_FOR_SQL_PROVIDER, ERROR_USER_NOT_AUTHORIZED_FOR_IISAPP, ERROR_SCRIPTER_NEEDED_FOR_SQLCE_PROVIDER
Коды ошибок ERROR_SMO_NEEDED_FOR_SQL_PROVIDER, ERROR_USER_NOT_AUTHORIZED_FOR_IISAPP и ERROR_SCRIPTER_NEEDED_FOR_SQLCE_PROVIDER имеют следующие диагностику и решения:
Diagnosis
Общие объекты управления SQL (SMO) не найдены или установленная версия слишком старая.
Решение
Установите последнюю версию SMO с помощью установщика веб-платформы.
Diagnosis
Эта ошибка возникает, так как не удалось подключиться к базе данных.
Решение
Проверьте следующее:
- Строка подключения указана правильно.
- Учетная запись, указанная в строка подключения, имеет доступ к базе данных.
- Сервер базы данных, к которому вы подключаетесь, разрешает удалённые подключения.
- Доступ к серверу базы данных можно получить с компьютера, на котором работает Web Deploy. Если вы подключаетесь к удаленному серверу веб-развертывания и указали базу данных, необходимо убедиться, что удаленный сервер веб-развертывания имеет доступ к базе данных.
Diagnosis
Действие DAC PAC заняло слишком много времени на выполнение.
Решение
Увеличьте время, когда веб-развертывание ожидает завершения команды, указав CommandTimeout
параметр поставщика.
Diagnosis
Веб-сайты Azure не поддерживают создание новых виртуальных приложений или изменение существующей конфигурации приложений на сервере во время операции публикации веб-развертывания.
Решение
Вы можете создать новые виртуальные приложения или изменить существующие параметры конфигурации для веб-сайта с помощью портал Azure (https://portal.azure.com/). Для этого сделайте следующее.
- Войдите на портал.
- Откройте параметры сайта.
- Перейдите на вкладку Настройка .
- На вкладке "Настройка" измените сайт в соответствии с параметрами конфигурации приложения, которое вы пытаетесь развернуть. В большинстве случаев это просто вопрос изменения версии платформа .NET Framework, но в некоторых случаях это также может потребовать добавления нового виртуального приложения.
Как правило, это указывает на проблему с проверкой поставщиков в источнике. Например, если вы пытаетесь синхронизировать содержимое из исходной общей папки и у вас нет доступа к общей папке, может появиться этот код ошибки. В таких случаях убедитесь, что у вас есть доступ ко всем исходным данным, которые вы хотите опубликовать.
Универсальный код ошибки, указывающий, что возникла проблема с публикацией базы данных. Обычно трассировка стека и сообщение, связанные с этим кодом, должны указывать на фактическую ошибку, вызываемую объектами управления SQL или платформой приложений уровня данных SQL.