COMException E_FAIL in PluginManager

Aug 18, 2010 at 4:30 PM
Hi, I am trying to swap out my existing video player with the SMFPlayer, but the PluginManager is failing when it tries to create a DeploymentCatalog. MEF is still a mystery to me, but I am not doing anything custom! I get a COMException (HRESULT E_FAIL) when the DeploymentCatalog is instantiated on line 196 in PluginManager.cs. I get the same problem whether I am trying do to a DeliveryMethod of Streaming or AdaptiveStreaming ( I have included the SmoothStreaming.dll in the project). Is there something really obvious I am overlooking?
Coordinator
Aug 18, 2010 at 6:50 PM

Do you have an example project you can post on an http site?  If I can download an example I'll try taking a look.

Aug 18, 2010 at 7:46 PM

I will try to email you the control & model class that it is failing on for me.  The whole project might be hard to step through because of the web services it references, etc.

Coordinator
Aug 18, 2010 at 8:11 PM

I'll need an app I can download, run, and reproduce this issue.  Can you recreate this in an isolated application that has no dependencies on web services or other components?

Aug 18, 2010 at 11:32 PM
Edited Aug 20, 2010 at 11:33 PM
I will see what I can do. I tried a clean application and just created a brand new project and imported the control that uses SMFPlayer and the plugins load fine. I am also using Unity to do some dependency injection in the project. I will see if I can swap out my real implementations with fake ones and send you a zipped up solution to your Engineered Experiences email address.
Aug 21, 2010 at 11:42 PM

I have been fighting issues with this exception as well for last two weeks. I was excited to see the 2.1 release hoping this fix it but it doesn't appear to be the case.

The first thing I noticed (which seems to not play well with unity or mef) is a huge descrepancy in the versions of the Smooth Streaming DLL. Different projects and sources referenced around this community are usually one of two flavors:

Version 3.0.711.19 - which happens to be OLDER than the Version 1.0.837.34 - which is what Microsoft 'officially' released. Version 3.0.711.19.

This may or may not be the culprit. Then again it could be the version of MEF or Unity your app is using. The souce code branches aren't updated or aligned with the drops and releases and further increases the complexity of ironing out the root cause.