Мое приложение записывает пользовательские настройки в реестр для облегчения поиска, но это вызывает небольшую головную боль, потому что оно записывает их в зависимости от версии.
Таким образом, каждый раз, когда я обновляю свое приложение, оно создает новый подраздел, связанный с новым номером версии.
Настройки записываются в реестр как:
Application.UserAppDataRegistry.SetValue
Я бы хотел использовать простой метод для удаления всех подразделов VERSION, которые не соответствуют текущей версии приложения.
В настоящее время и поскольку мое приложение является относительно новым, я прибег к этому, который работает, но довольно неопрятно:
Registry.CurrentUser.DeleteSubKey("SOFTWARE\\COMPANY\\PRODUCT\\1.0.0.0", false);
Registry.CurrentUser.DeleteSubKey("SOFTWARE\\COMPANY\\PRODUCT\\1.0.10.0", false);
в вышеприведенном коде я намеренно удалил информацию о КОМПАНИИ и ПРОДУКТЕ, и мое приложение в настоящее время работает на версии 1.0.20.0, поэтому при запуске приложения строки DeleteSubKey запускаются и работают каждый раз при запуске приложения.
Я думаю, что-то вроде использования:
If(PreviousVersion != Application.ProductVersion)
{
Registry.CurrentUser.DeleteSubKey(PreviousVersion);
}
но у меня проблемы с уточнением.
Плюс было бы неплохо, чтобы он запускался только один раз, а не при каждом запуске.