Files
2026-04-30 00:13:55 +02:00

3.3 KiB

nsisunz NSIS Plugin

Versione personale modificata

Basato su past-due/nsisunz - un plugin NSIS per estrarre file da archivi ZIP.


Descrizione Originale

nsisunz è un plugin NSIS che permette di estrarre file da archivi ZIP.

nsisunz è ideale quando si usa un altro plugin NSIS chiamato NSISdl per scaricare un file ZIP da internet. Si può creare un piccolo installer che permette all'utente di scegliere i componenti da installare e l'installer li scarica.

Origini e Storia

  • nsisunz è stato originariamente scritto da Saivert (http://saivert.com/)
  • Supporto NSIS Unicode aggiunto da Gringoloco023, Febbraio 2010
  • Ulteriori miglioramenti di past-due, 2018+:
    • Aggiornamento NSIS plugin API a 3.0
    • Aggiornamento zlib a 1.2.11
    • Aggiornamento Minizip a 1.1-8
    • Supporto build CMake (compila sia DLL ANSI che Unicode)

Funzioni

UnzipToLog

Estrae i file e mostra il log dettagliato:

InitPluginsDir
; Chiama il plugin. Prima il file ZIP, poi la cartella di destinazione.
nsisunz::UnzipToLog "$PLUGINSDIR\myzipfile.zip" "$INSTDIR"

; Controlla sempre il risultato sullo stack
Pop $0
StrCmp $0 "success" ok
DetailPrint "$0" ; stampa messaggio di errore nel log
ok:

Unzip

Estrazione veloce senza log (preferita per archivi grandi):

nsisunz::Unzip "$PLUGINSDIR\myzipfile.zip" "$INSTDIR"

Credits

  • Basato sul codice di NSIS Zip2Exe - porzioni Copyright © 1999-2001 Miguel Garrido (mgarrido01@hotmail.com)
  • ZLIB - Copyright © Mark Adler
  • MiniZip - Copyright © 1998-2010 - di Gilles Vollant - versione 1.1 64 bits di Mathias Svensson

Licenza

Le condizioni di uso e distribuzione sono le stesse di zlib.


⚠️ Differenze nella versione personale

Questa versione è basata su past-due/nsisunz con le seguenti modifiche:

Nuova architettura supportata: x64 (amd64-unicode)

L'originale supporta:

  • x86-ansi
  • x86-unicode

La versione personale aggiunge il supporto per:

  • amd64-unicode (x64)

Progetto Visual Studio

L'originale usa CMake per la compilazione. La versione personale include progetti Visual Studio:

  • Source/nsisunz.vcproj - Progetto VS2008 (legacy)
  • Source/nsisunz.vcxproj - Progetto VS2022 (x86-ansi, x86-unicode, amd64-unicode)

File modificati/semplificati

La versione personale usa una versione più vecchia e semplificata di zlib:

  • Source/zlib/ - Libreria zlib semplificata (solo file essenziali per decompressione)

Rispetto all'originale GitHub che include:

  • CMakeLists.txt e configurazione CMake completa
  • zlib 1.2.11 completa con tutti i contributi (285 file)
  • Minizip completo
  • Configurazione CI/CD (.github, appveyor)

File aggiunti

  • build_plugin.py - Script Python per compilare il plugin per tutte le architetture
  • Doc/ - Documentazione (info.rtf, nsisunz_readme.html)
  • ExDLL/exdll.h - Header per l'API NSIS extern DLL

Compilazione

cd nsUnz
python build_plugin.py

I DLL vengono copiati in plugins/{platform}/nsisunz.dll.