Удаление лишних файлов после удаления приложения clickonce - PullRequest
0 голосов
/ 20 октября 2011

У меня есть проект, который использует clickonce для создания файла setup.exe. Во время выполнения моя программа создает несколько дополнительных файлов, таких как «Журнал» и «Вложения» внутри папки пользователя. Однако эти папки не удаляются, когда я выполняю удаление приложения clickonce из ARP. Эти оставшиеся файлы мешают следующей установке.

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

Один из способов, который я попробовал, состоял в том, чтобы создать скрипт очистки и добавить его в качестве пакета начальной загрузки к предварительному требованию проекта "один раз". Это работало так, что каждый раз перед установкой нового продукта предыдущие грязные данные удалялись. Однако, это испортило случай обновления.

Есть идеи, как удалить лишние файлы, оставленные после удаления clickonce?

Спасибо

JS

Ответы [ 2 ]

1 голос
/ 21 октября 2011

При удалении приложения ClickOnce ничего нельзя сделать, кроме как удалить приложение ClickOnce.

Рассматривали ли вы размещение файлов в ApplicationDeployment.CurrentDeployment.DataDirectory? Тогда они будут удалены, когда приложение не будет установлено.

Если файлы являются частью проекта, вы можете установить тип данных в диалоговом окне «Файлы приложения», и он автоматически поместит их в каталог данных при развертывании.

0 голосов
/ 05 сентября 2018

Это решение работает при многократной переустановке (чистой), однако оно не удаляет данные при последней деинсталляции или до следующей установки.

Тем не менее при деинсталляции нет настраиваемого места для удаления файлов, выходящих за рамки клика.

Оставьте файл в ApplicationDeployment.CurrentDeployment.DataDirectory.

При запуске посмотрите, существует ли файл в условиях развертывания в сети, firstrun (который также сбрасывается при upgarde). В случае успеха это первая установка или обновление. В случае сбоя приложение было удалено и установлено снова ... теперь у вас есть возможность очистить данные приложения.

Если данные конфиденциальны, вы можете использовать другое решение для удаления файлов при удалении (на данный момент я не вижу, чтобы Microsoft предоставила нам опцию)

...