installation problem

I have a few users reporting corruption of explorer after application installation using wise installer.  I would like to know if all microsoft dll's are backwards compatible. I am installing all the dll's that wise found my application executable dependant apon and choosing to only over write files that have an older date and older version.  I found one dll that was accidentaly set to always over write and I think this one was the
culprit but I want be sure I'm right and
nothing else could go wrong as the install that crashed was an evaluation copy to Disney's Director of R & D. It
caused a re install of windows - though
there was a roll back option that could
have been used he didn't know that.
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

>> I would like to know if all microsoft
>> dll's are backwards compatible
Many definitely aren't.

DLLs associated with programs, like the DLLs used by MS Word for example are not likely to be backward compatible.

DLLs used by the OS, however, are more _likely_ to be backward comaptible.   (Note the core DLLs, like user32, though.)

Why don't you just reinstall IE?  It is available for free.
joepaladinAuthor Commented:
The problem is that this is an
install that is being used to install an application now on 100's of machines and may soon be used on 100's of thousands of machines.  Crashing a small percentage of systems or making
them reinstall something would not be acceptable.  I found one dll that was
being installed which affects explorer, and there was a script error causing this dll to be always overwritten rather than just over write if the version is older.  I fixed this and I'm
working on duplicating the problem. The version of the dll we were installing was for a little older version than win 98 2nd edition and IE 5.0.  I would like to find out if replacing the dlls in win\system with a newer one which my application needs is always a safe thing to do, or a means to check each dll I'm installing for backwards compatibility on Win 98, 95 and NT 4.0.  The dll's I'm concerned with are  OS dll's and Active X dll's used with standard microsoft controls.

>> I would like to find out if replacing the dlls in
>> win\system with a newer one which my
>> application needs is always a safe thing to do
No it definitely is not always a safe thing to do.  I said that before.
Cloud Class® Course: MCSA MCSE Windows Server 2012

This course teaches how to install and configure Windows Server 2012 R2.  It is the first step on your path to becoming a Microsoft Certified Solutions Expert (MCSE).

joepaladinAuthor Commented:
Thanks.  I was hoping there was a way to
determine which dlls where backwards compatible and which not. I have a list of them in my install script.  My only other option would be to rebuild all my controls so I don't use microsoft dll's that have to be shared.  Or, I could see
how things go with this one fix and handle any crashes on a cases by case basis rolling back the installed dll's one at a time to find the offending one.
Thats probably the course I'll take just
because I like my controls and want to try and keep them as is.  I could live
with something like a one in a hundred
failure rate on installs till I bring on
another programmer to replace the controls and eliminate using any dll's that have to go in windows\system.  I
looked at microsofts dll support database which helped some, but I think
I'll need to open a support issue with microsoft if I find upgrading a microsoft dll causes a problem, maybe they would have some work around that
I could implement in my install script.
It probably wasn't a very fair question being so general and I would click accept comment as answer but I don't know if this comment will get posted if I do that.

Joe Paladin
>> a way to determine which dlls where
>> backwards compatible and which not.
As a start you can check the exports from the DLLs using dumpbin.exe or a similar utility.  If the old DLL has any exports not in the new it certainly isn't compatible.  If the new does have all the exports that the old does, there is a good chance it is compatible--but there is no guarantee.

>> only other option would be to rebuild all my controls
The way you describe this, you had a mistake in an install script that corrupted a few systems.  If you've fixed the script, you just need to fix the systems affected and then not worry about the problem.  Changing you software seems drastic.

>> I'll need to open a support issue with
>> microsoft if I find upgrading a microsoft
>> dll causes a problem
Almost any dLL you would want to update, can be.  For example, you can update to a new version of the C++ RTL DLL (MSVCRT.DLL) safely.  But many DLLs are going to be hands off, like KERNAL32, but I doubt you woudl want to update it.

What DLLs do you want to update?

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
joepaladinAuthor Commented:

That helps, if I really need to get
down to details on it that would be
the way to go.  The file I think
caused the problem is shlwapi.dll which
explorer is dependant on.  The install
replaced win 98 second edition and IE 5.0 machines with an older version by
mistake.  I've got 3 beta testers lined up to duplicate the problem to be sure this is it before I re-release it.
    The other dll's are mostly for a
couple microsoft active X controls, and
there are others like oledlg.dll, etc that I don't know much about but will certainly be researching.

It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.