KB 944752 Службы Exchange 2007 не стартуют после установки Update Rollup

Для всех, у кого могли возникнуть проблемы после установки Update Rollup для Exchange 2007.

Во-первых, когда вы скачиваете обновление – прочтите, что сказано в сопроводительной документации. Microsoft ставит апдейты на свои сервера, сначала тестовые, а потом и рабочие, и задолго до вас! Так что если какие-то косяки и случаются – то до вас они просто не доходят. Если, конечно, вы следуете инструкциям.

Вот такую инструкцию я и привожу здесь для вас.
Итак, прежде чем установить Update Rollup (набор обновлений) – ознакомьтесь с затруднениями, которые могут возникнуть в некоторых случаях.

Симптомы

После инсталляции набора обновлений для Microsoft Exchange Server 2007, некоторые службы Exchange 2007 могут не стартовать. Кроме того, следующие события могут быть отмечены в журнале System log:


Event Type: Error
Event Source: Service Control Manager
Event ID: 7000
Description: The Microsoft Exchange EdgeSync service failed to start due to the following error:
The service did not respond to the start or control request in a timely fashion.


Event Type: Information
Event Source: Microsoft Exchange Server
Event ID: 5001
Description: Bucket 77004151, bucket table 5, EventType e12, P1 c-rtl-amd64, P2 08.00.0733.000, P3 msexchangetransport, P4 unknown, P5 unknown, P6 s.serviceprocess.timeoutexception, P7 0, P8 08.00.0733.000, P9 NIL, P10 NIL.


Event Type: Error
Event Source: Service Control Manager
Event ID: 7000
Description: The Microsoft Exchange Transport Log Search service failed to start due to the following error:
The service did not respond to the start or control request in a timely fashion.


Event Type: Error
Event Source: Service Control Manager
Event ID: 7009
Description: Timeout (30000 milliseconds) waiting for the Microsoft Exchange Transport Log Search service to connect.

Cледующие события могут быть отмечены в журнале Application log:


Event Type: Error
Event Source: MSExchange Common
Event Category: General
Event ID: 4999
Description:
Watson report about to be sent to dw20.exe for process id: 1448, with parameters: E12, c-RTL-AMD64, 08.00.0733.000, MSExchangeTransport, unknown, unknown, S.ServiceProcess.TimeoutException, 0, 08.00.0733.000


Event Type: Error
Event Source: Microsoft Exchange Server
Event ID: 5000
Description:
EventType e12, P1 c-rtl-amd64, P2 08.00.0733.000, P3 msexchangetransport, P4 unknown, P5 unknown, P6 s.serviceprocess.timeoutexception, P7 0, P8 08.00.0733.000, P9 NIL, P10 NIL.

Примечание: В зависимости от установленных ролей Exchange Server 2007, вы можете наблюдать задержки прочих сервисов Exchange Server.

Причины

Причины вышеуказанных проблем могут быть заключены в том, что целевой сервер не смог обратиться на вебсайт Microsoft:
http://crl.microsoft.com/pki/crl/products/CSPCA.crl

Проблема вызвана следующими обстоятельствами:

  • Microsoft .NET Framework 2.0 загружает управляемую сборку, вызывающую функцию CryptoAPI для проверки Authenticode сигнатуры файлов сборки, чтобы сгенерировать свидетельство публиктора управляемой сборки.
  • Функция CryptoAPI проверяет Список Отозванных Сертификатов (Certificate Revocation List, CRL) по адресу http://crl.microsoft.com. Для этого необходимо соединение с интернетом.
  • Если соединение с интернетом блокировано, исходяещие HTTP запросы будут сброшены. Сообщение об ощибке, при этом, не возвращается. Проблема может также возникнуть, если сервер не может разрешить адрес http://crl.microsoft.com. Подобные долгие ожидания и вызывают задержки проверки CRL.
  • Служба Service Control Manager (SCM) определяет что сервис стартует слишком долго и превышает лимит времени, отведенный для ее запуска. Поэтому SCM сообщает об ошибке, и отдельные службы Exchange не стартуют.

Решение

Для решения данной проблемы, вам необходимо использовать параметр в конфигурационных файлах, относящихся к службам Exchange. Этот параметр работает только в среде CLR 2.0 SP1, входящией в состав .NET Framework 3.5.

Если вы используете .NET Framework 2.0, следуйте инструкции в разделе “Инсталляция обновления”. Затем продолжите в разделе “Создание файлов конфигурации”. Если у вас уже инсталлирована среда CLR 2.0 SP1, перейдите к разделу “Создание файлов конфигурации”.

Инсталляция обновления

Если вы используете .NET Framework 2.0, установите одно из следующих обновлений:

  • Обновление 936707 с CRL build 2.0.50727.876 :
    936707 FIX: “Приложение .NET Framework 2.0, использующее сигнатуры Authenticode занимает много времени при старте”.
  • Обновление 942027 с CRL build 2.0.50727.926 :
    942027 FIX: “Возможен высокий уровень загрузки памяти при запуске приложения, использующего .NET Framework 2.0”.
  • Прочие обновления с более поздней сборкой CRL:
    945757 “Проблемы, решенные в .NET Framework 2.0 Service Pack 1”

Скачать .NET Framework 3.5 можно здесь.

Создание файлов конфигурации

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

Необходимо создать файлы конфигурации для всех служб Exchange Server 2007.

Создание нового файла конфигурации

Если у вас уже есть файлы конфигурации, перейдите к разделу “Изменение файла конфигурации”. Чтобы создать новый файл конфигурации, содержащий параметр представленный в CLR 2.0 SP1, выполните следующее:

  1. Создайте файл с названием ApplicationName.exe.config.
  2. Откройте файл в текстовом редакторе.
  3. Добавьте в файл следующий код:

  4. <configuration>
    <runtime>
    <generatePublisherEvidence enabled="false" />
    </runtime>
    </configuration>

  5. Сохраните файл.

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

  • Microsoft.Exchange.AntispamUpdateSvc.exe
  • MsExchangeFDS.exe
  • MSExchangeTransport.exe

Изменение файла конфигурации

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

Если для какой-либо службы файл конфигурации уже существует, добавьте следующую строку в секцию опций “runtime”.
<generatePublisherEvidence enabled="false"/>

Например, после добовления такой записи, секция опций “runtime” может иметь следующий вид:

<configuration> <runtime>
<generatePublisherEvidence enabled="false"/>
<Other entries>
</runtime> </configuration>

Примечание: Замените <Other entries> из примера на оригинальные строки.

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

  • BinEdgeTransport.exe
  • BinExBPA.exe
  • BinExBPACmd.exe
  • BinExTRA.exe
  • BinMicrosoft.Exchange.Cluster.ReplayService.exe
  • BinMicrosoft.Exchange.EdgeSyncSvc.exe
  • BinMicrosoft.Exchange.Monitoring.exe
  • BinMicrosoft.Exchange.Search.ExSearch.exe
  • BinMicrosoft.Exchange.ServiceHost.exe
  • BinMSExchangeMailboxAssistants.exe
  • BinMSExchangeMailSubmission.exe
  • BinMSExchangeTransportLogSearch.exe
  • ClientAccessPopImapMicrosoft.Exchange.Imap4.Exe
  • ClientAccessPopImapMicrosoft.Exchange.Pop3.Exe

Примечание: Отключение генерации свидетельства публикатора не снижает безопасность. Сборка будет использоваться, как если бы она имела недействительную сигнатуру Authenticode. Любые разрешения, выдаваемые на основе действительной сигнатуры Authenticode, не будут выданы при наличии такого параметра в конфигурации. Такая ситуация приемлема, поскольку Exchange Server 2007 не обязан иметь свидетельства публикатора. Стандартная политика CAS не полагается на класс “PublisherMembershipCondition”. Так что, пока приложение работает на сервере, имеющем особую модификацию политики CAS, или пока приложение удовлетворяет требованиям класса “PublisherIdentityPermission”, вы можете безопасно отключить генерацию свидетельства публикатора для служб Exchange 2007.

Устранение неполадок

Если сервис не стартует после того как вы создали/изменили файлы конфигурации – возможно существует ошибка синтаксиса XML или некорректное значение. В обоих случаях вы получите сообщение об ошибке от Exchange 2007 Edge Transport Service, выглядящее следующим образом:

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 FilesMicrosoftExchange ServerBinedgetransport.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 Exchange Server 2007 Standard Edition
    Microsoft Exchange Server 2007 Enterprise Edition
    kb 944752

14 thoughts on “KB 944752 Службы Exchange 2007 не стартуют после установки Update Rollup”

  1. Максим Уточните пожалуйста, где нужно создавать файлы, в какой директории? об этом в солюшене ни слова. Заранее спасибо.

  2. Спасибо, все написано доступным языком, во всем разобралась!!!

  3. Мда… “радостное” обновление выпустила Microsoft.. Спасибо, Максим!

    1. Вы знаете, обновление действительно очень полезное. И как вы можете видеть сами, – мы его у себя развернули одиними из первых. Ничего особенно веселого не произошло, представьте. Почему? Мы как-нибудь по другому читаем сопроводительную документацию? Может думаете справа-налево? Нет. Просто все дело в том что у нас народ сначала качает и втыкает, а потом репу чешет – “а чо эта атвалилось все?”
      Для кого сопроводительная документация пишется? MS ее для себя чтоли рисует?
      Если думать перед тем как сделать чтото – будет сильно лучше.

  4. Приветствую.
    Таких “подводных камней” при обновлении Exchange 2003 SP2 не возникает?

    1. Эээ, несколько сотен раз накатывал SP2 на Exchange 2003 в рабочих условиях. Ну как-то “закономерных проблем” не возникало. Отдельные неполадки могли возникнуть, из-за неправильной конфигурации или недостающего программного обеспечения. Но это – частные случаи.
      Тут нет подводных камней, весь пост – хорошо задокументированное объяснение что и почему происходит.

  5. У меня маленько другая ситуация – я нажал “отмена” при установке обновления через WSUS, затем скачал rollup и установил его вручную. В результате у меня все службы Exchange оказались в состоянии “Отключено”.
    Наверное было бы полезным перечислить список служб, которые необходимо перевести в режим “Автозапуск”.

  6. чет я не понял где че включить и через что создать этот файл а главное куда после создание иго воткнуть

  7. обьясните подробнее что куда нажать и как создать пожалуйста. или будет проще удалить это обновление

Leave a Reply

Your email address will not be published.