Как сохранить настройки пользователя при удалении - PullRequest
9 голосов
/ 23 сентября 2010

Я использую .NET настройки пользователя и сталкиваюсь с проблемой.

Когда приложение удаляется, а затем устанавливается обратно, пользовательские настройки теряются.

Я понимаю, что это по своему замыслу, и я хочу иметь возможность предоставить выбор пользователю в программе установки.

Не могли бы вы дать мне несколько ссылок на статьи или документацию, которая поможет мне?

Большое спасибо

Ответы [ 4 ]

15 голосов
/ 27 сентября 2010

.NET User Settings не удаляются при удалении.Фактически настройки всех предыдущих версий программного обеспечения сохраняются в каталоге Local Settings .

Когда новая версия установлена, создается новая версия настроек и используются настройки по умолчанию.

Чтобы ваше приложение объединяло новые настройки с предыдущей конфигурацией, вы должны вызвать метод Settings.Default.Upgrade().

Таким образом, решение состоит в том, чтобы вручную удалить настройки при удаленииесли мы не хотим их сохранять.Поскольку мне нужно было сохранить предыдущие настройки, все, что я сейчас делаю, - это создаю новый параметр с именем UpgradeRequired, у которого true имеет значение по умолчанию, а затем добавьте этот код при запуске приложения:

if (Properties.Settings.Default.UpdateRequired)
{
    Properties.Settings.Default.Upgrade();
    Properties.Settings.Default.UpdateRequired = false;
}
1 голос
/ 23 сентября 2010

Вы можете записать параметры, которые хотите сохранить, в реестр или записать их в виде файла XML в место, на которое не повлияет удаление.

0 голосов
/ 23 сентября 2010

Я не думаю, что вы действительно хотите сохранить данные на компьютере пользователя после удаления. Оставлять файлы вокруг - злая практика, большая нет-нет. Вы должны предоставить функцию в самом приложении, чтобы либо экспортировать эти параметры в выбранное ими место, а затем снова импортировать их после переустановки приложения или синхронизировать эти параметры на сервере, чтобы они автоматически были доступны после переустановки и т. д. При удалении не следует оставлять никаких следов.

0 голосов
/ 23 сентября 2010

Если вы хотите продолжать использовать настройки пользователя, я бы предложил написать собственный класс установщика и реализовать метод onUninstall, чтобы перейти на найти файл и скопировать его в другое место, известное методу onInstall вашего Пользовательский установщик. Чтобы при следующем запуске установщик смог найти файл.

...