Don (
[email protected]) wrote in
I understand all that but I would prefer if they would at the very
least offer the option of having those directories deleted. The
trouble is when they just leave them around without asking or
sometimes even without telling!
Leaving them around without asking is OK, as far as I'm concerned, but
without telling is not. But an installer can only do that with data it
"finds out" about: most oftn that takes the form of a directory that is
not empty after removing all files it *does* know it has to remove
(because they're in the installation log).
I mean you may want to keep things if you're re-installing but when
you are removing a program you don't want the "droppings" to stay
behind all over the place. That's the main cause of the notorious
Windows' bloat.
Nothing to do with Windows bloat - we're talking about *user files*
here: *data*.
Now, a user can change the default user directories and the program
may only be aware of the current setting, but that's a different case.
If the application program doesn't know about that, that's just bad
programming. ;-)
But regardless what the *program* is aware of, what the *installer* is
aware of is a totally different matter. It's a completely separate
program, not actually written by the program's developers, but generated
with a tool by providing a bunch of parameters. Still, an installer can
only know what's known at installation time - not user data that get
generated during use of the program of which workings an installer has
no idea - it cannot and is not designed to do so.
The program can still offer to delete at least the initial default and
the latest (current) user setting.
Settings are data. Now if these are files in directories, an installer
knows nothing about them. If they are data in the Registry, the
installer may, or may not, delete them; but the Registry works a bit
different than the file system but the same principles apply here: you
can delete a whole branch without a peep, so if the settings are under
the same branch the installer created, they will be deleted at uninstall
time - but again not something in a different branch that gets created
during program use.
The problem is when they only give you the standard "legal disclaimer"
without telling what is actually left behind!
Well, an uninstaller *should* tell you about not deleteing directories
with user data - but still it *can* only do that for subdirectories of
directories it actually knows about - see above - generally that's data
directories below the program installation directory.
But just because there are stupid installers that throw away such data
*without* even asking, the very first thing I do after installing a
program is check how I can tell it where to store my data. Via options,
preferably, or via a Registry hack if needed. ;-)
Well, the program knows where they are! It created them.
The *application* knows where they are - the *installer* does not! An
installer has absolutely no idea how a program functions or what it may
store where.
Also, there's nothing preventing the uninstaller from reading the
relevant program settings and logs (before deleting them) to figure
out which registry entries were added afterwards and where.
Theoretically, it would be possible to write an installer utility that
could be told how to read a multitude of program's settings in a
multitude of formats in a mutitude of locations. In practice, that
doesn't happen - if it's even feasible, such a program would be huge,
and very, very expensive. Program developers might as well go back to
developing their own installation software.
Installer software is *standard* software. It knows about a file system,
executables, registration of services in the registry, and such things.
it does *not* know how an application works or how an application stores
its settings. Installer software *generates* an installer for a
particular program but it can only do things like unpack and copy files,
register stuff, and write data to the Registry. Those are abstract
things that are necessary for every program's installation - which is
why it's possibe we have standard installer software and such a program
doesn't need to be developed from the ground up for each program's
installation.
That's the problem! Most installers are lazy. Instead of going about
it in a more intelligent way by taking note of the current
state/settings most simply go back to the original log.
Installer programs are not lazy - they're just not designed to know how
an application program works: installers are standard software, but
applications aren't: each application stores its settings data in its
own way - how would installer software be able to read all that without
actually duplicating a big chunk of the application? ONLY teh
application can read its settings.
That's the problem! Most installers are lazy. Instead of going about
it in a more intelligent way by taking note of the current
state/settings most simply go back to the original log.
Sorry, nothing to do with MS either - it's just how installer software
works - and *cannot* work. If you want non-standard installer software
that duplicates a large part of the application it's installing, be
prepared to pay 30% more for your applications.
Or, Nikon were just too incompetent to do it all at once! ;o)
And nothing to do with Nikon either. ;-) It's just in the nature of
installer programs. See above.
Be glad that we have standard software installation utilities these days
- it makes our software much more affordable.