Where should I store preferences and setting if my goal is that my app should be runnable from a network share and the user’s settings should persist regardless of the exact machine he is logged in on at the time?
Similarly, where should I store application wide settings?
The development environment in use is not .Net but can compile apps compatable with Windows 2000 or later, if that is relevant.
The users profile. Assuming that her profile is roaming, the settings will follow the user wherever she is logging in.
For applications, settings should be stored in the Application Data special folder. You can get the path to this folder using SHGetSpecialFolderPath. For more info on special folders take a look at this article on Wikipedia.
When you say ‘application wide settings’ I assume you mean settings available to all users. These could be stored alongside the application on the network share.