Один файл на компонент или несколько файлов на компонент?
-
05-07-2019 - |
Вопрос
Должен ли я обернуть все файлы, которые я хочу установить, в отдельные компоненты? В чем преимущество размещения нескольких файлов в одном компоненте?
Решение
Одна причина для "одного файла на компонент" отказоустойчивость . Когда приложение запускается, установщик Windows может проверить, keypath какого-либо компонента пропал, отсутствует. Если ключевой путь отсутствует, компонент переустанавливается / ремонтируется. Р>
Если у компонента есть несколько файлов, только один файл может быть ключевым путем. В wix вы указываете это, установив KeyPath = yes
в файле элемент. Другие файлы не будут полностью защищены с помощью устойчивости установщика Windows. Они будут переустанавливаться только в том случае, если файл с ключами пропал.
Еще одна причина иметь " один файл на компонент " происходит при установке файлов в места, где они могут уже присутствовать (например, при обновлении приложения или при установке в c: \ windows \ system32
). Установщик Windows определяет, нужно ли устанавливать компонент, проверяя путь к ключу. Если путь к файлу является файлом и файл уже существует (с той же версией или выше), то компонент не установлен. Это проблема, если другие файлы в компоненте действительно нужно было установить / обновить.
Другие советы
Я придерживаюсь подхода Microsoft, который также используется InstallShield: http://msdn.microsoft.com/en-us/library/aa368269 (VS.85) .aspx р>
Приведенная выше ссылка дает преимущества этого подхода. Р>