Are there more cases for addon conflicts other than:
* Two people trying to alter the same blizzard frame
* Conflicts when upgrading libraries?
Order of event firing side-effects.
Position in hook-chain side-effects.
Modification of global data of any kind (could include the hook-chain too i guess)
@Curney - yeah not really Vista, but the latest thing from MS is virtualization of things like the file system, ie. providing an compatability/abstraction layer which can even give your own private filesytem, so you cant overwrite another application's data files, or for Vista compatibility it will virtualize your use of the program files directory and redirect it to ProgramData, since Program Files now has had its default security settings changed.
Nor do I. If you want something which you know only has one instance, period, and embed really isn't what you want. You want a simple standalone library and a ReqDep. That standalone can do everything it wants to support multiple (old) APIs. When you embed a library, you're expecting that version of the library to be there, you're taking the responsibility for the lib off the user.
You may not see the problem, but the parallels to MS, "dll hell", and their solutions to it are there - one would be wise to at least see the problems which they had, and what solutions they came up with.
This thread is horribly one-sided, and largely without technical merit.
Compatibilty layers are part of having an existing codebase which you wish to support. They play important and useful roles in the long term.
For example, applications can often be ported to new environments, or integrated with other systems by replacing the libraries they use with "complatibilty layer" libraries which give the old code a new runtime execution environement. The reason for doing this is simple - you dont have to change the old code.
Also, running multiple versions of a library may not be realistic it depends on the library and what it does - you appear to be claiming it does not, and that they always can.
I don't think you have reached a conclusion of any sort - or that this thread has made any progress towards that end.
The closest parallel I can think of is MS - SideBySide execution (and virtualization/isolation). Embedded libs are a mixed up combination of staticly linked library concepts. However they lack the completeness the MS system ahas