Helping people with computers... one answer at a time.
Programs that identify identical files can be useful, but simply deleting the duplicates found can cause more harm that good.
Is it safe to delete duplicate files found by duplicate file finder programs?
I'm probably going to get some flack for this one, but my answer is a very strong NO.
Let me explain why.
In short, installing programs in Windows is a mess.
Over the years programs have gone from attempting to share large numbers of components, to keeping separate copies of often identical files in order to protect from unexpected upgrades that can sometimes cause software to fail.
Right now, most programs are somewhere in between. Some modules are shared, and some are not. The "mess" is that there's no consistent rule, and applications are free to choose what they do and do not share, as well as what they do or do not rely on and install themselves.
Let's use an example.
Program "A.EXE" and program "B.EXE" are both statistical packages, and they both rely on a fairly large library of mathematical functions that are packaged into "STATS.DLL".
When you install A.EXE, it installs STATS.DLL into a place where anyone can use it. Then later, when you install B.EXE, it sees that STATS.DLL is already on your machine, so it has no need to install it. B.EXE just uses the STATS.DLL that's already there.
Sounds fantastic in principal since disk space is saved, and there's only one STATS.DLL to keep track of.
Then you take an update to A.EXE, which includes a new version of STATS.DLL. The update dutifully replaces the older copy of STATS.DLL with the new, and the new A.EXE is happy.
And your old B.EXE breaks.
Why? Well, to be clear, it's not supposed to. But all too often it does, because something about the newer STATS.DLL didn't take into account the way that B.EXE was using it. Could be either components fault, but the fact is that B.EXE doesn't work with the newer STATS.DLL.
You're stuck, until B.EXE is revised to work with the newer STATS.DLL. If B.EXE is never updated, you're basically screwed.
So the makers of B.EXE and A.EXE get tired of this situation where they can't update their software without affecting each other. So they decide to take a different approach.
Now, when you install A.EXE, it installs STATS.DLL into a private place where only A.EXE can use it. Later, when you install B.EXE, it does the same thing, installing another copy of STATS.DLL where only it can use it.
Problem solved, right? Now when A.EXE is update, it only update's its copy of STATS.DLL and B.EXE is unaffected.
But of course you have two copies of STATS.DLL on your machine. In fact, you may have two identical copies of STATS.DLL on your machine.
And deleting either one would be a big mistake.
So here's the bottom line:
Yes, it's safe to delete some of the duplicate files that your duplicate file finder may identify. It's just not easy to tell which ones. And without knowing, it's possible very possible you'll break an application, or worse, your operating system.
My advice: don't.
If you're looking to free up space on your hard drive, use tools that show you where the most space is being used and target your efforts to get the biggest bang for your efforts.
But in general, unless you know what you're doing, leave duplicate files alone.
Comments on this entry are closed.
If you have a question, start by using the search box up at the top of the page - there's a very good chance that your question has already been answered on Ask Leo!.
If you don't find your answer, head out to http://askleo.com/ask to ask your question.