Если GUID компонента изменяется, но
те же файлы находятся в компоненте,
что происходит при серьезном обновлении?
Во-первых, вопрос заключается в том, удаляется ли старый компонент. Если вы не настроите обновление для удаления предыдущих версий вашего продукта, компонент не будет удален (хотя его файлы могут быть перезаписаны). См. Также ответ на вопрос 2.
Во-вторых, вопрос в том, будет ли установлен новый компонент. Компонент устанавливается, только если его путь к ключу отсутствует. Если ключевой путь является версионным файлом, то более низкая версия также считается «отсутствующей».
Наконец, если новый компонент был помечен для установки, и установщик Windows обнаружил файл с тем же именем, что и тот, который он пытается установить, Правила создания версий файлов определяют, будет ли файл заменен или не. Например, файл с более высокой версией не будет понижен.
Если компонент удален из
продукт, что происходит с
связанные файлы при серьезном обновлении?
Удаляются ли исходные файлы на
удалить?
Если вы не поместите правильные записи в таблицу обновлений и InstallExecuteSequence, которая говорит установщику Windows удалить старый продукт, старые компоненты останутся одни. См. Это сообщение в блоге Алекса Шевчука для руководства о том, как создать установщик в wix, который удаляет старые версии.
Правильно ли я сказал, что майор
обновление заменит все файлы во всех
компоненты ...
Нет. Это зависит от того, был ли старый компонент удален первым, был ли установлен новый компонент в зависимости от пути к ключу и правил управления версиями файла.
Предположим, что продукт был развернут на
машина без использования установщика.
Если вы затем создали установщик, с
файлы с одинаковым именем в компоненте
как то, что находится в установленном каталоге,
что происходит с этими файлами, если вы
пробовал установку?
Опять же, это зависит от того, установлены ли компоненты, в зависимости от пути к ним и правил управления версиями файлов.
Правильно ли я сказал, что если бы я использовал
инструмент, как тепло, чтобы создать файл XML
со всеми файлами в каталоге
(как для веб-сайта), что у вас будет
сохранить идентификаторы GUID (вручную
или со сценарием), или вы бы только
в состоянии сделать серьезные обновления?
Правильно. GUID является идентификатором компонента, поэтому, если вы измените GUID, существуют два компонента (в старой и новой версии вашего продукта), которые установили одинаковые ресурсы в одно и то же целевое местоположение. И это нет-нет в соответствии с MSDN : «Никогда не создавайте два компонента, которые устанавливают ресурс под одним и тем же именем и целевым расположением».