процесс обновления программного обеспечения - PullRequest
1 голос
/ 06 мая 2011

Я сделал небольшое программное обеспечение на qt и его единственный исполняемый файл и несколько dll. Я хочу, чтобы кто-нибудь помог мне понять, как происходит обновление exe и dll без необходимости замены всего exe и dll, но вместо этого , напишите изменения, которые вы внесли в существующий exe или dll.

Ответы [ 3 ]

2 голосов
/ 06 мая 2011

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

Другая ссылка

1 голос
/ 06 мая 2011

Вы можете выпустить файл исправления , который содержит различия между существующей версией пользователя файлов .exe и .dll и файлами, которые им теперь нужно использовать.

Конечно, ваш процесс сборки все еще производит полный набор двоичных файлов 1 , но генерация и распространение файлов исправлений означает, что вам нужно меньше для развертывания.

Это не принято делатьэто, тем не менее, поскольку это более сложно для конечного пользователя и (если у вас нет обширного дистрибутива), нет очень ощутимой выгоды.


Примечание 1 Почему это важно?В чем разница между вами:

  • Старый файл существует
  • Набор инструментов перезаписывает файл новой информацией
  • Новый файл теперь существует вместо

и

  • Старый файл существует
  • Toolchain изменяет только измененные байты в существующем файле
  • Новый файл теперь существует вместо

В каких-то практических целях я не понимаю, какая будет польза во втором.

1 голос
/ 06 мая 2011

Если вы вносите изменения в конкретную DLL или EXE-файл в коде, вам нужно перекомпилировать и перестроить DLL или EXE-файл, а затем перезаписать существующую. Я не понимаю, как вы могли бы внести изменения в существующий EXE или DLL, не делая этого.

...