Я создаю патч, который обновит мою MSI, построенную в WiX. У меня есть один компонент, который имеет только sqlupdatescript
, который обрабатывает все мои изменения в базе данных.Компонент Wix не будет обновляться после исправления
Когда мне нужно обновить свой DB, я добавлю еще один sqlscript
в этот компонент. Проблема в том, что если я создаю патч, который ТОЛЬКО имеет добавленный sqlscript
в этом компоненте, патч ничего не сделает. Если я сделаю изменение в файле (в рамках той же функции), то также будет запущен sqlscript
.
Ожидается ли такое поведение в WiX?
Фактически, мой компонент не содержит файлов вообще. Только sqlscripts. Вы имеете в виду, что маркировка «keyfile» заставит wix увидеть изменение? Или мне нужно добавить поддельный файл, который я обновляю каждый раз, когда хочу просто запускать свои скрипты? – pezmannen
Если это не элемент ключевого пути, то да, он не будет обнаружен как измененный, поэтому наилучшей практикой является наличие у каждого компонента одного ресурса, помеченного как ключ. Изменение скрипта, который не является ключевым путем, не будет обнаружен как нечто, что было изменено. Неразумно изменять отношения ключевого пути в патче, поэтому не изменяйте его до тех пор, пока не выполните основное обновление. – PhilDW