Thank you for being a valued part of the CNET community. As of December 1, 2020, the forums are in read-only format. In early 2021, CNET Forums will no longer be available. We are grateful for the participation and advice you have provided to one another over the years.

Thanks,

CNET Support

General discussion

Program Uninstall

Mar 2, 2008 11:06AM PST

This is kind of along side the thread asking if we think registry cleaners are necessary.

I think that if programs had uninstall features worth a darn, they would eliminate most people's perceived need for registry cleaners. Because there would no longer be any left over crap in the registry to begin with. This is one of my biggest pet peeves. If programmers can write programs to spread all this stuff through the registry, why is is so hard to write the uninstall features that will completely clean up after themselves?

~Dave

Discussion is locked

- Collapse -
Yep, I couldn't agree more.
Mar 2, 2008 5:14PM PST

The difficulty is, how do we get them to do this?

I think part of the problem, (apart from programmers' own laziness), is the way Windows has worked since Windows 95. Until then, if I have this right, all program installs were to their own dedicated folders. But with Windows 95 Microsoft introduced the Windows folder and the System folder, and shared .DLLs, (Dynamic Link Libraries). The idea was to cut down on duplicate files being installed all over the hard drive by allowing certain files like DLLs to be shared amongst applications.

That way, although software still includes all the files it needs to install correctly, if the install procedure finds an existing DLL of the same or newer version in the System or System32 folder, it bypasses installing its own version. The software is coded to look in that folder for the files it needs.

So uninstalling those files could make other software unstable, or just break them.

But then, I know that isn't the full story, and it doesn't explain why registry entries are left behind, not program file folders.

Mark

- Collapse -
A well-written uninstall ...
Mar 2, 2008 5:23PM PST

uninstalles what the install has installed. But it can't remove what the program itself did (in the registry or the filesystem) later on, because it doesn't know about it.

A case in point is the normal.dot (default template) of MS Word. That is created the first time the program is run. So it stays on the hard disk if you uninstall Word. So if you uninstall and reinstall Word to solve some problem, and the problem happens to be in normal.dot, it just stays around.
The Excel-toolbars or the Excel personal macro file are other examples.

An example in the registry are the MRU-lists added by the program.

Kees

- Collapse -
Kees Bakker...
Mar 2, 2008 8:20PM PST

Then how do registry cleaners work? They find entries in the registry that point to no file or folder on the computer. If I uninstall a program, for example, I have to go through my registry and search for entries naming that program. Why can't programmers include that kind of thing in their uninstall features instead of making me do it, or buying a registry cleaner?

Also, most programs I've uninstalled also leave behind the program folder as well. So uninstall all of a sudden doesn't even mean removing the program folder and a lot of files either. It seems programmers have strange ideas of what constitutes uninstalling their programs to begin with.

~Dave

- Collapse -
In addition..
Mar 2, 2008 8:27PM PST

...companies like Symantec provide little programs on their web site that will remove a symantec program completely. How can they offer such a thing if it's not possible to include this in their programs to begin with?

I understand that a lot of programs by Symantec, et al, use shared folders/files. And if you keep one program but remove another in the same company name, it has to keep some of those. But regular companies who sell single programs don't have to worry about that. If it weren't so, then registry cleaners wouldn't be able to find these entries for the software companies, and remove them.

~Dave

- Collapse -
Re: install and uninstall
Mar 3, 2008 5:57AM PST

If you look around on your system, you'll probably find some un*.dat files. You can open them with Notepad to get an idea of what info it contains.

It's the logfile a common install program leaves on the hard disk for the accompagnying uninstall program to use. It contains all files and registry settings the install added, so the uninstall can remove them. And that's all the usual uninstall does.
Note that if a file is added later to a folder created by the setup, it won't be deleted, so the folder won't be deleted either. Only empty folders will be deleted.

Of course, when you know the runtime actions of the program, you can guess what more it can put on the hard disk or in the registry, and you could write a program to delete those remnants also. But most companies don't do that and just rely on the standard install program they buy to wrap around their program.

To check the working of an install/uninstall program pair:
1. Run the install (only the install, don't run the program)
2. Note all files installed and all new registry entries (the contents of the *.dat or *.log files will help).
3. Run the uninstall.
4. Check that everything your search #2 found is deleted.
If you find new files or registry entries that aren't deleted, there is some reason to complain with the maker.

Kees

- Collapse -
Isn't there some...
Mar 3, 2008 6:16AM PST

...uninstall programs that can monitor programs and the things they install, and also keep up with what gets put on the system as the program is used? I wonder why programmers can't use something like that? So during the life of the program's usage, whatever gets placed on the system is reported and included in the uninstaller?

~Dave

- Collapse -
YES, THERE WAS. But.
Mar 3, 2008 6:24AM PST

The overhead is so heavy that most will stop using it.

Also, what to do about the average joe calling support? There was a very nice program called MAGIC MOVER years ago. It worked pretty good but as time rolled on, owners began to pile up on the support lines over software that is designed to not work under such conditions.

-> Let me share the two tools you can monitor what a program does during install. Thats REGMON and FILEMON. But the next problem I see is some will ask "what do I do with that?"

Bob

- Collapse -
So I guess...
Mar 3, 2008 6:55AM PST

...you're saying the registry cleaners, and manually removing program folders and files are the way to continue?

~Dave

- Collapse -
That and __i__ing lasers.
Mar 3, 2008 9:28AM PST

The sad truth is that for Joe and Jane Average the last entry in the corner of the registry does not need cleanup...

- Collapse -
If you're using Windows XP
Mar 3, 2008 6:14PM PST

then frequent cleaning of the registry is not really needed. I am unsure of Vista as I don't use it, but I suspect that if it uses a similar registry system the same will be true.

Windows versions prior to XP had a registry that was prone to 'fall over' at the slightest touch, and so we had to clean it regularly to ensure its stability. Even so, cleaning held some risks then.

But the XP registry is much more robust and stable, and doesn't react to orphan entries and such the way pre-XP registries did. It can take much more battering and it just carries on regardless. So cleaning the registry is not such a necessity as it used to be. If you view the registry as a large database then any entries that don't do anything just sit there. Also, cleaning the registry doesn't really improve performance. As a database any information held in it is only used as and when it is needed.

Nevertheless, I am of the opinion that a clean registry is still useful and better. But I just don't do it so often, and not after each software uninstall.

Mark

- Collapse -
That's interesting.
Mar 3, 2008 8:03PM PST

Registry cleaning is not necessary, but it's useful.

Well, what about the case when uninstall programs ask if you want to remove personal settings and the program folders? I say "YES" and when I check, the folders and a lot of files still remain. In addition, if I ever re-install the program, it "remembers" how I had it set the last time it was installed. Now, if it uninstalled according to my selections, then this shouldn't be. So not only is the registry entries not removed, the program folders and files remain as well. This causes a lot of manual purging of the program in order to completely remove it from the system. And the HDD is still very cluttered with stuff I asked to have removed during the so called uninstall.

~Dave

- Collapse -
I'm on your side.
Mar 4, 2008 1:36AM PST

Yes I agree fully. Uninstalls should completely wipe out the existence of the software, and the fact that it rarely does is most annoying.

It was interesting the point raised above by Kees that if a program folder, or any other folder created by the install, subsequently has a file added to it, then the uninstall will not delete that folder. Clearly that could be a useful failure if the user has files in the folder that he doesn't want to lose. But I doubt that was in the minds of the uninstaller programmers.

But the rest of what you say I'm with you all the way. A couple of culprits that leave things behind are Norton, notoriously, and Firefox. With Firefox, Profile folders get left behind which may break any future installs. But there are plenty of others.

Mark