#c# #.net #visual-studio-2010 #windows-installer #setup-project
#c# #.net #visual-studio-2010 #windows-установщик #установка-проект
Вопрос:
У меня есть проект установки. Если пользователь изменяет один из установленных файлов, а затем деинсталлирует приложение, я бы хотел, чтобы файл НЕ удалялся при удалении (чтобы при повторной установке пользователя позже использовался измененный файл, а не тот, который обычно используется установщиком по умолчанию). Возможно ли это вообще?
Примечание: Файлы, которые не были отредактированы, должны быть применимы для обновлений / удаления.
Ответ №1:
Чтобы предотвратить удаление, вы должны пометить компонент файлов как постоянный
http://msdn.microsoft.com/en-us/library/windows/desktop/aa368007 (v = против 85).aspx
Комментарии:
1. Я думаю, что они не хотят оставлять установленные вещи — они просто хотят оставить любые пользовательские настройки вместо того, чтобы удалять их.
2. Это правильно. Файлы, которые не были отредактированы, должны быть применимы для обновлений / удаления.
3. Затем вы должны использовать некоторые пользовательские действия для резервного копирования файлов перед действием RemoveFiles, а затем восстановить послесловие.
4. Спасибо, я пытался избежать пользовательских действий, но, похоже, другого способа нет.
Ответ №2:
Поскольку невозможно запретить проекту установки удалять измененные файлы при удалении, лучший подход, который я нашел (как упоминалось Ciprian), заключается в создании пользовательского действия, которое создает резервные копии измененных файлов перед удалением и восстанавливает их в другом пользовательском действии впоследствии.