Как удалить данные приложения при установке и переустановке - PullRequest
2 голосов
/ 21 мая 2010

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

Ответы [ 2 ]

6 голосов
/ 21 мая 2010

В API 5.0 есть новый класс под названием CodeModuleListener , который вы можете использовать для отслеживания удаления модулей. До 5.0, хотя, нет никаких хуков. Однако вот несколько идей, о которых стоит подумать и / или попробовать:

  1. Используйте CodeModuleManager методы getModuleDownloadTimestamp () или getModuleTimestamp () (не уверен, какой из них даст правильную информацию), чтобы найти «время установки» модуля, а затем сохранить его в упорство. Затем при каждом запуске приложения снова считывайте значение из модуля и сравнивайте его с постоянным значением. Если значение модуля более новое, приложение было переустановлено.

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

0 голосов
/ 21 мая 2010

Может быть, я неправильно понимаю, но разве ваш деинсталлятор не должен просто удалить постоянное хранилище? Некоторые деинсталляторы имеют опцию флажка, которая позволяет пользователю контролировать, удаляются ли их данные, но это определенно задача деинсталлятора - избавиться от них при необходимости

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