NSIS-загрузка и распаковка zip-файла из интернета

Я хотел бы создать установщик NSIS, который во время процесса установки проверяет на www, есть ли более новая версия приложения (номер). Если в сети существует более новая версия, чем версия, предоставленная установщиком witch, установщик должен загрузить zip-файл приложения, распаковать его и установить загруженное приложение вместо приложения, предоставленного установщиком.

вопросы:

  • как загрузить файл из интернета (www)?
  • как распаковать загруженный zip-файл?

3 ответов



в качестве дополнения к ответу Стью очень важно отметить, что ZipDLL, в то время как отличный плагин, выпущен под GPL. Если вы выпускаете коммерческий продукт, вы не можете легально включить его в свой продукт. Кроме того, единственная доступная копия требует что вы изменяете источник, который включает разделы "модификация" GPL.

Nsisunz выпускается под чрезвычайно открытой лицензией - просто включите текст лицензии, показанный на странице источника, чтобы распространить его, и не забудьте отметить любую прямую модификацию в источнике.


немного поздно на вечеринку, но теперь (с новыми окнами) в PowerShell есть много полезных функций. Один из них делает не-хлопотную распрессовку .сжатый файл. Единственным недостатком (для меня, по крайней мере) является то, что невозможно избежать извлечения структуры каталогов (сгладить файлы). В противном случае это легко:

powershell.exe Expand-Archive <filename> <target_dir>