locked
UCCP API RRS feed

  • Question

  •  

    Hi I am trying a UCC API Sample in C#. I have registered all dlls and included them in the project but still i get a class unregistered exception.

     

    Retrieving the COM class factory for component with CLSID {201D2DCD-AF4F-484E-9793-56CAC5EC0C16} failed due to the following error: 80040154.

     

    Uccapi.dll is already registered. Microsoft.Office.Interop.Uccapi is also included in reference. Specifically this error is raising at,

     

    UccUriManager uriManager = new UccUriManager();

     

    Any ideas??

     

    BR

    UZ 

    Monday, October 22, 2007 12:38 PM

Answers

  • Well i got it working! the complete stuff. It requires UccApi.dll registered through regsvr32 as you already have. Also do some manual additions to the registry in HKCR-> CLSID and add the CLSIDs which the API is complaining about. Point the CLSID to uccapi.dll which you registered. I saw this error appearing twice, even after registering so i added two new clsids. The registry example is,

     

    Windows Registry Editor Version 5.00

    [HKEY_CLASSES_ROOT\CLSID\{645C90E5-F88C-41B1-BF6B-F0D79E99B62B}]
    @="UccPlatform Class"
    "AppID"=""

    [HKEY_CLASSES_ROOT\CLSID\{645C90E5-F88C-41B1-BF6B-F0D79E99B62B}\InprocServer32]
    @="C:\\Program Files\\Microsoft UCCAPI\\UccApi.dll"
    "ThreadingModel"="Apartment"

    [HKEY_CLASSES_ROOT\CLSID\{645C90E5-F88C-41B1-BF6B-F0D79E99B62B}\ProgID]
    @="UCCP.UccPlatform.1"

    [HKEY_CLASSES_ROOT\CLSID\{645C90E5-F88C-41B1-BF6B-F0D79E99B62B}\TypeLib]
    @="{ECD5307E-4419-43CF-8BDA-C9946AC375CF}"

    [HKEY_CLASSES_ROOT\CLSID\{645C90E5-F88C-41B1-BF6B-F0D79E99B62B}\VersionIndependentProgID]
    @="UCCP.UccPlatform"

     

     

    add this entry to registry if the CLSID is 645C90E5-F88C-41B1-BF6B-F0D79E99B62B or otherwise replace it with the CLSID api is complaining about. I think it was something like {201D2D*.*}. Ofcourse check the paths too.

     

    Cheers

    UZ

    Wednesday, October 24, 2007 1:50 PM

All replies

  • I too am getting the same error.......  "retrieving the COM class factory for component with CLSID {201D2DCD-AF4F-484E-9793-56CAC5EC0C16} failed due to the following error: 80040154."

     

    and at the same place

    UccUriManager uriManager = new UccUriManager()

     

    I verified that UccApi.dll is registered and required references are included in the project.

     

    Any solution?

     

    Thx

     

    Wednesday, October 24, 2007 1:37 PM
  • Well i got it working! the complete stuff. It requires UccApi.dll registered through regsvr32 as you already have. Also do some manual additions to the registry in HKCR-> CLSID and add the CLSIDs which the API is complaining about. Point the CLSID to uccapi.dll which you registered. I saw this error appearing twice, even after registering so i added two new clsids. The registry example is,

     

    Windows Registry Editor Version 5.00

    [HKEY_CLASSES_ROOT\CLSID\{645C90E5-F88C-41B1-BF6B-F0D79E99B62B}]
    @="UccPlatform Class"
    "AppID"=""

    [HKEY_CLASSES_ROOT\CLSID\{645C90E5-F88C-41B1-BF6B-F0D79E99B62B}\InprocServer32]
    @="C:\\Program Files\\Microsoft UCCAPI\\UccApi.dll"
    "ThreadingModel"="Apartment"

    [HKEY_CLASSES_ROOT\CLSID\{645C90E5-F88C-41B1-BF6B-F0D79E99B62B}\ProgID]
    @="UCCP.UccPlatform.1"

    [HKEY_CLASSES_ROOT\CLSID\{645C90E5-F88C-41B1-BF6B-F0D79E99B62B}\TypeLib]
    @="{ECD5307E-4419-43CF-8BDA-C9946AC375CF}"

    [HKEY_CLASSES_ROOT\CLSID\{645C90E5-F88C-41B1-BF6B-F0D79E99B62B}\VersionIndependentProgID]
    @="UCCP.UccPlatform"

     

     

    add this entry to registry if the CLSID is 645C90E5-F88C-41B1-BF6B-F0D79E99B62B or otherwise replace it with the CLSID api is complaining about. I think it was something like {201D2D*.*}. Ofcourse check the paths too.

     

    Cheers

    UZ

    Wednesday, October 24, 2007 1:50 PM
  • Thanks Usman!!!

     

    It works.

    Thursday, October 25, 2007 6:08 AM
  • Hi Guys,

     

    I have resolved this problem by udpating both OS and VS.

    Hope it will help you a little.

     

     

    Cheers,

    A.Z

    Thursday, October 25, 2007 6:16 AM
  •  

    Just posted working cs example (uccapi IMVoIPSample + video). Did anyone try to port uccapi samples to asp net?

     

    http://www.rapidshare.ru/448382

     

    PS Video only works when call from communicator

    Monday, October 29, 2007 2:22 PM
  • You don;t need to do all that. Just create a manifest file with the same name as your programs executable name (for example sample.exe.manifest

     

    This is a sample manifest file (set the project property to copy always or copy when newer, do this also for the uccapi.dll so it's copied to your app's directory as well)

     

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urnTongue Tiedchemas-microsoft-com:asm.v1"
              manifestVersion="1.0">
      <assemblyIdentity
          version="1.0.0.0"
          processorArchitecture="x86"
          name="sample.exe"
          type="win32"
        />

      <dependency>
        <dependentAssembly>
          <assemblyIdentity
              type="win32"
              name="Microsoft.VC80.CRT"
              version="8.0.50608.0"
              processorArchitecture="x86"
              publicKeyToken="1fc8b3b9a1e18e3b"
                />
        </dependentAssembly>
      </dependency>

      <dependency>
        <dependentAssembly>
          <assemblyIdentity
              version="2.0.0.0"
              processorArchitecture="x86"
              name="UCCAPI"
              type="win32"
        />
        </dependentAssembly>
      </dependency>
    </assembly>

     

    Sunday, December 2, 2007 9:41 PM
  • Did you get it to work in ASP.NET?
    Monday, December 3, 2007 5:34 AM
  • Guys, thanks for the info! I was dealing with the same issues and this thread was very useful.

     

    Now here is a question. I'm trying to use UCC API from ASP.NET 2.0 website. I get the same CLSID error. How do I add a manifest file to the website? I tried adding one but since there no exe or a single DLL, I just called it:

    <MyWebsiteName>.manifest

     

    This didn't help with resolving the CLSID error. It still comes up.

     

    In my case, I built out a class lib on top of the UCC API. Thanks in advance.

     

    Mark

     

    Friday, December 7, 2007 6:48 AM
  • The main problem in porting uccapi to asp.net is that there is no way to transmit throught wire the object VideoWindow (if you call uccapi on server side) and no way I found to grab rtp stream or image... On client side WMPlayer ActiveX is the most obvious candidate to consume video but it can't connect to rtp stream. So we shifted to call communicator or live meeting client from asp.net page. Any further ideas on uccapi issue would be highly appreciated.

    As for clsid errors regmon and filemon utils from sysinternals helped my very much, just find out what registry entries and files ucapi tryes to open and put there whatever he wants.

    Friday, December 7, 2007 7:00 AM
  • Alexander, not sure if your post was in response to mine. I'm not transmitting video or any other type of media. For now, all I need to do is retrieve contacts and show their presence information on a web page. I got this to work in m class lib (with manifests etc..), but I wish I could find a workaround for that CLSID error in ASP.NET app. Not sure what else to try.

     

    Friday, December 7, 2007 7:08 AM
  •  

    So I thought I had FileNotFound exception resolved during platform.Initialize but I guess now. Now it keeps complaining that it can't find an assembly. What assembly should I specify in platform.Initialize if it's ASP.Net 2.0 website? There is no single assembly or an exe. This is becoming frustrating. Does anyone have an suggestion on this?
    Friday, December 7, 2007 2:40 PM
  • Try to use filemon utility from sysinternals.

     

    Friday, December 7, 2007 2:43 PM
  • Filemon reported following files as missing while I run my UCC ASP.NET app:

    Microsoft.Office.Interop.UccApi.pdb
    Microsoft.Office.Interop.UccApi.xml
    Microsoft.Office.Interop.UccApi.XmlSerializers.dll
    Microsoft.Office.Interop.UccApi.INI

     

    However, the same files were reported missing when I run my Windows app that used the same UCC class lib that I build and windows app runs without issues.

     

    Can someone shed some light on what platform.Initialize does? I think if I understood what it's trying to do or find, I may be able to resolve this. Thanks.

    Friday, December 7, 2007 4:55 PM
  • You'll need to add a web.manifest file in the v-root of your ASP.NET application.

     

    Tuesday, January 15, 2008 12:12 AM
  • Hi Adrian,

     

    After adding web manifest we are able to load UCCP and create new instance of UccPlatform, however we are unable to get the call back events like OnEnable() or OnDisable() to fire.

     

    Please guide.

     

    Regards,

    Vivek Garg

    Monday, January 28, 2008 5:40 PM
  • Although we did manage to use UCCP in ASP.NET; we need to test it in production environments and also there are still couple of things that we need to sort out like multiple logins, reinitializing and disposing UCCP COM objects at runtime etc...

     

    Regards,

    Vivek Garg

    http://imwire.eventure.biz  

    Monday, February 4, 2008 8:16 AM
  • Hi,

    I am also trying to use UCCA API in my WebApp, but I am also not able to create the instance of UCCA classes. I tried to pass web.manifest file, but no luck.

     Can you tell me how did you solved your issue?

    --

    Regards

    Ankit Singhal


    ankit
    Wednesday, February 4, 2009 8:51 AM
  • Hi

    I am trying to make web services for features like sign in and presence using UCCAPI. I have success in doing so and the project seems to be running all fine. When i try and host it in my IIS and open my asmx file it gives me an error

    "Could not load file or assembly 'Microsoft.Office.Interop.UccApi, Version=2.0.6362.15, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified."

    <add assembly="Microsoft.Office.Interop.UccApi, Version=2.0.6362.15, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

    I have installed UCCAPI on server an have made the necessary registry setting too. If i open the project through VS in the server the project runs without a problem the problem is only when i try to host it, any suggestions?

    Regards
    Chands
    Saturday, March 7, 2009 6:09 AM
  • Hi

    I solved this problem by publishing the web page and making the Microsoft.Office.Interop.UCCAPI Dll available in the bin folder. Now when i try to run my sign in web service it is not signing me in and is returning false. I tried to debug it more and found out that the the sign in is throwing an exception

    The specified module could not be found. (Exception from HRESULT: 0x8007007E).

    THis means that one of the DLL's is not loaded properly and also found that the DLL was the Microsoft.Office.Interop.UCCAPI DLL. When i run it as a VS 2008 project from the same server it runs fine and returns me a success for sign in. When i host it in IIS is when i get this error. I have placed the DLL in the gac, in the PATH and bin folder of the web service that i have hosted. I am not sure where does the IIS look for this DLL while running. Any directions will be highly helpful.

    Thank you

    Regards
    Chands.

    Saturday, March 7, 2009 11:29 AM
  • Hi

    I am through with this problem too. Now i have a set of web services for few features :). I am still wondering how to implement the session based features like IM as a web service any idea?.

    Regards
    Chands
    Thursday, March 12, 2009 3:49 PM
  • Hey Alexander, Can u pls re-upload the files. It seems to have been deleted from the server.
    Saturday, May 2, 2009 12:30 AM
  • Hi. Could you please share the code. The link is not working.
    Thanks

    Sunday, August 30, 2009 9:17 PM