Google
 
Web ppczone.net

View Full Version : Re: RAPI.DLL Redistribution ??


Chris Scott
01-05-2006, 03:27 PM
My guess would be no, but you would have to find the appropriate person
within Microsoft to ask for a definite answer.

Aside from that though you do have other options.
The first would be to install ActiveSync with the application - there may be
licensing issues with this too though.
Another option, if you have the source and can control the DLL binding,
would be to soft-link the DLL with the application instead of using it as a
hard-dependency. You could then try to load it and if that call failed turn
off the mobile functionality of your application. In C/C++ you would use
the RAPI calls via the LoadLibrary() and GetProcAddress() functions to do
this.


"SStephen" <SStephen@discussions.microsoft.com> wrote in message
news:A5179A46-61BB-43CE-B772-F230FEC85034@microsoft.com...
>I have an app that uses an active X tool with Rapi.dll as a dependency.
>The
> application includes 'optional' pocket pc support. I have Mobile users
> install ActiveSync which of course provides the dll. The problem is that
> for
> non mobile users the tool fails to register because the rapi.dll is
> missing.
> I was thinking to include the rapi.dll in my install program just for the
> sake of the tool registering correctly. Can the rapi.dll be redistributed
> apart from ActiveSync ??

Scott Yost [MSFT]
01-05-2006, 06:20 PM
According to
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q299891, it's not
redistributable. Chris's comment of using dynamic loading is really the best
solution for this scenario.

--
Scott Yost
Software Development Engineer/Test
Microsoft Corp.

This posting is provided "AS IS" with no warranties, and confers no rights.


"Chris Scott" <donotATmailDOTcom> wrote in message
news:%23%23UbkZjEGHA.216@TK2MSFTNGP15.phx.gbl...
> My guess would be no, but you would have to find the appropriate person
> within Microsoft to ask for a definite answer.
>
> Aside from that though you do have other options.
> The first would be to install ActiveSync with the application - there may
> be licensing issues with this too though.
> Another option, if you have the source and can control the DLL binding,
> would be to soft-link the DLL with the application instead of using it as
> a hard-dependency. You could then try to load it and if that call failed
> turn off the mobile functionality of your application. In C/C++ you would
> use the RAPI calls via the LoadLibrary() and GetProcAddress() functions to
> do this.
>
>
> "SStephen" <SStephen@discussions.microsoft.com> wrote in message
> news:A5179A46-61BB-43CE-B772-F230FEC85034@microsoft.com...
>>I have an app that uses an active X tool with Rapi.dll as a dependency.
>>The
>> application includes 'optional' pocket pc support. I have Mobile users
>> install ActiveSync which of course provides the dll. The problem is that
>> for
>> non mobile users the tool fails to register because the rapi.dll is
>> missing.
>> I was thinking to include the rapi.dll in my install program just for the
>> sake of the tool registering correctly. Can the rapi.dll be
>> redistributed
>> apart from ActiveSync ??
>
>

01-05-2006, 06:53 PM
SY [Thu, 5 Jan 2006 15:20:27 -0800]:
>...using dynamic loading is really the best solution for this scenario.

I'd say using DelayLoad is. No mess with
LoadLib/GetProc..., etc. -- the current source
can remain unchanged, and little new typing is
needed. Check the vc docs for details.
DelayLoad goes back to vc6.

--
40th Floor - Software @ http://40th.com/
iPlay : the ultimate audio player for mobiles
parametric eq, xfeed, reverb; all on a mobile