В настоящее время я храню сериализованный файл XML в каталоге приложения, в котором содержатся все изменения, относящиеся к работе программы (не типичная конфигурация системы или пользователя).Несколько недель назад мы столкнулись с проблемами, при которых он не сохранялся бы правильно (прочитайте мой предыдущий вопрос об этом).
Короче говоря, мы наконец-то обнаружили, что в Windows 7 (а иногда и в Vista) есть проблема с записью в каталог приложения (в частности, что-либо из Program Files).Теперь, если бы это был обычный файл конфигурации, я бы просто сохранил его в папке APPDATA пользователя, но это не нормально.Мы выполняем это на наших собственных инструментах, и неправильная конфигурация - это 99% причин, по которым у клиентов возникают проблемы с запуском нашего программного обеспечения.Поэтому нам нужно, чтобы этот файл был доступен, чтобы они могли легко найти его и отправить нам по электронной почте.Appdata достаточно сложен для того, чтобы опытные пользователи могли найти его, а тем более не очень технологичных людей.
Мы также попытались запустить его от имени администратора и сделать права доступа к папкам широко открытыми (у нас есть контроль над каждым компьютером, на котором он работает).никогда не будет работать на машине какого-то случайного человека).Но иногда они работают, а иногда нет.
Хуже всего то, что когда я записываю файл обратно, он даже не выдает ошибку;он просто записывает его во временный каталог, срок действия которого истекает в неизвестный момент времени.Через несколько недель у нашего пользователя возникнет проблема, и файл конфигурации все испорчен.
Итак, мой вопрос: где мне хранить этот файл, если не в Program Files?Должен ли я в любом случае просто поместить его в APPDATA и создать небольшую утилиту, которая автоматически отправит нам электронное письмо в случае возникновения проблемы?Или я могу оставить его в Program Files, но изменить какое-то конкретное разрешение или раздел реестра, чтобы он мог нормально работать?