Distribute rasapi32.dll

Dear Experts,

I am creating a Dial-Up-Connection using Rasdial. To do this rasapi32.dll has to be linked.

My question here is can i redistribute this rasapi32.dll and rasapi32.lib with my package?

thanks.

>

Dear Experts,

I am creating a Dial-Up-Connection using Rasdial. To do this rasapi32.dll has to
be linked.

My question here is can i redistribute this rasapi32.dll and rasapi32.lib with
my package?

Licensing issues aside, what machine are you distributing to that doesn’t already have rasapi32.dll included?

And if you package it with your installer, how do you know if it will be compatible with the target OS?

James

Dear James,

Am distributing it for Windows machine. Yes by default it will be available in Windows. But if the default dll is corrupted or not available then i will be in trouble?? Thats the reason for this post!!!

> Dear James,

Am distributing it for Windows machine. Yes by default it will be available in
Windows. But if the default dll is corrupted or not available then i will be in
trouble?? Thats the reason for this post!!!

But the DLL will be different for 2000, XP, XP 64, Vista 32, Vista 64, 7 32, 7 64, 8 32(?), 8 64, and possibly different for the server versions of those OS’s too. Also probably different for the service pack level, and maybe all the hotfixes inbetween. I’m sure you don’t care about 2000 and maybe not XP, but that’s a lot of DLL’s to carry around, more to come as Microsoft release more hotfixes, service packs, and OS’s in the future.

I think you should not worry about this problem. If the required DLL is corrupted or not available then the installation of Windows is broken, and probably broken worse than just that DLL. Just detect the missing DLL and direct the user to instructions to repair reinstall Windows. If the DLL is missing by design (maybe home versions don’t have it?) then you would be in violation of the users license agreement to install it.

To answer your original question, unless Microsoft have given you explicit permission to redistribute that DLL (they haven’t) then you can’t.

James

>But if the default dll is corrupted or not available

No software publisher I’ve heard of ever takes such things to account.

Never ever provide the OS-provided binaries as a part of your distro, due to obvious reasons of the next Windows Update breaking the machine.


Maxim S. Shatskih
Windows DDK MVP
xxxxx@storagecraft.com
http://www.storagecraft.com

Dear James & Maxim,

Thanks for your clear and crisp replies. Thanks for helping newbies like me in this field.

Regards,
Sethu

xxxxx@gmail.com wrote:

Am distributing it for Windows machine. Yes by default it will be available in Windows. But if the default dll is corrupted or not available then i will be in trouble?? Thats the reason for this post!!!

That’s silly. If ntkrnlpa.exe is corrupt, then the system won’t boot.
How will you fix that?

Seriously, you have to assume that operating system components are
intact. If they are not, then the computer in question has problems
that you cannot solve.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

You would not need to, and you should not. “linking with rasapi” means
that you have import records for the functions. When your code is loaded,
the loader will resolve these to the rasapi installed on the machine.
Note that while (ideally) the interfaces are common, the details of
implementation can change with OS version, service packs, and/or hotfixes,
so it would be a Really Bad Idea to distibute the version of rasapi on
YOUR machine, since it might not be binary-compatible with the version on
MY machine.

Welcome to “DLL Hell”.
joe

Dear Experts,

I am creating a Dial-Up-Connection using Rasdial. To do this rasapi32.dll
has to be linked.

My question here is can i redistribute this rasapi32.dll and rasapi32.lib
with my package?

thanks.


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer