October 14, 1996
Conflicting apps? Take two DLLs and then give me a call
Reader responses have been pouring in since my marathon four-week series (Sept. 2 to Sept. 23) showing how two DLLs with the same name but small differences can add up to big crashes for Windows users.
The problem with DLLs being installed by different applications -- Microsoft Corp. applications especially -- seems to be epidemic, if you believe my mail.
Rick Bolestra wrote: "Product A and Product B both use the same graphing software and DLLs from Vendor C. The problem arises when Product B is not at the same DLL release as Product A and they both install DLLs to the System folder. The last one in wins.
"The solution? If developers use third-party DLLs that may or may not already exist in other products, [they shouldn't] install them in the System folder. My products look into our own folders and load DLLs from there. This still does not keep two products from conflicting if run at the same time, but it does provide protection from other product installs. It also has a better chance of working!"
Because two DLLs can conflict if stored in separate folders (Windows doesn't like two resources with the same name), Bolestra has good advice but not a universal fix.
Microsoft needs to get a bulletproof solution so users aren't forced in desperation back to DOS, like Barry Susskind.
Susskind wrote: "My son has almost full rein to install any games or software in DOS he wants, but I told him I would ban him from the computer if he did anything in Windows.
"I cringe every time I install software when I see, `loading files to C:\Windows\System.' Only one piece of software (not anything Microsoft sells, either) in all the software I have ever installed on a Windows-based system asked me if I wanted to overwrite a DLL before it did it! I even installed some educational software that overwrote my Win32 directory tree!"
Sam Gage pointed the finger at Microsoft Internet Explorer 3.0 (IE): "I download [Microsoft] IE (final), all 500MB of it, and install it. Works OK except for the icon buttons on the toolbar. Microsoft techies tell me I have the wrong Ctl3d32.dll and Mfc40.dll. They say delete them and re-install IE. OK, I do that. Now my icon buttons in TextPad, Paint Shop Pro, and FrontPage 1.1 do not work, and Adobe Photoshop tells me I am using a [Windows] NT version of Ctl3d32.dll and it cannot use it!
"I finally found five versions of Ctl3d32.dll on the Win95 CD, the [Microsoft] Office Pro CD, FrontPage 1.1, and IE (final). They are all different: Versions 2.04, 2.24, 2.29, and two called 2.31 with identical Properties sheets but slightly different sizes. I never saw `NT' in any of their Properties, but Microsoft's IE download options say `95/NT.' This means the same file is used in both editions, but many other programs cannot use NT versions."
After finding incompatibilities between Microsoft's Winsock.dll and other such DLLs, and Microsoft applications that require different (older) DLLs than competing products, Ralph Katz decided it was deliberate.
Katz wrote: "DLLs are Microsoft's weapon to ensure that their competitors' software will not run under Windows.
"DLL incompatibilities that Microsoft generates prevent me from selecting software I want and from using software I have already paid for. They prevent my users from using software they require in order to perform their assigned duties. This is not a free-market state of affairs. This issue has helped you generate income by writing a series of very helpful columns, but it only slows me down from doing what I really need to do to make income: help my employer produce more product."
So I'm exposed as part of the scam, too! Maybe now my co-conspirators at Microsoft will let me see the solution they say they're working on but won't share.
Brian Livingston is the co-author of the new Windows 95 Secrets and author of three other Windows books (IDG Books). Send tips to brian_livingston@infoworld.com or fax: (206) 282-1248.
Missed a column? Go back for more.
Copyright © 1996 by InfoWorld Publishing Company