Могу ли я сгенерировать патч (.msp) без образа обновления (.msi)

Я много гуглил, но информации по моему вопросу мало.

Краткий вопрос: "Предположим, у вас есть целевой образ (.msi), список измененных двоичных файлов, но у вас нет образа обновления. Как сделать патч на основе этих входных данных?",


Подробное описание:
В настоящее время мы используем TFS в качестве источника контроля. И каждый раз при создании нового MSI мы будем увеличивать AssemblyFileVersion всех проектов, независимо от того, был ли проект действительно изменен или нет в первую очередь. Это хорошо, когда нет необходимости делать патч.
Но, на самом деле, у нас действительно есть требование сделать патч сейчас. Я пытался создать патч, используя Purely WiX или Patch Creation Properties, но почти все проекты будут считаться измененными, когда мы будем напрямую использовать эти MSI.

Итак, если у меня есть три входа:

  1. Целевое изображение (.msi)
  2. Список действительно измененных двоичных файлов
  3. Upgrade Image(версия файла всех двоичных файлов увеличивается) <--- этот ввод может быть бесполезным

Как я могу использовать вышеуказанные входы для создания патча?

Заранее спасибо.

2 ответа

В качестве альтернативы ответу Филса, вы можете добавить переключатель игнорирования только для увеличенных файлов в вашем файле Patch Creative Properties.

<UpgradeFile File="YourFileID" Ignore="yes" />

см. http://wixtoolset.org/documentation/manual/v3/xsd/wix/upgradefile.html

В зависимости от того, сколько файлов нужно игнорировать, это может упростить метод Phils. Хотя, если вы получите список идентификаторов файловых таблиц (экспортируйте таблицу в orca и отредактируйте в Excel, скопируйте A3 вниз) и удалите все идентификаторы из действительно измененного списка, добавьте xml вокруг каждого идентификатора. займет много времени.

Вы все еще можете использовать обновленную сборку MSI при создании патча. Я не знаю всех вещей WiX, которые вам могут понадобиться, но я сделал именно то, что вы хотите сделать, установив IgnoreMissingSrcFiles в таблице TargetImages:

http://msdn.microsoft.com/en-us/library/aa372066(v=vs.85).aspx

и просто удалите все файлы, которые вы не хотите исправлять. Вы все равно используете изображения администратора для создания патча, поэтому у вас будут только два изображения администратора с файлами MSI и только те файлы, которые вы хотите исправить.

Другие вопросы по тегам