views:

29

answers:

1

As we know a PE binary usually depends on various Dynamic Link Library to work, but how can we make sure such a dll exists for all users?

How is a PE product released?

A: 

It depends on the DLL. Unfortunately, Windows is terrible for shared dependencies (especially compared to systems like GNU/Linux). The only sure-fire way to ensure that you have the correct DLLs is to ship them with your executable. If you're getting into libraries that you want to install to the system folder and you suspect that there might already be copies there, possibly of a different version than yours, read about manifests and side-by-side assemblies.

Reinderien
Can you elaborate how to deal with manifests and side-by-side assemblies?
ollydbg
It depends. What DLL are you talking about?
Reinderien
I'm talking about the general case,not a specific dll.
ollydbg
Read this and what it links to, for starters: http://kobyk.wordpress.com/2007/07/27/sxs-api-installing-win32-native-side-by-side-assemblies-without-msi/
Reinderien