Archive: redistributable dll's


redistributable dll's
In the NSIS Manual, it says "Warning: when deploying DLLs, always use redistributable files. Never copy files from your system directory."

Why should you not use the files from your system directory? I'm trying to recreate our badly behaving install using NSIS and it would be a lot easier to just grab what's on my system than to try to locate the redistributables. It sounds like that's not a good idea, though.

Thanks


Depends on which distributable DLLs we are talking.

Which one are yours?


Here's a list of all the things I could find that are going into the system folder (or a couple other Windows folders). I'm trying to reconstruct this install from the existing installer's log file. :(

amcompat.tlb
asycfilt.dll
CfData2.dll
comcat.dll
comdlg32.ocx
DAO\Dao360.dll
dwusplay.dll
isusweb.dll
mci32.ocx
mfc42.dll
msado15.dll
msadodc.ocx
msador15.dll
msbind.dll
MSCDRUN.DLL
mschrt20.ocx
mscomct2.ocx
mscomctl.ocx
msderun.dll
msmask32.ocx
MSO.DLL
MSOUTL.OLB
msrdo20.dll
msstdfmt.dll
msvbvm60.dll
msvcp60.dll
msxml4.cat
msxml4.dll
msxml4.Manifest
msxml4a.dll
msxml4r.cat
msxml4r.dll
msxml4r.Manifest
richtx32.ocx
Richtx32.ocx
Tabctl32.ocx


Well..most of them come with Microsoft Visual 6 Studio Service pack 6, although the installer 60 MB =\

My recommendation is try to use IFileExists instruction and use at the most the installers from Microsoft.


The general reason for not doing this is that the versions of the various libraries you have can vary from the standard installs. Not all of the actions the installers does may have been recorded in log you are using either, for example library registration, registry entries etc.

Consider how many applications you have installed since you did the basic operating system install. Do you know exactly which version of each of the libraries you have and how they compare the 'standard' versions originally issues. Do you know what other changes were made when you installed the application that put them on your system?

Consider how happy you would be if someone handed you a copy of (some of) the .NET framework files from their computer, and said 'it works OK for me' rather than an original Microsoft issued installer?

If you have access to a plain vanilla installation to draw from, then you may be able to use files from there, but if you don't, it is probably safest to use the installations provide by MS (or whoever else originally provided the libraries.)

As a general rule, if an original installer for the libraries exists, you are better off running it as part of your installer than trying to collect the various bits and pieces from your development system.

Of course, while troubleshooting you can do whatever you think helps locate the bug, but you should consider the above when it comes to your actual installer.

Duncan


Thanks. The "why" was about what I expected but I wanted to make sure there wasn't anything more sinister lurking in the shadows (so to speak).

I guess I'll try to track down the actual redistributables.