Как остановить провайдер MSDeploy regKey от сбоя, если раздел реестра не существует - PullRequest
3 голосов
/ 27 октября 2010

Я перемещаю множество веб-сайтов IIS, используя MSDeploy, и сталкиваюсь с проблемой, когда я пытаюсь включить 3 ключа реестра как часть перемещения, но все 3 ключа реестра не всегда существуют на каждом веб-сайте.

Итак, вопрос: Есть ли способ заставить MSDeploy переместить разделы реестра, если они есть в источнике, и молча пропустить их, если они не существуют?

Я пытался принудительно включить и отключить правило SkipInvalidSource, но, похоже, это никак не повлияло на проблему.

Также, последнее замечание: я использую файл манифеста для источника (который содержит записи для 3 провайдеров regKey).

1 Ответ

0 голосов
/ 25 октября 2011

Недостаточно информации здесь:

  • Какая у вас версия windows
  • Как выглядит ваш манифест для провайдера regkey

В общем ... вы должны быть уверены, что используете поставщика regKey, прежде чем он будет работать:

Я уверен, что вы видели это, но на всякий случай вот две ссылки, которые могут помочь:

Из Правила веб-развертывания

SkipInvalidSource (Пропустить неверное правило источника) [0.50]
Пропускает синхронизацию данных от провайдера, если источник данных не может быть найден (например, вы используете провайдера regKey и указанный вами раздел реестра не существует). Это правило включено по умолчанию.

Провайдер веб-развертывания regKey

Внимание: Списки управления доступом для ключей и значений реестра сохраняются в операции синхронизации, но для определенных путей в реестре могут потребоваться разрешения администратора. Поставщик не сможет работать, если у него нет необходимых разрешений для доступа к указанным вами разделам реестра.

Вот пример не удаления ключей реестра в месте назначения, которых нет в пакете с исходным кодом.

msdeploy -verb:sync -source:package=C:\package.zip -dest:webServer,computerName=DestServer -skip:skipAction=Delete,objectName=regKey 
...