无法启动 SharePoint Foundation Web 应用程序服务

症状

无法在 Microsoft SharePoint Server 2013 或 Microsoft SharePoint Server 2010 中启动 SharePoint Foundation Web 应用程序服务。 服务在启动期间停滞,ULS 日志中记录了以下错误条目:

Provision of service failed. The process cannot access the file 'C:\inetpub\wwwroot\wss\VirtualDirectories\<web_app_name>\_app_bin\STSSOAP.DLL' because it is being used by another process. If this is a Web service, IIS must be restarted for the change to take effect. To restart IIS, open a command prompt window and type "iisreset /noforce".       

原因

出现此问题的原因是防病毒扫描。

解决方案

注意

SharePoint Foundation Web 应用程序服务停止后,可能会丢失 web.config 更改和其他自定义项。 建议在应用此修补程序之前备份 C:\inetpub\wwwroot\wss\VirtualDirectories 文件夹。

要解决这个问题,请按照下列步骤操作:

  1. 按照 KB 952167 中的指南从防病毒扫描中排除某些文件夹。

  2. 运行以下 PowerShell 命令以停止 SharePoint Foundation Web 应用程序服务:

    $service = Get-SPServiceInstance -Server $server | where-object {$_.TypeName -eq "Microsoft SharePoint Foundation Web Application"}  
    Stop-SPServiceInstance $service
    
  3. 停止 SharePoint Foundation Web 应用程序服务后,检查 IIS 管理器中是否存在 SharePoint 网站的任何残余,并从 IIS 管理器中删除任何现有网站。

  4. 清除 SharePoint 配置缓存。 有关执行此操作的步骤,请参阅 此开发人员文章

  5. 运行以下命令来预配服务:

    stsadm -o provisionservice -action start -servicetype spwebservice  
    

更多信息

仍然需要帮助? 请转到 SharePoint 社区