C # WIX удалить постоянный файл? - PullRequest
2 голосов
/ 13 июля 2011

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

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

Ответы [ 4 ]

7 голосов
/ 13 июля 2011

Вы можете включить элемент RemoveFile в любой компонент, с которым ваш текстовый файл наиболее тесно связан.Когда этот компонент будет удален, текстовый файл также будет удален.

<RemoveFile Id="CleanUpLogFile" On="uninstall" Name="log.txt"/>
1 голос
/ 13 июля 2011

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

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

0 голосов
/ 13 июля 2011

Из любопытства, какова природа текстового файла?В аналогичных ситуациях, когда текстовый файл представляет собой журнал установки, я бы рекомендовал регистрировать его во временном каталоге или в расположении, которое не находится в папке Program Files (например, в папках Program / AppData - например, C: \ ProgramData \ Manufacturer \ в windows 7).).

Этот подход обходит эту проблему, полностью устраняя необходимость создания пользовательских сценариев или действий по очистке.

0 голосов
/ 13 июля 2011

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

...