locked
RTC Client API 1.3 compatibility issues with Windows Vista RRS feed

  • Question

  • Hello,

    We have been working with the RTC Client API 1.3 for VoIP softphone solutions supporting Windows XP/2003. Recently, I've just tested installing it into Windows Vista RC 1. There are some compatibility issues with the RTC Client API. The "Application Sharing" and "Whiteboard" does not work in Windows Vista because it requires files from Windows Netmeeting to function. Since Vista no longer supports Netmeeting in favor of My Meeting Space, will there be a new RTC Client API for Vista that will include support for Application Sharing and Whiteboard?

    Is there a workaround to this compatibility issue? We have already deployed our softphones with the Application Sharing and Whiteboard feature to our customers and we hope that when they upgrade to Vista, our application will work.

    Hope to hear from you soon as we really need a roadmap on migrating our application to Windows Vista.

    Thanks.

    Regards,

    WK

    Thursday, October 12, 2006 2:50 AM

All replies

  • Hello

    Sorrily I have no solution for this, because I stumble with the RTC API and Vista much earlier. When just starting the AVDConf.exe a sample within the RTC SDK, it simply says "Initialization error", which comes from the CoCreateInstance statement

    // Initialize the RTC COM object

    hr = CoCreateInstance (CLSID_RTCClient, NULL, CLSCTX_INPROC_SERVER, IID_IRTCClient,(LPVOID *)&m_pClient);

    With Windows XP this sample run fine. Has anyone solved this problem?

    Best Regards Uwe

    Wednesday, November 8, 2006 12:40 PM
  • I got this issue too. I saw some guys post articles in the internet. They said Windows Visa should support RTC Client API. It is really bad for me. My application exactly blew on Vista and crashed at CoCreateInstance. About appshare you may get some at http://msdn2.microsoft.com/En-US/library/aa373852.aspx
    Tuesday, June 19, 2007 1:57 AM
  • I'm also having this problem. Microsoft needs to provide some support here. My softphone application, built on RTCClient API 1.3 works fine in XP, but I can't get it to initialize the RTC COM component in Vista. I have tried to install the RTC component using a variety of methods, including the method recommended by microsoft found here: http://blogs.technet.com/uc/archive/2006/11/30/rtc-client-api-s-and-windows-vista.aspx

    But it dosen't seem to work. It looks like the problem lies in the way the RTC API components are registered with Vista. Even regsvr32 fails when trying to register rtcdll.dll. I have tried copying registry entries, renaming files/directories etc. So far no success. Anyone know how to fix this?
    Sunday, August 12, 2007 6:01 AM
  • Dear WK,

     

    We have been trying to get our soft client to work on VISTA using RTC 1.3 APIs, and with no luck.  From your entry, i understood that you couldn't get Whiteboard and Application Sharing to work on VISTA, but does that mean that you got Voice and Video to work? Please confirm...

     

    Best regards, MBA

    Tuesday, August 21, 2007 1:00 PM
  • Hi All,

     

    I have developed softphone using RTC. It works fine on Windows CP and Windows Server 2003 but when i try create the instance of RTC client on Vista system i am getting error and my softphone wont work on vista

     

    I am getting error like
    Retrieving the COM class factory for component with CLSID {7A42EA29-A2B7-40C4-B091-F6F024AA89BE} failed due to the following error: 80040154.

     

    I search a lot on internet for this issue but i am not able to find any thing useful.

     

    Please help me if any body has idea about this issue.

     

    Thank you,

    Nisarg

    Friday, January 11, 2008 10:04 AM
  • same here, very upsetting when things don't work as expected.
    Saturday, May 3, 2008 1:28 AM
  •  

    Hi,

     

    Same problem for me, i'm working hard to solve it

     without any success.

     

     

    Monday, June 2, 2008 9:31 AM
  •  

    Really what is going on here is that the side-by-side RTC libraries and dependencies are not installed under Vista.  Ok, so I do you get them on the machine.  I tried the article above; it states to use the merge module available under the RTC SDK.  My .msi successfully installed the RTC libraries and dependencies, but my application would still fail to create the COM object.  My suspicions were that the rtcdll.dll had not been registered properly during the install. 

     

    It turns out that I could never get the COM rtcdll.dll to register using regsvr32 no matter what I did.

     

    So how did I get this to work.

     

    1) Manually copy the rtcdll.dll, rtcres.dll and dxmrtp.dll dlls to my application directory

    2) Manually register rtcdll.dll (hint export all the settings from an xp or 2003 machine)

    3) Create .manifest files for these .dll(s) (hint: look at the rtcsdk for examples - in the installation directory)

     

    This article here gets it about 90% right minus step #2

     

    http://laurent.etiemble.free.fr/dotclear/index.php?2006/11/28/99-using-microsoft-rtc-api-under-windows-vista

     

    I would not attempt to install the RTC libraries in winsxs since this just complicates things and lengthens the time for the op sys to find the actually .dll IMO.

     

    Tuesday, June 17, 2008 5:38 PM
  • You don't need manually register rtcdll.dll. Really you must not register it. You should use it as isolated com library. Just place rtcdll.dll, dxmrtp.dll, rtcres.dll and manifest files for rtcdll.dll and dxmrtp.dll with your application. Then create manifest file for your exe with RTC dependence and embed it into executable. This should work fine, we use it and it works on Vista SP1 even with UAC enabled.
    Friday, June 27, 2008 5:07 AM


  • I agree, you don't need to manually register the file.  If you R-Click cmd.exe and run as administrator the regsvr32 process will work. 

    However, I don't agree on the need to register the rtcdll.dll.  If I unregister the COM object, then I get a fail to create the object.  When I register it, it works. 

    Not in front of my work computer at the moment so I cannot get the exact error message....However, its a COM object that needs to be created and therefore needs to be registered.

    Perhaps its the way you are calling it?  I'm calling it through COM interop in my .net assembly.
    Sunday, June 29, 2008 3:38 PM
  •  

    To recap, neither the Real Time Client API (RTC) not NetMeeting which relies on RTC are installed on an out-of-the-box Vista installation.

     

    To install the RTC Client API on vista, you need to install its Merge Merge modul under TrustedInstaller privileges; you can't

    install it by hand, even as Administrator! Download and install the 'RTC Client API v1.3 SDK'.

     

    To this end, create a setup project using Visual Studio which includes the RtcClnt.msm merge module and install it.

     

    Once you have the RTC Client API installed, you may need to register the its COM DLLs by hand. They are found under the 'C:\Windows\WinSXS' (Side-by-Side) folder structure. The trick is to launch a command-line prompt (cmd.exe) using the 'Run As...' context menu item and login using the Administrator account. Then, you need to register the COM DLLs in the proper order: dxmrtp.dll first, rtcdll.dll second (since the latter depends on the former):

     

    1. regsvr32 c:\Windows\winsxs\x86_microsoft.windows.networking.dxmrtp_6595b64144ccf1df_5.2.1002.3_none_3b4992a44ea4e480\dxmrtp.dll

     

    2. regsvr32 c:\Windows\winsxs\x86_microsoft.windows.networking.rtcdll_6595b64144ccf1df_5.2.1002.3_none_af1aecad9109b29e\rtcdll.dll

     

    Then, you can install NetMeeting on Vista by using the KB927853 hotfix.

     

    In my experience, I have found that using .manifest files was not required to instanciate the RTC Client API from my own applications.

     

    References:

    http://kartones.net/blogs/kartones/archive/2007/05/01/vista-windows-side-by-side-assemblies.aspx

    http://www.microsoft.com/downloads/details.aspx?familyid=C3A7BD15-FD1C-4BF7-A505-3F8FAF1E120A&displaylang=en

    http://support.microsoft.com/kb/927853

     

    Sunday, September 14, 2008 1:52 PM
  • BTW, as suggested above, if you don't want to fight with SxS, once you have the RTC Client API DLLs installed, copy the dxmrtp.dll and rtcdll.dll files to your application's output path. Also copy the following file

    C:\Windows\winsxs\x86_microsoft.windows.networking.rtcres_6595b64144ccf1df_5.2.1002.3_none_b5a302ab8cccdfca\rtcres.dll

    Then use regsvr32 to register first dxmrtp.dll file, then rtcdll.dll in your application output folder.

     

    Sunday, September 14, 2008 2:39 PM
  • This works with older versions of RTC, but not with RTC 1.3, can you please upload the DLL used in your solution to register RTC 1.3 under Vista.

     

    Thanks

    • Proposed as answer by Lázaro Cruz Tuesday, August 23, 2011 9:21 PM
    • Unproposed as answer by Lázaro Cruz Tuesday, August 23, 2011 9:22 PM
    Wednesday, September 17, 2008 9:16 AM
  • Try with this,

    http://msdn.microsoft.com/en-us/library/ms775308(v=vs.85).aspx

    http://laurent.etiemble.free.fr/dotclear/index.php?2006/11/28/99-using-microsoft-rtc-api-under-windows-vista


    this work for me under:

    windows vista 32bits

    windows 7 32bits

    windows server 2008 datacenter 64bits

     

     


    Lázaro Cruz Software Engineer
    • Proposed as answer by Lázaro Cruz Thursday, October 13, 2011 6:23 PM
    Tuesday, August 23, 2011 9:25 PM