Exchange Transport Service can't start when CatchAll Agent is enabled

Jun 4, 2009 at 12:13 PM
Edited Jun 4, 2009 at 12:16 PM

Hello there,
I just applied this catchall-agent-configuration on our Exchange 2007 Single-Server (with Hub Transport role) Environment, as described in the README-file.
But when I now enable the CatchAll Agent and restart the Transport service, it immediately shuts down the minute it was started. After disabling the CatchAll Agent and restarting the Transport service, everything works fine again.

The Eventlog reports an error about an invalid assembly path. So I don't know where the mistake is. We have the latest Serivce Pack with rollup 7 installed. Maybe any of the last Exchange Updates didn't work with this agent anymore?
The path to the CatchAll-agent files is: "F:\Exchange 2007\CatchAllTool" May the space in this path make problems (even if it's in quotes)? How can I deinstall the already installed dll and install it in a new path (without spaces)?

These are the 2 errors logged in the Eventlog - unfortunately it's a server with German language:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Ereignistyp: Fehler
Ereignisquelle: MSExchange Extensibility
Ereigniskategorie: MExRuntime
Ereigniskennung: 1052
Datum: 04.06.2009
Zeit: 13:34:12
Benutzer: Nicht zutreffend
Computer: MAIL2
Beschreibung:
Fehler beim Erstellen der Agentfactory für den Agent "CatchAll Agent" mit Fehler "Fehler beim Erstellen des Typs 'CatchAll.CatchAllFactory' aus Assembly 'F:\Exchange 2007\CatchAllTool\CatchAllAgent.dll' aufgrund von Fehler 'Ungültiger Agent-Assemblypfad.'.". Stellen Sie sicher, dass die entsprechende Transport-Agent-Assembly und die Abhängigkeiten mit der richtigen Version installiert sind.

Weitere Informationen über die Hilfe- und Supportdienste erhalten Sie unter http://go.microsoft.com/fwlink/events.asp.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Ereignistyp: Fehler
Ereignisquelle: MSExchangeTransport
Ereigniskategorie: Konfiguration
Ereigniskennung: 16023
Datum: 04.06.2009
Zeit: 13:34:12
Benutzer: Nicht zutreffend
Computer: MAIL2
Beschreibung:
Microsoft Exchange konnte Transport-Agents nicht starten. Der Microsoft Exchange-Transportdienst wird beendet. Ausnahmedetails: Fehler beim Erstellen des Typs 'CatchAll.CatchAllFactory' aus Assembly 'F:\Exchange 2007\CatchAllTool\CatchAllAgent.dll' aufgrund von Fehler 'Ungültiger Agent-Assemblypfad.'.: Microsoft.Exchange.Data.ExchangeConfigurationException: Fehler beim Erstellen des Typs 'CatchAll.CatchAllFactory' aus Assembly 'F:\Exchange 2007\CatchAllTool\CatchAllAgent.dll' aufgrund von Fehler 'Ungültiger Agent-Assemblypfad.'. ---> System.ArgumentException: Ungültiger Agent-Assemblypfad.
--- Ende der internen Ausnahmestapelüberwachung ---
bei Microsoft.Exchange.Data.Transport.Internal.MExRuntime.FactoryTable.CreateAgentFactory(AgentInfo agentInfo)
bei Microsoft.Exchange.Data.Transport.Internal.MExRuntime.FactoryTable..ctor(IEnumerable agents)
bei Microsoft.Exchange.Data.Transport.Internal.MExRuntime.RuntimeSettings..ctor(MExConfiguration config, String agentGroup)
bei Microsoft.Exchange.Data.Transport.Internal.MExRuntime.MExRuntime.Initialize(String configFile, String agentGroup)
bei Microsoft.Exchange.Protocols.Smtp.MExEvents.Initialize(String configFilePath)
bei Microsoft.Exchange.Transport.Components.SmtpMExRuntimeLoader.Load().

Weitere Informationen über die Hilfe- und Supportdienste erhalten Sie unter http://go.microsoft.com/fwlink/events.asp.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

I'm thankfull for every advise.

PS: Sorry for the double-post at "Issue Tracker". I thought it was better placed in here, but i wasn't able to get that post out there.

Coordinator
Jun 5, 2009 at 1:11 PM


Hello Finius,

I have not heard this problem ever. The task should have checked for that to be a valid path and assembly.

I would try entering the path in the agents.config file. That file is located somewhere under the TransportRoles directory, which is in the Exchange install directory.

-Wilbert



From: [email removed]
To: [email removed]
Date: Thu, 4 Jun 2009 05:13:29 -0700
Subject: Exchange Transport Service can't start when CatchAll Agent is enabled [catchallagent:58435]

From: finius
Hello there,
I just applied this catchall-agent-configuration on our Exchange 2007 Single-Server (with Hub Transport role) Environment, as described in the README-file.
But when I now enable the CatchAll Agent and restart the Transport service, it immediately shuts down the minute it was started. After disabling the CatchAll Agent and restarting the Transport service, everything works fine again.

The Eventlog reports an error about an invalid assembly path. So I don't know where the mistake is. We have the latest Serivce Pack with rollup 7 installed. Maybe any of the last Exchange Updates didn't work with this agent anymore?
The path to the CatchAll-agent files is: "F:\Exchange 2007\CatchAllTool" May the space in this path make problems (even if it's in quotes)? How can I deinstall the already installed dll and install it in a new path (without spaces)?
These are the 2 errors logged in the Eventlog - unfortunately it's a server with German language:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Ereignistyp: Fehler
Ereignisquelle: MSExchange Extensibility
Ereigniskategorie: MExRuntime
Ereigniskennung: 1052
Datum: 04.06.2009
Zeit: 13:34:12
Benutzer: Nicht zutreffend
Computer: MAIL2
Beschreibung:
Fehler beim Erstellen der Agentfactory für den Agent "CatchAll Agent" mit Fehler "Fehler beim Erstellen des Typs 'CatchAll.CatchAllFactory' aus Assembly 'F:\Exchange 2007\CatchAllTool\CatchAllAgent.dll' aufgrund von Fehler 'Ungültiger Agent-Assemblypfad.'.". Stellen Sie sicher, dass die entsprechende Transport-Agent-Assembly und die Abhängigkeiten mit der richtigen Version installiert sind.

Weitere Informationen über die Hilfe- und Supportdienste erhalten Sie unter http://go.microsoft.com/fwlink/events.asp.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Ereignistyp: Fehler
Ereignisquelle: MSExchangeTransport
Ereigniskategorie: Konfiguration
Ereigniskennung: 16023
Datum: 04.06.2009
Zeit: 13:34:12
Benutzer: Nicht zutreffend
Computer: MAIL2
Beschreibung:
Microsoft Exchange konnte Transport-Agents nicht starten. Der Microsoft Exchange-Transportdienst wird beendet. Ausnahmedetails: Fehler beim Erstellen des Typs 'CatchAll.CatchAllFactory' aus Assembly 'F:\Exchange 2007\CatchAllTool\CatchAllAgent.dll' aufgrund von Fehler 'Ungültiger Agent-Assemblypfad.'.: Microsoft.Exchange.Data.ExchangeConfigurationException: Fehler beim Erstellen des Typs 'CatchAll.CatchAllFactory' aus Assembly 'F:\Exchange 2007\CatchAllTool\CatchAllAgent.dll' aufgrund von Fehler 'Ungültiger Agent-Assemblypfad.'. ---> System.ArgumentException: Ungültiger Agent-Assemblypfad.
--- Ende der internen Ausnahmestapelüberwachung ---
bei Microsoft.Exchange.Data.Transport.Internal.MExRuntime.FactoryTable.CreateAgentFactory(AgentInfo agentInfo)
bei Microsoft.Exchange.Data.Transport.Internal.MExRuntime.FactoryTable..ctor(IEnumerable agents)
bei Microsoft.Exchange.Data.Transport.Internal.MExRuntime.RuntimeSettings..ctor(MExConfiguration config, String agentGroup)
bei Microsoft.Exchange.Data.Transport.Internal.MExRuntime.MExRuntime.Initialize(String configFile, String agentGroup)
bei Microsoft.Exchange.Protocols.Smtp.MExEvents.Initialize(String configFilePath)
bei Microsoft.Exchange.Transport.Components.SmtpMExRuntimeLoader.Load().

Weitere Informationen über die Hilfe- und Supportdienste erhalten Sie unter http://go.microsoft.com/fwlink/events.asp.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


Lauren found her dream laptop. Find the PC that’s right for you.
Jun 8, 2009 at 11:53 AM

Hello wilbertdg,

thank you for your post.
I checked the path in the agents.xml configfile and it seems to be quite correct:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <mexRuntime>
    <monitoring>
      <agentExecution timeLimitInMilliseconds="300000" />
    </monitoring>
    <agentList>
      <agent name="Transport Rule Agent" baseType="Microsoft.Exchange.Data.Transport.Routing.RoutingAgent" classFactory="Microsoft.Exchange.MessagingPolicies.TransportRuleAgent.TransportRuleAgentFactory" assemblyPath="F:\Exchange 2007\TransportRoles\agents\Rule\Microsoft.Exchange.MessagingPolicies.TransportRuleAgent.dll" enabled="true" />
      <agent name="Journaling Agent" baseType="Microsoft.Exchange.Data.Transport.Routing.RoutingAgent" classFactory="Microsoft.Exchange.MessagingPolicies.Journaling.JournalAgentFactory" assemblyPath="F:\Exchange 2007\TransportRoles\agents\Journaling\Microsoft.Exchange.MessagingPolicies.JournalAgent.dll" enabled="true" />
      <agent name="AD RMS Prelicensing Agent" baseType="Microsoft.Exchange.Data.Transport.Routing.RoutingAgent" classFactory="Microsoft.Exchange.MessagingPolicies.RmSvcAgent.PrelicenseAgentFactory" assemblyPath="F:\Exchange 2007\TransportRoles\agents\RmSvc\Microsoft.Exchange.MessagingPolicies.RmSvcAgent.dll" enabled="false" />
      <agent name="CatchAll Agent" baseType="Microsoft.Exchange.Data.Transport.Smtp.SmtpReceiveAgent" classFactory="CatchAll.CatchAllFactory" assemblyPath="F:\Exchange 2007\CatchAllTool\CatchAllAgent.dll" enabled="false" />
    </agentList>
  </mexRuntime>
</configuration>

 

 

Jul 9, 2009 at 5:32 PM

Hi,
You have to change from F: to C:
ex: F:\Exchange 2007\CatchAllTool to C:\Exchange 2007\CatchAllTool or C:\Program Files\CatchAllTool

Aug 18, 2009 at 2:03 PM

Try adding the "NETWORK SERVICE" permission on the two files.

 

Alternatively, install the agent along with the other Exchange agents:-

Eg:- C:\Program Files\Microsoft\Exchange Server\TransportRoles\agents\catchall

When I did the above, it automatically added the "NETWORK SERVICE" permission to both files. You'll need to adjust the install procedure as follows:-

 

install-transportagent -Name "CatchAll Agent" -TransportAgentFactory:CatchAll.CatchAllFactory -AssemblyPath:"C:\Program Files\Microsoft\Exchange Server\TransportRoles\agents\catchall\CatchAllAgent.dll"

get-transportagent

enable-transportagent "CatchAll Agent"

net stop MSExchangeTransport

net start MSExchangeTransport

 


--------------------------------------------------------------------------------------
If you are having issues (and you want to uninstall the CatchAll agent):-


net stop MSExchangeTransport

uninstall-transportagent "CatchAll Agent"

net start MSExchangeTransport

--------------------------------------------------------------------------------------

 

Hope that helps!

Semple1 :-)