System.IO.FileLoadException. Could not load Accessibility, Version=2.0.0.0

dodecahydra picture dodecahydra · May 2, 2011 · Viewed 11k times · Source

I have just recently been getting this issue and it may be due to something I installed on my machine. I cannot recall though. Every once in a while I will receive a Microsoft .NET Framework message box that pops up on my computer and it tells me:

"Unhandled exception has occurred in a component in your application. If you click Continue, the application will ignore this error and attempt to continue.

Could not load file or assembly 'Accessibility, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The given assembly name or codebase"

I tried reinstalling the .net 4.0 framework. I cannot find the .net 2.0 framework download to reinstalling that. I tried using gacutil /uf accessibility to force that dll to be uninstalled but that doesn't work. I have also checked where the Accessibility dll is installed and compared it to other machines and everything is the same including the global.config and web.config.

This exception does not only occur for one process on my machine. Since it is an issue with my GAC, any application that uses this assembly throws the same exception.

I turned on binding logging with Fusion and this what the details tell me:

"See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.IO.FileLoadException: Could not load file or assembly 'Accessibility, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The given assembly name or codebase was invalid. (Exception from HRESULT: 0x80131047)
File name: 'Accessibility, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
   at System.Windows.Forms.Control.OnHandleCreated(EventArgs e)
   at System.Windows.Forms.Control.WmCreate(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

=== Pre-bind state information ===
LOG: User = CORP\agg9909
LOG: DisplayName = Accessibility, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 (Fully-specified)
LOG: Appbase = file:///C:/Program Files (x86)/Intel/Intel(R) Management Engine Components/IMSS/
LOG: Initial PrivatePath = NULL
Calling assembly : System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IMSS\PrivacyIconClient.exe.Config
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\v2.0.50727\config\machine.config.
LOG: Post-policy reference: Accessibility, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
LOG: The same bind was seen before, and was failed with hr = 0x80131047.



************** Loaded Assemblies **************
mscorlib
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.5444 (Win7SP1GDR.050727-5400)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
----------------------------------------
PrivacyIconClient
    Assembly Version: 6.0.40.1213
    Win32 Version: 6.0.40.1213
    CodeBase: file:///C:/Program%20Files%20(x86)/Intel/Intel(R)%20Management%20Engine%20Components/IMSS/PrivacyIconClient.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
AMT_COM_InterfaceLib
    Assembly Version: 1.0.0.0
    Win32 Version: 6.0.0.0
    CodeBase: file:///C:/Program%20Files%20(x86)/Intel/Intel(R)%20Management%20Engine%20Components/IMSS/AMT_COM_InterfaceLib.DLL
----------------------------------------
AMT_SW_GUI
    Assembly Version: 1.0.3538.22155
    Win32 Version: 1.0.0.20
    CodeBase: file:///C:/Program%20Files%20(x86)/Intel/Intel(R)%20Management%20Engine%20Components/IMSS/AMT_SW_GUI.DLL
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box."

Any help would be greatly appreciated.

Answer

Ian Davis picture Ian Davis · May 2, 2011

Your Accessibility.dll is most likely corrupted. You will not be able to delete the file, even as Administrator.

You must go into the security settings and change the owner from TrustedInstaller to a different user and give yourself permissions on the file. Once done, get an Accessibility.dll from a working computer and replace your corrupted version.

Best I can guess, an installer from Microsoft corrupted the DLL as no user has permission to edit/delete/replace files owned by TrustedInstaller.