
Tim Peters wrote:
Something just occurred to me: MS's guidelines aren't arbitrary, they actually have very good reasons. In the case of putting all an app's crucial info in the Registry, it's the only way to allow a site administrator to set policy and site options remotely (an admin can fiddle other machines' registries remotely). This works very well indeed when there's only "one copy" of an app on a machine (or at most one copy "per user").
The registry is still a bad idea because it lumps critical and app data into single files and brings up the ugly problem of protecting individual registry entries instead of just files. Microsoft should have put all app config into the app directory and provided for remote admin of that. But that is not really your point (just ranting about the registry again).
IOW, the three of us find getting path info out of the registry intolerable because we are in fact trying to do the opposite of what the registry mechanism was *designed* for: we want perfect isolation, not perfect sharing.
This has come up on Python-Help a few times too, in the guise of someone installing a product that in turn installs an older version of Python, which in turn confuses another product that relies on features in a newer version of Python.
Or, in other words, no isolation is possible if critical info depends on global data like PYTHONPATH or a _common_ registry entry. We could have different registry entries, but this is confusing and not documented. I think we can solve this with archive files in a way compatible with Unix without going off on a Windows-only wavelength. If the archive file contains everything, and it is in the dir of the app, and the app looks there and finds it, then it Just Works. See also my reply to Skip. JimA