Я пытаюсь использовать веб-развертывание для развертывания сайта, на котором сайт размещен на UNC-пути, а не на локальном диске. Это потому, что я хочу иметь общую конфигурацию и чтобы все серверы указывали на один и тот же UNC для контента. Это позволило бы мне выполнить развертывание на одном сервере и обновить все серверы одновременно. Я создал общий ресурс для всех, и пользователи читают / пишут. Разрешения NTFS имеют идентификатор учетной записи appDomain как полный доступ, и это та же учетная запись, которая настроена как конкретный пользователь в делегировании службы управления. Я могу войти на целевой сервер под этим идентификатором, получить доступ к общему ресурсу и создать / удалить файлы.
Однако я получаю следующее исключение в моем журнале Microsoft Web Deploy на конечном сервере:
Пользователь: IP-адрес клиента: 192.168.62.174 Content-Type: application / msdeploy Версия: 9.0.0.0 MSDeploy.VersionMin: 7.1.600.0 MSDeploy.VersionMax: 9.0.1631.0 MSDeploy.Method: Sync MSDeploy.RequestId: c060c823-cdb4-4abe-8 -5ffbdc327d2e MSDeploy.RequestCulture: en-US MSDeploy.RequestUICulture: en-US ServerVersion: 9.0.1631.0 Пропустить: objectName = "^ configProtectedData $" Provider: auto, Path: возникла исключительная ситуация агента развертывания трассировки, которая была передана клиенту. Идентификатор запроса 'c060c823-cdb4-4abe-8294-5ffbdc327d2e'. Отметка времени запроса: «23.08.2012 11:01:56 AM». Сведения об ошибке: ERROR_INSUFFICIENT_ACCESS_TO_SITE_FOLDER Microsoft.Web.Deployment.DeploymentDetailedUnauthorizedAccessException: невозможно выполнить операцию («Создать каталог») для указанного каталога («\ someserver.mydomain.local \ sharename \ sitename \ applicationName»). Это может произойти, если администратор сервера не разрешил эту операцию для учетных данных пользователя, которые вы используете. Узнайте больше на: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_INSUFFICIENT_ACCESS_TO_SITE_FOLDER. ---> Microsoft.Web.Deployment.DeploymentException: код ошибки: 0x80070005. ---> System.UnauthorizedAccessException: доступ к пути '\ someserver.mydomain.local \ sharename \ sitename \ applicationName' запрещен. в Microsoft.Web.Deployment.NativeMethods.RaiseIOExceptionFromErrorCode (Win32ErrorCode errorCode, String mightFullPath) в Microsoft.Web.Deployment.DirectoryEx.CreateDirectory (путь к строке)
в Microsoft.Web.Deployment.DirPathProviderBase.CreateDirectory (String fullPath, источник DeploymentObject) в Microsoft.Web.Deployment.DirPathProviderBase.Add (источник DeploymentObject, логическое значение whatIf) --- Конец трассировки стека внутренних исключений --- --- Конец трассировки стека внутренних исключений --- в Microsoft.Web.Deployment.FilePathProviderBase.HandleKnownRetryableExceptions (DeploymentBaseContext baseContext, Int32 [] errorsToIgnore, Exception e, String path, String operation) в Microsoft.Web.Deployment.DirPathProviderBase.Add (источник DeploymentObject Boolean whatIf) в Microsoft.Web.Deployment.DeploymentObject.Add (источник DeploymentObject, DeploymentSyncContext syncContext) в Microsoft.Web.Deployment.DeploymentSyncContext.HandleAdd (DestObject DeploymentObject, DeploymentObject sourceObject) в Microsoft.WebDesktop.deployment.DeploymentObject. , DeploymentObject sourceObject) в Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenNoOrder (DeploymentObject dest, источник DeploymentObject) в Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenNoOrder (пункт назначения DeploymentObject, источник DeploymentObject) в Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenOrder (Deployment.Deployment.DeploymentSyncContext.SyncChildrenNoOrder) в Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenOrder (Deployment.Deployment.DeploymentSyncContext.SyncChildrenNoOrder (источник) DeploymentObject destinationObject, DeploymentObject sourceObject) в Microsoft.Web.Deployment.DeploymentObject.SyncToInternal (DeploymentObject destObject, DeploymentSyncOptions syncOptions, PayloadTable payloadTable, ContentRootTable contentRootTable, Nullable1 syncPassId) at Microsoft.Web.Deployment.DeploymentAgent.HandleSync(DeploymentAgentAsyncData asyncData, Nullable
1 passId) в Microsoft.Web.Deployment.DeploymentAgent.HandleRequestWorker (DeploymentAgentAsyncData asyncData) в Microsoft.Web.Deployment.DeploymentAgent.HandleRequest (DeploymentAgentAsyncData asyncData)
На консоли машины, на которой я запускаю развертывание, это отображается следующим образом:
C: \ Users \ PLaComb> «C: \ Program Files (x86) \ IIS \ Microsoft Web Deploy V3 \ msdeploy.exe» -source: package = 'C: \ Packages \ Deployments \ applicationName.zip' -dest: auto, computerName = 'https: // ИМЯ СЕРВЕРА: 8172 / msdeploy.axd', includeAcls =' True '-verb: sync -disableLink: AppPoolExtension -disableLink: ContentExtension -disableLink: CertificateExtension -setParamFile: "C: \ Packages \ Deployments \ applicationName.SetParameters.xml" -allowUntrusted Info: Использование ID' c060c8 -4abe-8294-5ffbdc327d2e 'для подключения к удаленному серверу. Информация: добавление sitemanifest (sitemanifest). Информация: Добавление виртуального пути (JMS / admin) Информация: Добавление каталога (JMS / admin). Код ошибки: ERROR_INSUFFICIENT_ACCESS_TO_SITE_FOLDER Дополнительная информация: Невозможно выполнить операцию («Создать каталог») для указанного каталога («\ someserver.mydomain.local \ sharename \ sitename \ applicationName»). Это может произойти, если администратор сервера не разрешил эту операцию для учетных данных пользователя, которые вы используете. Узнайте больше на: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_INSUFFICIENT_ACCESS_TO_SITE_FOLDER. Ошибка: код ошибки был 0x80070005. Ошибка: доступ к пути '\ someserver.mydomain.local \ sharename \ sitename \ applicationName' запрещен. Количество ошибок: 1.