2012-04-27 3 views
4

После удаления моего приложения Winform остаются файлы и папки, включая файлы содержимого (изображения, значки и т. Д.) И папку для журналов, создаваемых приложением. Для файлов содержимого: в проекте пользовательского установщика у меня установлено свойство «Постоянное» равным false. Для папки журналов: я предположил, что это будет удалено со всем остальным.Полностью удалите все папки и файлы при удалении приложения Winform?

Есть ли свойство настройки MSI, которое мне не хватает или мне нужно определить корневой путь приложения и удалить все из переопределенного метода Uninstall?

ответ

2

Нет, нет. Установщик MSI не удалит все, что он не установил, что означает, что пользовательские данные, файлы журналов и т. Д. Остались.

Это по дизайну - можете ли вы представить себе ответственность, если пользователь по ошибке удалил ваше приложение и уничтожил все свои финансовые данные или что-то еще? Или, если они ошибочно сохранили другие вещи в папке с данными вашего приложения, и ваш деинсталлятор удалил их?

+0

Спасибо за ваш ответ. Это имеет смысл для файлов, которые я создал, но как насчет файлов содержимого? Не следует ли их удалить? – dotNetkow

+0

Если файлы были установлены установщиком, и при удалении они будут точно такими же, они должны быть удалены, но ** только **, если оба эти условия истинны. –

+0

OK - я понял, что в папке Content Files мое приложение создает другой файл, который нарушает ваши условия выше. Благодарю. – dotNetkow

0

См. Инсталлятор, который хранит информацию обо всех файлах, установленных им, и когда вызывается uninstall, эта информация сообщает установщику, какие файлы или папки удалить. После установки, если приложение или пользователь создает какую-либо папку или файл, эти элементы остаются там после даже после удаления.

Но есть решение. Вы можете написать свое собственное действие под OnAfterUninstall здесь

protected override void OnAfterUninstall(IDictionary savedState) 
{ 
    base.OnAfterUninstall(savedState); 
    // Write your code 
} 
Смежные вопросы