views:

97

answers:

2

How do you organize installing different programs if these programs use the same DLLs which require registration.

The problem: if the user uninstalls the program that is installed later the other program will stop working as the registry entries now point to the missing DLLs.

One possible solution is placing the common DLLs in a common folder - perhaps under Application Data or in Program Files\Company Name\ and then using the shared file counting mechanism of Windows.

How do you handle this?

+3  A: 

It is usually handled as you already described: placing the DLLs into a common folder below common files in the program files folder.

I mostly create a merge module containing such DLLs and include that when creating a setup for different programs. That way, the DLLs remain installed until the last program using them is uninstalled.

HS
Second HS, a shared location and then mark the components as "shared" in your installer and then let Windows handle the rest.
sascha
+1  A: 

Use the new XP deployment model of side by side assemblies. It supports isolated COM components.

http://msdn.microsoft.com/en-us/library/aa369732(VS.85).aspx