2016-07-19 6 views
0

Я хочу сделать резервную копию своих конфигурационных файлов приложений. Эти файлы находятся в указанном каталоге. Все, что я хочу сделать, это сделать подкаталог этого каталога и переместить туда эти файлы конфигурации при удалении.Сделать резервную копию конфигурационных файлов при удалении продукта - WIX, .NET, C#

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

Я могу сделать этот сценарий с помощью элемента CopyFile WIX, но я не знаю, как его запустить при деинсталляции.

ответ

0

Here. Пользовательское действие, которое запускается только при ununstall.

<Custom Action='CREATE_BACKUP' Before='...'>REMOVE="ALL"</Custom> 
+0

Да, я знаю это решение, но тогда я должен написать всю логику, чтобы переместить эти конфиги, добавить новый проект и т. Д. Вместо использования элемента CopyFile wix. Я пытаюсь сохранить его настолько простым, насколько это возможно. – AndrewGolota

+0

CopyFile with Condition? – Arheus

1

Обычный способ сделать это, приложение будет сделать копию файла конфигурации, когда он первый работает, и скопированный файл обновляется и используется приложением. Удаление не удаляет его (поскольку он его не установил), но его можно удалить с помощью элемента RemoveFile или пользовательского действия (а удаление с помощью CA более просто, чем копирование).

Одна из причин, по которой этот метод используется, заключается в том, что для каждого пользователя могут потребоваться отдельные файлы конфигурации. В этих случаях файл, установленный шаблоном, копируется приложением для каждого пользователя. Другая причина - обновления и исправления. Небрежные исправления и обновления могут перезаписывать исходный файл (поскольку используется REINSTALLMODE = vamus). Кроме того, обновления могут быть использованы для доставки обновленных конфигурационных файлов, не перескакивая через обручи, выясняя, как сохранить существующий файл конфигурации, но при этом доставить новую во время установки. Более старый неизменный шаблонный файл конфигурации можно заменить, не влияя на текущие настройки приложения.

+0

Благодарим за сообщение. Наконец, я решил сделать это с помощью пользовательских действий. – AndrewGolota