исправление NSIS (несколько исправлений в одном файле)

StackOverflow https://stackoverflow.com/questions/886350

  •  23-08-2019
  •  | 
  •  

Вопрос

Я могу сгенерировать файлы исправлений из одной версии в другую, используя Vpatch от NSIS.Допустим, у меня есть mydll.библиотека dll версии 1, и у меня есть патч для обновления ее до версии 2.Затем у меня снова появляется новая версия, поэтому я создаю еще один патч, чтобы обновить его до версии 3.

Однако что меня беспокоит, так это то, что, если пользователь отменит обновление до версии 2 и так далее.Тогда, скажем, моя последняя версия - версия 20.Пользователь решает обновиться до версии 20.Есть ли способ сгенерировать патч, который по своей природе является накопительным?принимая во внимание, что пользователь может перейти с версии любой старой версии на самую новую версию (т. е. с версии 3 по версию 20), не проходя через промежуточные версии?

Я прочитал эту строку в документации vpatch ---> "если вы хотите иметь возможность обновить версии 1 и 2 до версии 3, вы можете поместить исправления 1 > 3 и 2 > 3 в один файл". Но как мне это сделать?

Что делать, если у меня уже есть около 30 версий.Означает ли это, что я должен создать патч, аргументами которого являются старые файлы (версии 1-29) и новый файл (версия20)?

Это было полезно?

Решение

Я бы сказал, что у вас есть два варианта:

  • Каждый раз, когда у вас появляется новая версия, вы добавляете исправление для каждой предыдущей версии к новой версии
  • GENPAT просто из New-1 в New (добавление к файлу исправления, в котором уже было New-2 в New-1 и т.д.) И продолжайте вызывать vpatch::vpatchfile во время установки, пока возвращаемое значение не будет "OK, новая версия уже установлена", а не просто "OK" (для этого вам не нужен архив всех старых версий, но пользователю потребуется больше времени, чтобы применить обновление, если они пропустили много обновлений)

Другие советы

VPatch сам по себе является проектом с открытым исходным кодом, поэтому вы можете задать вопрос на их форуме.Парень, написавший это, говорит, что вы можете задавать ему вопросы.С его страницы есть ссылка на форму электронной почты: http://www.tibed.net/vpatch/

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top