Избегайте использования отдельных файлов конфигурации для отдельных пользователей
Я установил оконное приложение на машину. Когда я запускаю exe-файл и пытаюсь прочитать значение из файла конфигурации, он дает разные результаты для разных пользователей.
Что я определил:
config файл сохраняется в папке пользователя, а не в папке приложения в программных файлах.
это настройка для разных пользователей из локальной папки:
C: \ Users \ myUser \ AppData \ Local \ VirtualStore \ Program Files (x86) \ Parentfolder \ ApplicationName
1 ответ
Мне кажется, что приложение было разработано для НАМЕРЕННОГО использования пользовательской папки AppData для хранения своих настроек. Обычно плохая идея - вмешиваться в то, как программа была спроектирована для работы.
ОДНАКО, если у вас есть возможность запустить другую программу, которая может выполнять синхронизацию файлов между разными машинами в сети, вы, безусловно, можете сделать что-то вроде создания одной копии файла конфигурации и поместить ее в папку где-нибудь в сети - желательно на файловом сервере, затем используйте программу синхронизации файлов и настройте ее, чтобы взять этот один файл, скопировать его на каждую рабочую станцию пользователя и поместить в эту папку AppData.
Затем вам нужно будет внести изменения только в этот файл, и программа синхронизации файлов увидит, что он был изменен, а затем скопирует новый файл на рабочие станции пользователей.
Вот ссылка на сайт, который рассматривает множество различных программ Windows, которые выполняют синхронизацию файлов ... вероятно, есть тысячи вариантов ... просто погуглите и найдите что-то, что работает для вас в вашей среде.
Кстати, если вы пойдете по этому пути, я бы позаботился о том, чтобы каждый раз, когда вы изменяли файл конфигурации, чтобы он копировал на рабочие станции пользователя, пользователи закрывали программу до тех пор, пока файл не будет скопирован на их рабочую станцию. Возможно, что у программного обеспечения могут быть открытые блокировки файла или что изменение его во время работы программного обеспечения может его разозлить ... так что это просто хорошая мера - закрыть программы, затем синхронизировать файл, а затем снова запустить программу. .