排查与 Web 部署相关的常见问题

适用于: Internet Information Services

本文介绍如何诊断和修复 Web 部署的常见问题,包括从 Visual Studio 2010 发布时看到的常见错误。

Logging

遇到与 Web 部署相关的问题时,有多种日志记录选项,具体取决于问题发生的位置。 默认情况下,Web 部署日志到应用程序>下的事件日志Microsoft Web 部署。 开始在目标服务器上查找错误是一个很好的位置。

如果无法使用事件日志诊断问题,下面是一些其他选项:

  • 使用位于 %programfiles%\IIS\Microsoft Web Deploy v3 下的 Web 部署 MSI 日志来诊断安装问题。
  • 如果 Web 管理服务或远程代理服务无法启动,请参阅错误详细信息,方法是转到服务控制管理器的 事件查看器 (本地)>Windows 日志>系统。
  • 可以进一步配置 Web 管理服务的跟踪。

错误代码

对于某些常见错误情况,Web 部署显示一条消息和错误代码,在获取解决问题的详细信息时可能很有用。 有关错误代码的完整列表,请参阅 Web 部署错误代码

备注

根据 Web 部署的调用方式,错误消息可能有所不同。 例如,Microsoft WebMatrix 选择显示自定义错误消息而不是错误代码,而命令行将始终显示错误代码(如果记录)。

安装问题

1. 无法在有效的 OS 上安装 Web 部署

现象 操作系统(OS)正确,Web 部署的版本和位数正确,但安装不成功。
根本原因 未知
修复方法/解决办法 在安装日志中 查找位于 %programfiles%\IIS\Microsoft Web 部署 V3 中的安装日志。

2.升级后 Web 部署不起作用

现象 Web 部署在版本升级后不起作用。
根本原因 升级后,Web 部署不会重启服务。
修复方法/解决办法 如果要升级 Web 部署的现有安装,请确保通过在管理命令提示符处运行以下命令来重启处理程序和代理服务:
net stop msdepsvc
net start msdepsvc
net stop wmsvc
net start wmsvc

3. 无法在 64 位硬件上安装 Web 部署 32 位版本

现象 “Web 部署工具设置”对话框的屏幕截图。文本显示 32 位版本与 64 位 Windows 不兼容。
根本原因 尝试在 64 位 OS 上安装 32 位是 Web 部署 MSI 中的检查,该检查失败,因为它不支持 WoW64 模式。
修复方法/解决办法 安装与操作系统体系结构匹配的相同版本。

4.无法在 32 位硬件上安装 Web 部署 64 位版本

现象 显示 Windows Installer 对话框的屏幕截图。文本显示此处理器类型不支持此安装包。请联系产品供应商。
根本原因 尝试在 32 位操作系统上安装 64 位是 Web 部署的 MSI 内部的检查,该检查将会失败。
修复方法/解决办法 安装与操作系统体系结构匹配的相同版本。

5. 由于预先存在的命名空间,无法注册 URL 命名空间

现象 无法安装 Web 部署。
根本原因 Web 部署在安装期间尝试创建的 URL 命名空间已注册。
修复方法/解决办法 - 删除冲突注册。
- 在安装过程中更改 Web 部署 URL
msiexec /i wdeploy.msi /passive ADDLOCAL=ALL LISTENURL=http://+:8080/MSDEPLOY2/
有关 URL 自定义的详细信息,请参阅“自定义和保护远程服务”。

远程代理服务问题

1. 在启动期间无法初始化 Microsoft.Web.Deployment.Dll

现象 远程代理服务无法启动。
根本原因 %programfiles%\IIS\Microsoft Web 部署 v3缺少msdepsvc.exe或其他文件。
修复方法/解决办法 重新安装产品。

2. 远程代理服务未启动

现象 Microsoft.Web.Deployment.DeploymentAgentUnavailableException:无法联系远程代理 (URL http://DestinationServer/msdeployagentservice)。 确保远程代理服务已安装在目标计算机上并已启动。 ---> System.Net.WebException:远程服务器返回错误:未找到 (404)。
根本原因 远程代理服务未启动。
修复方法/解决办法 启动服务: net start msdepsvc.

3.尝试连接到 HTTP 未侦听或允许的服务器

现象 Microsoft.Web.Deployment.DeploymentAgentUnavailableException:无法联系远程代理 (URL http://DestinationServer/msdeployagentservice)。 确保远程代理服务已安装在目标计算机上并已启动。 ---> System.Net.WebException:无法联系远程服务器 ---> System.Net.Sockets.SocketException:无法建立连接,因为目标计算机主动拒绝了 DestinationServer:80
根本原因 HTTP 未侦听。
修复方法/解决办法 确保允许将 HTTP 流量发送到远程代理服务。

4.尝试使用“不允许的方法”错误连接到服务器

现象 Microsoft.Web.Deployment.DeploymentException:无法完成对远程代理 URL“http://DestinationServer/”的请求。 ---> System.Net.WebException:远程服务器返回了错误:不允许 (405) 方法。
根本原因 由于缺少msdepsvc.exe的路径,Internet Information Services(IIS)本身而不是 MS 部署会选取该请求。
修复方法/解决办法 更改 URL,使之包括 /MSDeployAgentService

5.尝试以非管理员身份访问远程代理服务

现象 Microsoft.Web.Deployment.DeploymentException:无法完成对远程代理 URL“http://DestinationServer/msdeployAgentService”的请求。 >---;System.Net.WebException:远程服务器返回错误:(401) 未授权。
根本原因 远程代理服务要求调用方是管理员组的成员,或者从已添加到管理员组的域帐户。 由于 Web 部署 2.0 中的 bug,不是内置帐户的本地管理员将无法使用远程代理服务。
修复方法/解决办法 提供管理凭据。

6.远程代理服务在操作过程中挂起

现象 服务可能会长时间停止响应,最多几个小时。
根本原因 未知。
修复方法/解决办法 停止操作并尝试重复此操作。

7. 客户端和服务器不兼容(版本不匹配)

现象 时间戳=24638007621418 MsDepSvc.exe 错误:0:发生了错误。 异常详细信息如下所示:Microsoft.Web.Deployment.DeploymentClientServerException:客户端和服务器不兼容。 客户端支持的最低版本是“7.1.538.0”。 服务器支持的最高版本是“7.1.537.0”。
根本原因 某些版本无法协同工作,因此 Web 部署会阻止它们协同工作。 通常,可以阻止预发行版本使用已发布版本运行。
修复方法/解决办法 匹配版本。

8. 远程代理服务无法开始侦听 URL

现象 远程代理服务无法开始侦听 URL “{0}”。 确保 URL 未使用。
根本原因 通常指示 URL 冲突。
修复方法/解决办法 如果想要默认 URL 或根据文档中的指定设置自定义 URL,请尝试重新安装。 有关 URL 自定义的详细信息,请参阅“自定义和保护远程服务”。

Web 管理服务问题

1. Web 管理服务未启动

现象 Web 管理服务未启动。
根本原因 未知。 服务应默认启动。
修复方法/解决办法 启动 Web 管理服务: Net Start WMSVC.

2.未授权:部署处理程序规则未授权的用户

现象 使用 Web 管理服务进行连接时,无法使用指定的提供程序 <ProviderName> 完成操作。 如果服务器管理员尚未授权用户执行此操作,则可能会发生这种情况。
根本原因 非管理员用户尝试使用提供程序执行受限操作。 此操作通常表示找不到匹配的委派规则。 用户名、提供程序、操作或提供程序路径都不正确。
修复方法/解决办法 解决方法是修复委派规则或创建一个委派规则。 有关委派规则的详细信息,请参阅配置 Web 部署处理程序

从 Visual Studio 发布时出错

有关排查尝试从 Visual Studio 发布到未通过 Web 部署正确配置的服务器的常见错误的详细信息,请参阅 Visual Studio 的 Web 部署问题疑难解答。