d074cc7c07
Plugin: ns7zip v2.0.0 Architectures: x86-ansi, x86-unicode, amd64-unicode License: LGPL-2.1-or-later
135 lines
5.9 KiB
Markdown
135 lines
5.9 KiB
Markdown
# Nsis7z Plugin - 7-Zip 19.00
|
|
|
|
**Plugin NSIS per l'estrazione di archivi 7z**
|
|
|
|
## Informazioni
|
|
|
|
| Proprietà | Valore |
|
|
|------------------|---------------------------------------------------------|
|
|
| Versione 7-Zip | 19.00 |
|
|
| Autore originale | Afrow UK |
|
|
| Basato su | 7-Zip by Igor Pavlov |
|
|
| Modifiche | Supporto x64, VS2022/VS2026, ExtractWithFileCallback |
|
|
|
|
## Formati Supportati
|
|
|
|
| Formato | Estensione | Crittografia |
|
|
|---------|------------|----------------|
|
|
| 7z | .7z | AES-256 |
|
|
| LZMA | .lzma | — |
|
|
| XZ | .xz | — |
|
|
| Split | .001 | — |
|
|
|
|
### Codec 7z Supportati
|
|
|
|
- LZMA / LZMA2
|
|
- PPMd
|
|
- BCJ / BCJ2 (filtri)
|
|
- Delta
|
|
- Copy
|
|
|
|
## Architetture
|
|
|
|
| Architettura | Descrizione |
|
|
|-----------------|-----------------------|
|
|
| x86-ansi | 32-bit ANSI (legacy) |
|
|
| x86-unicode | 32-bit Unicode |
|
|
| amd64-unicode | 64-bit Unicode |
|
|
|
|
## Usage
|
|
|
|
```nsis
|
|
!addplugindir "plugins\x86-unicode"
|
|
|
|
Section
|
|
; Extract 7z archive
|
|
Nsis7z::ExtractWithDetails "$EXEDIR\data.7z" "Installing package %s..."
|
|
|
|
; Or simple extraction
|
|
Nsis7z::Extract "$EXEDIR\data.7z"
|
|
SectionEnd
|
|
```
|
|
|
|
### Functions
|
|
|
|
#### Nsis7z::Extract
|
|
|
|
```nsis
|
|
Nsis7z::Extract "archive.7z"
|
|
```
|
|
|
|
Extracts the archive to `$OUTDIR` silently.
|
|
|
|
#### Nsis7z::ExtractWithDetails
|
|
|
|
```nsis
|
|
Nsis7z::ExtractWithDetails "archive.7z" "Installing %s..."
|
|
```
|
|
|
|
Extracts the archive showing progress with the specified format string.
|
|
|
|
#### Nsis7z::ExtractWithCallback
|
|
|
|
```nsis
|
|
Nsis7z::ExtractWithCallback "archive.7z" callback_function
|
|
```
|
|
|
|
Extracts with a callback that receives `completedSize` and `totalSize`.
|
|
|
|
#### Nsis7z::ExtractWithFileCallback (Nuovo)
|
|
|
|
```nsis
|
|
Nsis7z::ExtractWithFileCallback "archive.7z" callback_function
|
|
```
|
|
|
|
Extracts with a callback that receives `completedSize`, `totalSize` and `fileName`.
|
|
|
|
> Questa funzione è stata aggiunta nella versione personale.
|
|
|
|
## Compilazione
|
|
|
|
### Requisiti
|
|
|
|
- Visual Studio 2022 o 2026 con workload C++
|
|
- Python 3.x
|
|
|
|
### Build
|
|
|
|
```powershell
|
|
cd ns7zip
|
|
|
|
# VS2022
|
|
python build_plugin_vs2022.py
|
|
|
|
# VS2026
|
|
python build_plugin_vs2026.py
|
|
```
|
|
|
|
### Opzioni
|
|
|
|
```powershell
|
|
python build_plugin_vs2022.py --configs x64-unicode --verbosity minimal
|
|
```
|
|
|
|
## Ricostruzione Sorgenti
|
|
|
|
Per ricostruire i sorgenti originali da zero:
|
|
|
|
```powershell
|
|
cd ns7zip
|
|
.\rebuild_nsis7z1900-src.ps1
|
|
```
|
|
|
|
Lo script scarica 7-Zip 19.00 da 7-zip.org e unisce i file del plugin NSIS.
|
|
|
|
## License
|
|
|
|
- **7-Zip**: LGPL 2.1 + BSD 3-clause
|
|
- **Plugin NSIS**: Afrow UK
|
|
|
|
## Credits
|
|
|
|
- Igor Pavlov (7-Zip)
|
|
- Afrow UK (Plugin originale)
|
|
- Simone (Supporto x64, VS2022/VS2026, ExtractWithFileCallback)
|