MSI diff на пакеты для создания патчей - PullRequest
1 голос
/ 05 января 2011

Я смотрю, какие самые лучшие варианты для создания патчей для наших клиентов.Им не нужен полноценный установщик при выполнении небольших исправлений (от 1.0 до 1.1), поскольку им нужно будет выполнить полную регрессию в системе.

Я хотел знать, есть ли инструмент (платный илинет) это займет 2 msi сборки, сделайте diff / сравните и поместите пригодный установщик патча.

В большинстве случаев это будут обновления сборок (измененных или новых), но может потребоваться некоторый пользовательский скриптc # если возможно)

Ответы [ 2 ]

3 голосов
/ 05 января 2011

Им не нужен полнофункциональный установщик при выполнении небольших исправлений ... поскольку им нужно будет выполнить полную регрессию в системе.

Это утверждение основано на некоторыхневерная логика, и тот, кто ее произнес, выдувает дым из пословицы.Риск установки патча почти такой же, как и у полного инсталлятора - если тестеры не верят в процесс сборки / выпуска, оба должны быть полностью протестированы.MSI - это просто комплектация , полная установка или установка патча могут изменить всю систему.Если тестировщики хотят выдвинуть аргумент, что "с патчем, файл abc.dll не изменился, поэтому нам не нужно проверять функциональность в нем" , тогда вы можете утверждать, что этодумать неправильно - если код, использующий abc.dll, изменился, то abc.dll может демонстрировать другое поведение.

IOW, я утверждаю, что установка патча или полная установка несут одинаковый уровень риска, и обадолжны быть проверены на том же уровне.Чтобы свести к минимуму количество повторных испытаний, вам необходимо заручиться доверием и уверенностью в процессе выпуска - автоматизированный процесс сборки / выпуска и проверяемая система контроля версий должны сделать это за вас.

В любом случае я согласен сответ от @Christopher - такие инструменты, как InstallShield, можно использовать для создания одной msi, которая будет либо полной установкой, если у вас еще нет продукта на вашем компьютере, либо она переключится в режим обновления, если обнаружит элемент стот же код продукта и меньший номер версии уже установлены.Сказав это, может быть невероятно сложно заставить это обновление работать правильно.

2 голосов
/ 05 января 2011

InstallShield может сделать это при условии:

  1. Вы соблюдаете строгое соблюдение правил для компонентов и имеете рабочую историю незначительного обновления.

  2. Вы постепенно создаете свои сборки, чтобы система не думала, что все ваши файлы изменились.

Есть и другие способы сделать это, но если честно, требуется немало сантехники.

Если честно, я много раз слышал вашу историю "мы должны все это проверить", и я никогда не покупал аргумент.Обычно они хотят по кусочкам съесть свою базовую линию, а затем сунуть голову в песок на истинной тестовой поверхности.Обычно их настоящая проблема заключается в дисциплине SCM / Build / Release, а не в том, является ли установщик Major Upgrade, Minor Upgrade или Patch.(ИМО)

...