QUOTE(javajunky @ Jun 23 2004, 02:39 AM)
1) There might be a license agreement the developer wants to draw the user's attention to.
That is one possibility.
QUOTE
2) There may be a load of configuration and data files associated with the DLL that need to be in a 'known' state (i.e. erased) before the dll is runup the first time
If the developer is making proper use of the player's configuration variable system, then all configuration data would be stored in Foobar2000.cfg. Assuming the component has never been installed before, these variables will be reset to the author's assigned defaults the first time it is started up. The variables will also disappear from the config file the first time the player is closed without the respective component installed.
QUOTE
3) Its not really acceptable to ask a user to 'copy' a file to a 'particular directory' under Windows. If the target audience was developers or Linux Gurus then fair enough, but most plugins are aimed at end-users
Some people don't feel like producing installers. In my case, I could design my component uploader to produce NSIS scripts from a generic template, or an all-components installer with a checklist and the same session memory as the player special installer, which already contains all of my components anyway.
There are also people who are paranoid of installers, which might be storing settings in their system registry. They prefer an archive, no matter how much work installing or upgrading might be.