У меня есть приложение WPF, которое должно работать для всех пользователей компьютера с одинаковыми настройками.Настройки должны быть для чтения / записи.Ранее я хранил настройки конфигурации пользователя в CommonApplicationData, например
var settingsFile = Path.Combine(Environment.GetFolderPath(
Environment.SpecialFolder.CommonApplicationData),
"[company]", "[product]", "settings.xml");
Однако сегодня утром я прочитал, что CommonApplicationData
используется для перемещаемых профилей, то есть они не зависят от конкретной машины.Из того, что я могу найти, у нас есть следующие параметры для данных приложения ( источник ):
// Store application-specific data for the current roaming user.
// A roaming user works on more than one computer on a network.
// A roaming user's profile is kept on a server on the network and is loaded onto a system ' when the user logs on.
System.Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
// Store in-common application-specific data that is used by all users.
System.Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
// Store application-specific data that is used by the current, non-roaming user.
System.Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
Подводя итог, можно указать следующие параметры:
- Для одного пользователя, роуминг
- Все пользователи, роуминг
- Для одного пользователя, без роуминга
Что мне нужно, так это все пользователи, не находящиеся в роуминге.Моя первоначальная мысль - забросить все это в папку установки, но это кажется старомодным?
Мысли?