IsolatedStorage: Удалить настройки в программе удаления? - PullRequest
1 голос
/ 21 июля 2009

Наше приложение сохраняет пользовательские настройки в изолированном хранилище.

Однако удаление этих файлов из нашего деинсталлятора оказывается непростым делом!

Я могу перечислить все файлы в IsolatedStorage (используя пример кода MSDN), найти те, которые связаны с нашим ключом строгого имени, и попытаться удалить / удалить их. К сожалению, вот где все это разваливается:

MaxSize не определен для этого магазина. Была выполнена операция, которая требуется доступ к MaxSize. магазины полученные с помощью API перечисления не иметь четко определенный MaxSize, так как частичное доказательство используется, чтобы открыть магазин.

Кто-нибудь может помочь с этим? Полагаю, я мог бы потратить несколько дней, пытаясь подделать какие-либо доказательства, чтобы установщик мог действовать как самозванец, но должен быть лучший (быстрее, чище) способ?

Если нет, думаю, я возвращаюсь в старый добрый реестр.

1 Ответ

2 голосов
/ 28 июля 2009

На случай, если кто-нибудь еще захочет узнать ответ ...

Похоже, что лучшие решения могут быть:

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

  • Добавить средство для запуска основного приложения с флагом командной строки, который указывает ему удалить файлы изолированного хранилища и выйти, а затем вызвать его из деинсталлятора.

  • или сохраните все это безобразие и полностью откажитесь от изолированного хранилища

...