Exchange Server 2007 的托管的代码的 Exchange Server 2007 安装更新汇总后,不要启动服务

文章翻译 文章翻译
文章编号: 944752 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

症状

在 Microsoft Exchange Server 2007 的安装更新汇总之后,Exchange 2007 将托管的代码可能无法启动服务。 此外,在系统日志中记录以下事件:

事件类型: 错误
事件源: 服务控制管理器
事件 ID: 7000
说明: Microsoft Exchange EdgeSync 服务未能启动由于以下错误:
该服务没有启动或控制请求能及时地响应。

事件类型: 信息
事件源: Microsoft Exchange 服务器
事件 ID: 5001
描述: 桶 77004151、 存储桶表 5、 事件类型 e12 P1 c-rtl-amd64,P2 08.00.0733.000,P3 msexchangetransport P4 未知,P5 未知,P6 s.serviceprocess.timeoutexception P7 0,P8 08.00.0733.000,P9 NIL P10 NIL。

事件类型: 错误
事件源: 服务控制管理器
事件 ID: 7000
说明: Microsoft Exchange 传输日志搜索服务启动失败由于以下错误:
该服务没有启动或控制请求能及时地响应。

事件类型: 错误
事件源: 服务控制管理器
事件 ID: 7009
描述: 超时 (30000 毫秒) 等待连接 Microsoft Exchange 传输日志搜索服务。

在应用程序日志中记录以下事件:

事件类型: 错误
事件源: MSExchange 常用
事件类别: 常规
事件 ID: 4999
说明:
Watson 报告将要被发送到的进程 id dw20.exe: 1448,使用的参数: E12,c-RTL-AMD64 08.00.0733.000 MSExchangeTransport,未知、 $ 未知,S.ServiceProcess.TimeoutException 0,08.00.0733.000

事件类型: 错误
事件源: Microsoft Exchange 服务器
事件 ID: 5000
说明:
事件类型 e12 P1 c-rtl-amd64,P2 08.00.0733.000,P3 msexchangetransport P4 未知,P5 未知,P6 s.serviceprocess.timeoutexception P7 0,P8 08.00.0733.000,P9 NIL P10 NIL。

注意根据 Exchange Server 2007 的角色事件可能会显示为其他 Exchange 服务器服务的超时。

原因

之所以会出现此问题,因为在受影响的计算机不能到达下面的 Microsoft 网站:
http://crl.microsoft.com/pki/crl/products/CSPCA.crl
出现此问题是由于以下行为:
  • 当在 Microsoft.net Framework 2.0 加载托管程序集时,托管程序集调用 CryptoAPI 函数以验证验证码签名来生成的托管程序集的发行者证据将程序集文件上。
  • CryptoAPI 函数检查一个证书吊销列表 (CRL) http://crl.microsoft.com 在可用的。此操作要求一个 Internet 连接。
  • 如果 Internet 连接被阻止,传出 HTTP 请求可能被删除。因此,不会返回一条错误消息。如果计算机不能解决 http://crl.microsoft.com,也可能会出现此问题。 此长时间延迟会导致 CRL 检查超时。
  • 服务控制管理器 (SCM) 确定服务时间太长,启动该服务已超过最大服务开始时间。因此,SCM 报告错误消息,并且 Exchange 托管服务,但未启动的代码。

解决方案

若要解决此问题,必须将以下选项:
  • Exchange 服务器不必有到 Internet 的连接。它只是需要的不将数据包发送到一个黑洞路由器。CRL 检查超时,因为它永远不会接收到响应。如果一个路由器发送没有到主机的路由 ICMP 数据包或类似错误,而不只丢弃该数据包,CRL 检查就会立即,失败,服务将启动。 您可以将一个条目添加到 crl.microsoft.com 主机文件中或在 DNS 服务器上,并将数据包发送到一个合法的位置,如 127.0.0.1,将拒绝连接的网络上。若要执行此操作,则使用文本编辑器打开 Windows\system32\drivers\etc\host 文件,然后添加以下项:
    crl.microsoft.com 127.0.0.1
  • 在与 Exchange 服务相关联的配置文件中使用开关。此开关在公共语言运行库 (CLR) 2.0 版的 SP1 环境中包括的.net Framework 版本 3.5 英寸的工作。

    如果使用的.net Framework 2.0 按照安装软件更新部分中的步骤。然后,继续在创建配置文件一节。如果您已经有了 CLR 2.0 SP1 安装,环境请转到创建配置文件一节。

安装软件更新

如果使用的.net Framework 2.0 安装以下软件更新之一:
  • 软件更新 936707 与 CRL 生成 2.0.50727.876 有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    936707FIX: A.net Framework 2.0 管理有一个验证码签名花费更长的时间比通常要启动的应用程序
  • 软件更新 942027 与 CRL 生成 2.0.50727.926 有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    942027FIX: 您可能注意到当您运行的应用程序构建在.net Framework 2.0 的内存负载是非常高
  • 一种不同的软件更新,具有更高版本的 CRL 生成的。 有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    945757 .NET Framework 2.0 Service Pack 1 中所修复的问题

    要下载.net Framework 3.5,请访问下面的 Microsoft 网站:
    http://www.microsoft.com/downloads/details.aspx?FamilyID=333325fd-ae52-4e35-b531-508d977d32a6&DisplayLang=en

创建配置文件

重要您必须将您现有的配置文件的副本保存到一个安全的位置。如果在配置文件中存在错误,无法启动适用的服务。

您必须创建 Exchange Server 2007,托管代码的所有服务配置的文件。

如何创建一个新的配置文件

如果您已经有一个配置文件,请转到如何更改现有的配置文件部分。若要进行新的应用程序配置文件包含在 CLR 2.0 SP1 中引入的交换机,请按照下列步骤操作:
  1. 创建一个文件,然后命名它 ApplicationName exe.config。
  2. 在一个文本编辑器中打开此文件。
  3. 将下面的代码添加到文件中。
    <configuration>
     <runtime>
                
               <generatePublisherEvidence enabled="false" />
     </runtime> 
    </configuration>
  4. 将所做的更改保存到文件中。
您可能要创建的下列服务或程序的新配置文件:
  • Microsoft.Exchange.AntispamUpdateSvc.exe
  • MsExchangeFDS.exe
  • MSExchangeTransport.exe

如何更改现有的配置文件

重要配置文件进行任何更改之前,将当前文件的副本保存在安全的位置。

如果在配置文件已存在的服务,将下行添加到运行库选项部分的文件中。
<generatePublisherEvidence enabled="false"/>
例如,添加此项后,运行库的选项部分将类似于下面的示例
<configuration> <runtime>
<generatePublisherEvidence enabled="false"/>
<Other entries>
</runtime> </configuration>
注意 替换 < 其他条目 > 在此示例中的原始行。

您可能必须更新以下服务或程序的配置文件:
  • Bin\EdgeTransport.exe
  • Bin\ExBPA.exe
  • Bin\ExBPACmd.exe
  • Bin\ExTRA.exe
  • Bin\Microsoft.Exchange.Cluster.ReplayService.exe
  • Bin\Microsoft.Exchange.EdgeSyncSvc.exe
  • Bin\Microsoft.Exchange.Monitoring.exe
  • Bin\Microsoft.Exchange.Search.ExSearch.exe
  • Bin\Microsoft.Exchange.ServiceHost.exe
  • Bin\MSExchangeMailboxAssistants.exe
  • Bin\MSExchangeMailSubmission.exe
  • Bin\MSExchangeTransportLogSearch.exe
  • ClientAccess\PopImap\Microsoft.Exchange.Imap4.Exe
  • ClientAccess\PopImap\Microsoft.Exchange.Pop3.Exe
注意禁用的发布者证据生成不会不松开安全。程序集被视为相同它有一个无效的验证码签名。不能再使用该配置开关授予会基于经过验证的验证码签名将被授予任何权限。 这一行为是可接受的因为不需要 Exchange Server 2007 具有发行者证据。标准 CAS 策略不依赖于 PublisherMembershipCondition 类。因此,除非有自定义的 CAS 策略修改的计算机上运行的应用程序或除非应用程序旨在满足需求的 PublisherIdentityPermission 类,您可以安全地禁用的 Exchange 2007 管理代码服务的发布者证据的生成。

故障排除

如果您修改或创建配置文件之后,不能启动服务,则通常 XML 语法错误或不正确的值。在这两种情况下您从类似于以下的 Exchange 2007 边缘传输服务收到一条错误消息:

Event Type: Error
Event Source: MSExchangeTransport
Event Category: Process 
Event ID: 14004
Date: Date
Time: Time
User: N/A
Computer: Computer_Name
Description:
The worker process has failed to load application configuration file: System.Configuration.ConfigurationErrorsException: Configuration system failed to initialize ---> System.Configuration.ConfigurationErrorsException: The 'generatePublisherEvidence' start tag on line 4 does not match the end tag of 'runtime'. Line 5, position 6. (C:\Program Files\Microsoft\Exchange Server\Bin\edgetransport.exe.config line 5) ---> System.Xml.XmlException: The 'generatePublisherEvidence' start tag on line 4 does not match the end tag of 'runtime'. Line 5, position 6.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ThrowTagMismatch(NodeData startTag)
   at System.Xml.XmlTextReaderImpl.ParseEndElement()
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Xml.XmlTextReaderImpl.Skip()
   at System.Configuration.XmlUtil.StrictSkipToNextElement(ExceptionAction action)
   at System.Configuration.BaseConfigurationRecord.ScanSectionsRecursive(XmlUtil xmlUtil, String parentConfigKey, Boolean inLocation, String locationSubPath, OverrideModeSetting overrideMode, Boolean skipInChildApps)
   at System.Configuration.BaseConfigurationRecord.ScanSections(XmlUtil xmlUtil)
   at System.Configuration.BaseConfigurationRecord.InitConfigFromFile()
   --- End of inner exception stack trace ---
   at System.Configuration.ConfigurationSchemaErrors.ThrowIfErrors(Boolean ignoreLocal)
   at System.Configuration.BaseConfigurationRecord.ThrowIfParseErrors(ConfigurationSchemaErrors schemaErrors)
   at System.Configuration.ClientConfigurationSystem.EnsureInit(String configKey)
   --- End of inner exception stack trace ---
   at System.Configuration.ConfigurationManager.GetSection(String sectionName)
   at System.Configuration.ConfigurationManager.get_AppSettings()
   at Microsoft.Exchange.Transport.TransportAppConfig.GetConfigBool(String label, Boolean defaultValue)
   at Microsoft.Exchange.Transport.TransportAppConfig.ResourceManagerConfig.Load()
   at Microsoft.Exchange.Transport.TransportAppConfig.Load()
   at Microsoft.Exchange.Transport.Main.Program.Run(String[] args)
 
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

状态

Microsoft 已经确认这是在"适用于"一节中列出的 Microsoft 产品中的问题。Microsoft 正在研究此问题,并将在这篇文章中过帐的详细信息,该信息可用时。

属性

文章编号: 944752 - 最后修改: 2009年7月27日 - 修订: 5.1
这篇文章中的信息适用于:
  • Microsoft Exchange Server 2007 Standard Edition
  • Microsoft Exchange Server 2007 Enterprise Edition
关键字:?
kbmt kbtshoot kbexpertiseinter KB944752 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 944752
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com