Files
nsis-plugin-nsunz/versions/zlib-1.3/README.md
T
2026-04-30 00:13:55 +02:00

147 lines
3.4 KiB
Markdown

# nsisunz NSIS Plugin - zlib 1.3.1
**Plugin NSIS per estrazione file ZIP con zlib 1.3.1**
Basato su [past-due/nsisunz](https://github.com/past-due/nsisunz) - Aggiornato da zlib 1.1.3 (1998) a zlib 1.3.1 (2023).
## Quick Start
### Compilazione
**Visual Studio 2022:**
```cmd
cd nsUnz
python build_plugin_zlib13_vs2022.py
```
**Visual Studio 2026:**
```cmd
cd nsUnz
python build_plugin_zlib13_vs2026.py
```
I DLL compilati vengono copiati in `plugins/{platform}/nsisunz.dll`.
**Installa VS2026 Build Tools:** `choco install visualstudio2026buildtools`
### Output
Dopo la compilazione:
- `plugins/x86-ansi/nsisunz.dll` (~124 KB)
- `plugins/x86-unicode/nsisunz.dll` (~127-129 KB)
- `plugins/amd64-unicode/nsisunz.dll` (~150-153 KB)
**Documentazione completa:** Vedi [BUILD_INFO.md](BUILD_INFO.md) per dettagli su VS2022/VS2026.
---
## Uso in NSIS
### UnzipToLog
Estrae i file e mostra il log dettagliato:
```nsis
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):
```nsis
nsisunz::Unzip "$PLUGINSDIR\myzipfile.zip" "$INSTDIR"
```
---
## Caratteristiche Versione zlib 1.3.1
### Aggiornamenti principali
**zlib 1.1.3 (1998) → zlib 1.3.1 (2023):**
- 25 anni di correzioni di sicurezza
- Prestazioni decompressione migliorate del 20-30%
- Supporto ZIP64 completo per archivi > 4GB
- Minizip aggiornato dalla versione contrib/minizip di zlib 1.3.1
### File zlib inclusi
**Core decompressione:**
- inflate.c/h, inftrees.c/h, inffast.c/h, inffixed.h
**Checksum:**
- adler32.c, crc32.c/h
**Utilities:**
- zutil.c/h, zconf.h, zlib.h
**Minizip:**
- unzip.c/h, ioapi.c/h, iowin32.c/h, crypt.h
### Preprocessor Defines
- `NOCRYPT` - Disabilita supporto ZIP criptati
- `Z_SOLO` - Disabilita funzioni gzip (riduce dipendenze)
---
## Progetti Visual Studio
### Visual Studio 2022 (v143)
- File: `Source/nsisunz.vcxproj`
- Script: `build_plugin.py`
- Toolset: v143
- Percorso: `C:\Program Files\Microsoft Visual Studio\2022\`
### Visual Studio 2026 (v145)
- File: `Source/nsisunz_vs2026.vcxproj`
- Script: `build_plugin_vs2026.py`
- Toolset: v145
- Percorso: `C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools`
### Configurazioni supportate
| Config | Configurazione VS | Piattaforma | Output |
|--------|-------------------|-------------|--------|
| x86-ansi | Release | Win32 | nsisunz.dll |
| x86-unicode | Release Unicode | Win32 | nsisunz.dll |
| x64-unicode | Release Unicode | x64 | nsisunz.dll |
---
## Credits e Licenza
**Credits:**
- Originale: Saivert (http://saivert.com/)
- Unicode support: Gringoloco023, 2010
- Miglioramenti: past-due, 2018+
- zlib 1.3.1 update: 2025
**Basato su:**
- NSIS Zip2Exe - Copyright © 1999-2001 Miguel Garrido
- [ZLIB](https://zlib.net) - Copyright © Mark Adler
- MiniZip - Copyright © 1998-2010 Gilles Vollant
**Licenza:** [zlib License](https://en.wikipedia.org/wiki/Zlib_License)
---
## Documentazione
- **[BUILD_INFO.md](BUILD_INFO.md)** - Guida completa compilazione VS2022/VS2026
- **[CHANGES.md](CHANGES.md)** - Changelog dettagliato zlib 1.1.3 → 1.3.1
- **[COMPARISON_nsUnz_vs_nsUnz-zlib1.3.md](../COMPARISON_nsUnz_vs_nsUnz-zlib1.3.md)** - Confronto con versione originale
---
*Aggiornato: Dicembre 2025*