0x80230729 (The extension could not be loaded.)

Hi,

I've been working on this most of the day without any luck. I'm wondering if anyone has seen something like this.

PCNS can successfully deliver the password change to an AD target, so PCNS should be OK.

The failure occurs when we add the Oracle EBS Web Service management agent to the password sync targets.

The error message indicates that the Microsoft.IdentityManagement.WebService.MA.dll cannot be loaded due to an incorrect .NET framework version.

An unexpected error has occurred during a password set operation.
 "BAIL: MMS(5080): d:\bt\9394412\private\source\miis\ma\core\passwordext.cpp(322): 0x80230729 (The extension could not be loaded.)
ERR_: MMS(5080): d:\bt\9394412\private\source\miis\ma\core\passwordext.cpp(804): Please verify that the password extension dll can be located in the Extensions directory.
If the extension is present, confirm that the version of the .NET framework that can run the extension is installed on the server and that a supportedRuntimes entry in the configuration files specifies that version. The synchronization engine will not be able to load an extension that is built with a newer version  of the .NET framework than the version of the .NET runtime it is hosting.BAIL: MMS(5080): d:\bt\9394412\private\source\miis\ma\core\passwordext.cpp(806): 0x80230729 (The extension could not be loaded.)
BAIL: MMS(5080): d:\bt\9394412\private\source\miis\ma\extensible\export.cpp(2821): 0x80230729 (The extension could not be loaded.)
BAIL: MMS(5080): d:\bt\9394412\private\source\miis\ma\extensible\export.cpp(2866): 0x80230729 (The extension could not be loaded.)
BAIL: MMS(5080): d:\bt\9394412\private\source\miis\server\server\exportpassword.cpp(474): 0x80230729 (The extension could not be loaded.)
BAIL: MMS(5080): d:\bt\9394412\private\source\miis\server\server\ma.cpp(7961): 0x80230729 (The extension could not be loaded.)
BAIL: MMS(5080): d:\bt\9394412\private\source\miis\server\server\ma.cpp(8410): 0x80230729 (The extension could not be loaded.)
Forefront Identity Manager 4.1.2273.0"

I ran an Environment.Version command and it returns that we are using 4.0.30319.296.

In the dllhost.exe.config file, we have the settings:

<?xml version="1.0" encoding="UTF-16"?>
<configuration>
<configSections>
<section name="resourceManagementClient" type="Microsoft.ResourceManagement.WebServices.Client.ResourceManagementClientSection, Microsoft.ResourceManagement"/>
</configSections>

<!--
.NET Runtime startup configuration: If you use a .NET 4.0 runtime, the useLegacyV2RuntimeActivationPolicy attribute is required and must be set to "true".
 When multiple versions of the runtime are listed, the first supportedRuntime element should specify the most preferred version of the runtime,
and the last element should specify the least preferred version.
Currently, the Synchronization Service supports the following runtime choices: v2.0.50727 and v4.0.30319. If selected, the version must be found in the \Windows\Microsoft.NET\Framework or \Windows\Microsoft.NET\Framework64 directories.
-->
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0.30319"></supportedRuntime>
<supportedRuntime version="v2.0.50727"></supportedRuntime>
</startup>

<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.MetadirectoryServicesEx" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="3.3.0.0" newVersion="4.0.1.0" />
<bindingRedirect oldVersion="4.0.0.0" newVersion="4.0.1.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>


So, I think it looks like it should be trying to run the dll under the 4.0.30319 framework. The documentation says that framework is required and we are running it.

The dll is in the Extensions folder.

Has anyone seen this before or something like it? Any ideas on where else I could check?

Thanks,

Sami

February 28th, 2013 7:11pm

Hi,

are you running the management agent in a separate process? Could you try unchecking the box "Run this management agent in a separate process" in MA configuration and try again?

I had same error when running the synchronization in custom management agent after updating to R2.

Free Windows Admin Tool Kit Click here and download it now
March 1st, 2013 11:45am

Thank you for your reply. We aren't running the management agent in a separate process.
March 1st, 2013 2:27pm

If you're running in-proc, you would edit the miiserver.exe.config file. I've also seen this (or similar - I forget) if there is a bug in the constructor of the extension.

Free Windows Admin Tool Kit Click here and download it now
March 1st, 2013 4:59pm

Thank you for your reply. I've tried running in and out of proc with the same error showing up.

I tried a few different modifications to the miiserver.exe.config (as well as Mmsscrpt.exe.config and the Dllhost.exe.config files). I tried changing 4.0.30319 to 4.0 as per this article: http://msdn.microsoft.com/en-us/library/w4atty68.aspx

Even though we are only on FIM R2 (not on SP1), I tried a variation on the config file changes recommended here: http://support.microsoft.com/kb/2772429 but I referenced the newVersion as 4.0.1.0.

Still no luck.

Here's the miiserver.exe.config file. Maybe you'll see something glaringly wrong? Thank you for your help!

<?xml version="1.0" encoding="UTF-16"?>
<configuration>
  <configSections>
    <section name="resourceManagementClient" type="Microsoft.ResourceManagement.WebServices.Client.ResourceManagementClientSection, Microsoft.ResourceManagement"/>
    <section name="resourceManagementService" type="Microsoft.ResourceManagement.WebServices.ResourceManagementServiceSection, Microsoft.ResourceManagement.Service"/>
    <section name="resourceSynchronizationClient" type="MIIS.ManagementAgent.ResourceSynchronizationClientSection, mmsmafim"/>   
  </configSections>
  <!--
    .NET Runtime startup configuration: If you use a .NET 4.0 runtime, the useLegacyV2RuntimeActivationPolicy attribute is required and must be set to "true".
    When multiple versions of the runtime are listed, the first supportedRuntime element should specify the most preferred version of the runtime,
    and the last element should specify the least preferred version.
    Currently, the Synchronization Service supports the following runtime choices: v2.0.50727 and v4.0.30319. If selected, the version must be found in the \Windows\Microsoft.NET\Framework or \Windows\Microsoft.NET\Framework64 directories.
   -->
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0.30319"></supportedRuntime>
    <supportedRuntime version="v2.0.50727"></supportedRuntime>
  </startup>

  <!--
  <resourceManagementService/>
        Additional properties that can be specified for the <resourceManagementService /> configuration section
       
        PropertyName                                    DefaultValue                                Description
        ________________________________________________________________________________________________________________________________________________________________
           
        dataReadTimeoutInSeconds                        58                                          Database timeout for read operations
                                                                                                    Range: 0-max(int16)
       
        dataWriteTimeoutInSeconds                       58                                          Database timeout for write operations
                                                                                                    Range: 0-max(int16)
       
        synchronizationDataReadTimeoutInSeconds         1200                                        Synchronization operations (FIM MA import / export)
                                                                                                    that read from the FIM Service are tied to this timeout
                                                                                                    to allow these operations extra time to complete if there
                                                                                                    are a large number of objects / values in a batch.                                                                                                   
                                                                                                    Range: 0-max(int16)

        Note: The following registry key : ReadTimeOut , in the registry path : HKLM\SOFTWARE\Microsoft\Forefront Identity Manager\2010\Synchronization Service ,
        overrides the synchronizationDataReadTimeoutInSeconds property.

        synchronizationDataWriteTimeoutInSeconds        1200                                        Synchronization operations (FIM MA import / export)
                                                                                                    that write to the FIM Service are tied to this timeout
                                                                                                    to allow these operations extra time to complete if there
                                                                                                    are a large number of objects / values in a batch.                                                                                                   
                                                                                                    Range: 0-max(int16)       

                                                                                                                      
        externalHostName                                Defined by Administrator during set-up      This value is used by FIM to define the external host name
                                                                                                    that should be used by clients to connect to FIM when you deploy
                                                                                                    a Load Balanced configuration.       
    -->
  <resourceSynchronizationClient/>
  <!--
        Additional properties that can be specified for the <resourceSynchronizationClient /> configuration section. This configuration is used to configure the FIM MA
        settings.
       
        PropertyName                                    DefaultValue                                Description
        ________________________________________________________________________________________________________________________________________________________________________________
           
        asynchronous                                    true                                        This property controls whether FIM MA uses the older synchronous channel
                                                                                                    or the new asynchronous channel when communicating with FIM Service.
       
        aggregate                                       true                                        This property controls whether FIM MA can send data to FIM Service in batches.
       
        aggregationThreshold                            1000                                        This property controls the number of attributes per aggregated batch.
       
        delayUpdateAcknowledgements                     false                                       This property controls whether the FIM Management Agent sends acknowledgements to
                                                                                                    FIM Synchronization Service immediately upon Request completion, or withholds them
                                                                                                    until the end for Update operations. Setting this to true may reduce the overall time
                                                                                                    to export data, but the FIM Synchronization Service UI statistics are not updated as frequently.
       
        exportRequestsInProcessMaximum                  50                                          This property controls the maximum number of export requests that
                                                                                                    can be in process.              
                                                                                                   
    -->
    <system.diagnostics>     
        <sources>
            <source name="ForefrontIdentityManager.ManagementAgent" switchValue="Warning">
                <listeners>
                    <add initializeData="ForefrontIdentityManager.ManagementAgent" type="System.Diagnostics.EventLogTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
                         name="MAExceptionEventLogListener" traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, Callstack">
                    <filter type="" />
                    </add>
                </listeners>
            </source>
            <source name="ForefrontIdentityManager.ManagementAgent.EventTracingForWindowsTraceSource" switchValue="Verbose">
                <listeners>
                    <add name="MAEventTracingForWindowsListener"
                         type="System.Diagnostics.Eventing.EventProviderTraceListener, System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
                         initializeData="{C4D0C1D4-909D-481b-B011-10E682A6009C}" />
                </listeners>
            </source>
        </sources>
    </system.diagnostics>
    <!-- Instructions for collecting ETW Traces
   
         To collect ETW traces for Microsoft.ResourceManagement.Service. Run the following commands in the specified order from
         an elevated command prompt.
               
            1. To start a new etw trace session    : logman start mysession -p {C4D0C1D4-909D-481b-B011-10E682A6009C} -o FIMMAETWtrace.etl -ets
            2. To stop a running etw trace session : logman stop mysession -ets
            
            To format the collected traces run any of the following commands (from an elevated command prompt) depending
            on the required output format.
              
            1. tracerpt FIMMAETWtrace.etl -o FIMMAEventTrace.xml -of XML -lr -summary FIMMAEventTraceSum.txt -report FIMMAEventTraceRpt.xml
            2. tracerpt FIMMAETWtrace.etl -o FIMMAEventTrace.evtx -of EVTX -lr -summary FIMMAEventTraceSum.txt -report FIMMAEventTraceRpt.xml
            3. tracerpt FIMMAETWtrace.etl -o FIMMAEventTrace.csv -of CSV -summary FIMMAEventTraceSum.txt -report FIMMAEventTraceRpt.xml  
  -->
    <!--
       Full Diagnostics configuration.
      
       Uncomment the following section and replace the default <system.diagnostics> configuration to
       enable all trace sources and obtain all available traces for Microsoft.ResourceManagement.Service
  -->
    <!--
    <system.diagnostics>     
        <sources>      
            <source name="System.ServiceModel" switchValue="Verbose"
              propagateActivity="true">
                <listeners>                  
                    <add name="ServiceModelTraceListener">
                        <filter type="" />
                    </add>
                </listeners>
            </source>
            <source name="ForefrontIdentityManager.ManagementAgent" switchValue="Verbose">
                <listeners>
                    <add initializeData="ForefrontIdentityManager.ManagementAgent" type="System.Diagnostics.EventLogTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
                         name="ExceptionEventLogListener" traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, Callstack">
                    <filter type="" />
                    </add>
                    <add name="ServiceModelTraceListener">
                        <filter type="" />
                    </add>
                </listeners>
            </source>
            <source name="ForefrontIdentityManager.ManagementAgent.EventTracingForWindowsTraceSource" switchValue="Verbose">
                <listeners>
                    <add name="EventTracingForWindowsListener"
                         type="System.Diagnostics.Eventing.EventProviderTraceListener, System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
                         initializeData="{C4D0C1D4-909D-481b-B011-10E682A6009C}" />
                </listeners>
            </source>
        </sources>      
        <sharedListeners>
            <add initializeData="ForefrontIdentityManager.ManagementAgent_tracelog.svclog"
              type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
              name="ServiceModelTraceListener" traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack">
                <filter type="" />
            </add>
        </sharedListeners>
        <trace autoflush="true" />
    </system.diagnostics>
    -->
  <!--
    .NET Runtime startup configuration: If you use a .NET 4.0 runtime, the useLegacyV2RuntimeActivationPolicy attribute is required and must be set to "true".
    When multiple versions of the runtime are listed, the first supportedRuntime element should specify the most preferred version of the runtime,
    and the last element should specify the least preferred version.
    Currently, the Synchronization Service supports the following runtime choices: v2.0.50727 and v4.0.30319. If selected, the version must be found in the \Windows\Microsoft.NET\Framework or \Windows\Microsoft.NET\Framework64 directories.
   -->
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0.30319"></supportedRuntime>
    <supportedRuntime version="v2.0.50727"></supportedRuntime>
  </startup>

  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Microsoft.MetadirectoryServicesEx" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="3.3.0.0" newVersion="4.0.1.0" />
        <bindingRedirect oldVersion="4.0.0.0" newVersion="4.0.1.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

March 1st, 2013 7:46pm

Adding the Microsoft.IdentityManagement.MA.WebServices DLLs to the GAC with the gacutil in the v7.0A\bin\NetFX 4.0 Tools directory got us beyond this error.
  • Marked as answer by SamiVV Saturday, March 02, 2013 2:44 PM
Free Windows Admin Tool Kit Click here and download it now
March 2nd, 2013 2:44pm

Adding the Microsoft.IdentityManagement.MA.WebServices DLLs to the GAC with the gacutil in the v7.0A\bin\NetFX 4.0 Tools directory got us beyond this error.
  • Marked as answer by SamiVV Saturday, March 02, 2013 2:44 PM
March 2nd, 2013 2:44pm

I encountered a very similar error but when trying to configure the Windows Azure AD connector.  The install went fine but I got an error during config.

In my case, it was two factors:  

Error in the logs:

Could not load file or assembly 'file:///C:\Program Files\Microsoft Forefront Identity Manager\2010\Synchronization Service\Extensions\Microsoft.IdentityManagement.MA.WebServices.dll' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.

Solution:

1.  .NET 4.0 runtime wasn't installed so I installed that.


2.  In the miiserver.exe.config file the supportedRuntime needs to be re-ordered with v4.0 to be the first one.

<startup useLegacyV2RuntimeActivationPolicy="true">    
    <supportedRuntime version="v4.0"></supportedRuntime>  
    <supportedRuntime version="v2.0.50727"></supportedRuntime>        
  </startup>

Once I restarted the FIM Sync service, I was able to get the management agent configured.  Didn't need to GAC anything.


  • Edited by m_a_tt 15 hours 20 minutes ago clarification
Free Windows Admin Tool Kit Click here and download it now
March 20th, 2015 11:59am

I encountered a very similar error but when trying to configure the Windows Azure AD connector.  The install went fine but I got an error during config.

In my case, it was two factors:  

Error in the logs:

Could not load file or assembly 'file:///C:\Program Files\Microsoft Forefront Identity Manager\2010\Synchronization Service\Extensions\Microsoft.IdentityManagement.MA.WebServices.dll' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.

Solution:

1.  .NET 4.0 runtime wasn't installed so I installed that.


2.  In the miiserver.exe.config file the supportedRuntime needs to be re-ordered with v4.0 to be the first one.

<startup useLegacyV2RuntimeActivationPolicy="true">    
    <supportedRuntime version="v4.0"></supportedRuntime>  
    <supportedRuntime version="v2.0.50727"></supportedRuntime>        
  </startup>

Once I restarted the FIM Sync service, I was able to get the management agent configured.  Didn't need to GAC anything.


  • Edited by m_a_tt Friday, March 20, 2015 4:00 PM clarification
March 20th, 2015 3:58pm

I encountered a very similar error but when trying to configure the Windows Azure AD connector.  The install went fine but I got an error during config.

In my case, it was two factors:  

Error in the logs:

Could not load file or assembly 'file:///C:\Program Files\Microsoft Forefront Identity Manager\2010\Synchronization Service\Extensions\Microsoft.IdentityManagement.MA.WebServices.dll' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.

Solution:

1.  .NET 4.0 runtime wasn't installed so I installed that.


2.  In the miiserver.exe.config file the supportedRuntime needs to be re-ordered with v4.0 to be the first one.

<startup useLegacyV2RuntimeActivationPolicy="true">    
    <supportedRuntime version="v4.0"></supportedRuntime>  
    <supportedRuntime version="v2.0.50727"></supportedRuntime>        
  </startup>

Once I restarted the FIM Sync service, I was able to get the management agent configured.  Didn't need to GAC anything.


  • Edited by m_a_tt Friday, March 20, 2015 4:00 PM clarification
Free Windows Admin Tool Kit Click here and download it now
March 20th, 2015 3:58pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics