Releasing software with dlls

Started by
6 comments, last by Kimmi 14 years, 4 months ago
Hey! my question is, when i whant to "release" my software for the public and to just build it under "Release" in MSVS and just zip it up and give it to every one. why dose every one keep getting that they are missing some dll files? how do i find thees files, how do i include them? this is for Directx10
"There will be major features. none to be thought of yet"
Advertisement
Probably because your DLL has dependencies on DLLs that aren't on those people's systems. What references are there in your project?

Former Microsoft XNA and Xbox MVP | Check out my blog for random ramblings on game development

No i dont use any dll´s at all!
i just use the includes.
"There will be major features. none to be thought of yet"
Those includes will create dependencies on any number of DLLs. In the case of Microsoft Visual Studio there is a Redistributable that can be obtained that will install the necessary DLLs on someone's system. So for Visual Studio 2008 you will want to search for the 2008 redistributable installer. 32-bit and 64-bit will also have different installers.
L.I.G. == Life Is Good
Try taking your final executable and examine it's imports with the dumpbin.exe tool. If you are using D3D10, then you most certainly are using dll's - you just don't know it yet :)
You should get a message which DLL is missing when running on a PC that doesn't have them, so this should tell you what you need.

If you're using D3DX, users will likely not have the matching DLL version. They'll have to install the DirectX runtime, which you can also include in your archive. Or if you're not distributing it, just giving it to people personally, it's okay to include the relevant DLL.
Your users will likely need the redistributable package for the compiler you used, and the redist package for the direct X version you compiled against.
You can check your release package by using depends.exe: Dependency Walker: Just load your Dlls with depends.exe and check if all dependencys are part of your package. For instance the runtime dlls or a third party lib are good candidates for deliverings in release packages.

Kimmi
A complicate solution may indicate a not understood problem.


[twitter]KimKulling[/twitter]

This topic is closed to new replies.

Advertisement