Is there a downside to putting VB6 dependent files in the application directory?

Assuming the application directory is writable and that HD space is not an issue, are there any downsides to putting the VB6 dependency files (msvbvm60.dll, etc.) in the .EXE directory?

I have the most recent dependency files and I am assuming MS does not come out with new versions, so I believe it is safe (in terms of DLL Hell, etc.) to just store these files in my application directory. where they will not be changed and (IFAIK) they will be the first ones used by the application (before using them in the System32 directory, etc.)

+1


source to share


4 answers


In my experience, files like msvbvm60.dll, various OCXs, have subtle dependencies that play havoc when trying to install into their own application directory. Our solution was to track all dependencies and make sure they were part of the installation and handled correctly according to Microsoft guidelines.

In the 8 years since MS stopped developing VB6, we've done a bit of work on the DLL Hell path. (about half a dozen incidents in over 500+ installations) and this was the result of the client getting over from Windows XP before we got there.



In short, any custom or third party stuff is put into your application directory. The rest makes sure everything is included to install it in the system folder as per MS guidelines.

+2


source


More detailed discussion in this question : discusses various methods to force VB6 to load dependent files from elsewhere, such as .local files, reg-free COM, and DirectCOM.



+2


source


This should be fine, I have had to do this in the past for a third party DLL that I used in a VB6 project many years ago (we relied on a fancy component implementation to do something and then a "fixed" "version was installed with popular software) Although if its the COM version of the regsvr32 library might mess up your plan to avoid the DLL addon.

+1


source


It doesn't really make sense. Just use a quality MSI-based installer that is self-healing. This way, every time your application launches it, it will check and, if necessary, install and register any required DLLs or other components. Then you protect yourself from anyone who cheats the files.

0


source







All Articles