That's a tricky issue. Almost certainly something to do with the configuration/security. The problem is how to troubleshoot it. The best situation would be to have access to a machine.
My first thought was something with the DbProviderFactories but it sounds like you have tried to add them (in case they don't exist/can't be read). I'm still curious if you can get the listing. You can do it with powershell (or a .NET program):
[System.Data.Common.DbProviderFactories]::GetFactoryClasses() | % { $_.InvariantName }
I also wonder if the InnerException itself has an InnerException?
Another thing to try would be to see if any kind of data access is possible. I.e. can you open a database connection using straight ADO.NET? That might give some more information.
--
Randy Levy
Enterprise Library support engineer
entlib.support@live.com