Установить файл, который должен быть удален только при реальной деинсталляции и никогда не перезаписываться - PullRequest
0 голосов
/ 01 апреля 2010

Когда я устанавливаю свое приложение вместе с двоичными файлами, устанавливается файл conf, который пользователь может изменять по мере необходимости (на самом деле это файл пользовательских данных). Мне бы хотелось, чтобы этот файл не перезаписывался и не удалялся, когда происходит восстановление, обновление, изменение, и его следует удалять только в случае реального удаления. Другими словами: этот conf-файл устанавливается вместе с двоичными файлами и никогда не должен затрагиваться (перезаписываться / удаляться) до тех пор, пока не произойдет реальное удаление (не восстановление, изменение, обновление), в этом случае его следует удалить.

Итак, я думал о том, чтобы сделать:

<Component Id="aaa.cfg" Guid="GUID"> <File Id="aaa.cfg" Source="aaa.cfg" KeyPath="yes" /> </Component>

Но я не знаю, как я могу подготовить компонент так:

  1. компонент, подлежащий удалению только при реальной деинсталляции - не обновляет, не ремонтирует, не модифицирует?

  2. файл ни в коем случае не следует перезаписывать, если он уже существует.

1 Ответ

0 голосов
/ 01 апреля 2010

Самый простой способ адресации 2, вероятно, состоит в том, чтобы установить его как «шаблон» и заставить приложение скопировать этот шаблон в «окончательное» местоположение, если оно не существует. (Если это пользовательский файл, установите шаблон вместе с вашим приложением и сделайте окончательную копию где-нибудь подходящим, под% USERPROFILE%)

...