Как заставить WiX оставлять файлы после удаления? - PullRequest
25 голосов
/ 13 апреля 2010

Есть ли способ НЕ удалять файлы после удаления?

Ответы [ 4 ]

39 голосов
/ 13 апреля 2010

Установите значение Component Permanent="yes" так:

<Component Id="LicenseDoc" Guid="*" Permanent="yes">
    <File Id ="License.rtf" Source="$(var.SolutionDir)Installer\License.rtf" />
</Component>
6 голосов
/ 14 апреля 2010

Комплименты Фила Уилсона из списка рассылки wixusers:

См. Документацию MSI SDK для таблицы компонентов - установите guid компонента равным нулю (пусто). Эффект этого состоит в том, что компонент не зарегистрирован (таким образом, это не может быть восстановлено), и это не будет удалено.

2 голосов
/ 12 марта 2018

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

<Feature Id="myFonts" Title="Application Fonts" Level="1">
  <ComponentGroupRef Id="Component_group_with_fonts_to_install" />
  <Condition Level="0">
    <![CDATA[REMOVE = "ALL"]]>
  </Condition>
</Feature>

Таким образом устанавливается функция шрифта, но при удалении уровень функции устанавливается на 0, поэтому он остается один.

0 голосов
/ 24 августа 2014

Другой способ запретить установщику Windows удаления компонента при удалении - это установить пустой или пустой GUID компонента . Это приведет к установке компонента, но он никогда не будет отслеживаться или удаляться.

См. Документацию MSI SDK : " ... если этот столбец (ComponentId) равен нулю, установщик не регистрирует компонент, и компонент не может быть удален или восстановлен установщиком. Это может быть сделано намеренно, если компонент нужен только во время установки, например, настраиваемое действие, которое очищает временные файлы или удаляет старый продукт. Это также может быть полезно при копировании файлов данных на компьютер пользователя, который не нужно регистрировать ."

...