In another life, I wrote a shareware program called DLL Checker. I wrote it because I was constantly cleaning up customers’ systems of conflicting DLLs. Starting with Windows Me and Windows 2000, Microsoft introduced the Windows File Protection feature/service that protected core Windows resource files from being overwritten with older versions or deleted altogether.
On April 8, 2008, extended support of the VB 6 IDE officially ended. Since then, I’ve been meeting with a lot of customers about what does this mean to their applications going forward.
Runtimes themselves don’t expire. Just because support is no longer available doesn’t mean your applications will stop working. The VB6 runtime (MSVBVM60.DLL) and components (OCXs) that shipped with VB6 will continue to be supported for quite awhile (how’s April 2017 sound?). That’s because these resources are included as part of the all the latest Windows operating systems (yes, the VB 6.0 runtime is included with Windows Server 2008).
With that said, a while ago, MSDN (finally) made available a catalog of all the Windows resources and which version of the software they shipped with. It’s called, for lack of marketing creativity, DLL Help Database. You can search by product, filename, version, etc. and the resultset will show you which product it shopped with, the CAB file it resides in, and even which disc its on. If you click on the Details link, it will show you resource dependencies, function call names, etc. Cool stuff.
Speaking of resource dependencies, a tool I used a lot for troubleshooting DLL conflicts was Dependency Walker. It’s great because no only does it tell you what other resources the DLL/OCX/etc. relies on, but it also has a dynamic load feature so you can see the chain reaction of how the resources are loaded into memory and what resources they load. There are some other utilities that do something similar, but by far, I believe this is the most thorough.
Until next time…Excelsior!