https://github.com/adoconnection/sevenzipextractor
C# wrapper for 7z.dll
https://github.com/adoconnection/sevenzipextractor
7zip dotnet dotnet-core extractor
Last synced: 8 months ago
JSON representation
C# wrapper for 7z.dll
- Host: GitHub
- URL: https://github.com/adoconnection/sevenzipextractor
- Owner: adoconnection
- License: mit
- Created: 2016-04-27T12:25:27.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2024-12-18T20:14:42.000Z (about 1 year ago)
- Last Synced: 2025-04-14T19:54:08.904Z (9 months ago)
- Topics: 7zip, dotnet, dotnet-core, extractor
- Language: C#
- Size: 7.25 MB
- Stars: 327
- Watchers: 17
- Forks: 84
- Open Issues: 22
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SevenZipExtractor
C# wrapper for 7z.dll (x86 and x64 included)
- .NET Standard 2.0
- .NET Framework 4.5
[](https://www.nuget.org/packages/SevenZipExtractor)
[](https://www.nuget.org/packages/SevenZipExtractor)
Every single star makes maintainer happy! ⭐
## NuGet
```
Install-Package SevenZipExtractor
```
## Supported formats:
* 7Zip
* APM
* Arj
* BZip2
* Cab
* Chm
* Compound
* Cpio
* CramFS
* Deb
* Dll
* Dmg
* Exe
* Fat
* Flv
* GZip
* Hfs
* Iso
* Lzh
* Lzma
* Lzma86
* Mach-O
* Mbr
* Mub
* Nsis
* Ntfs
* Ppmd
* Rar
* Rar5
* Rpm
* Split
* SquashFS
* Swf
* Swfc
* Tar
* TE
* Udf
* UEFIc
* UEFIs
* Vhd (?)
* Wim
* Xar
* XZ
* Z
* Zip
## Examples
#### Extract all
```cs
using (ArchiveFile archiveFile = new ArchiveFile(@"Archive.ARJ"))
{
archiveFile.Extract("Output"); // extract all
}
```
#### Extract password proceted archive, owerwrite files
```cs
using (ArchiveFile archiveFile = new ArchiveFile(@"Archive.ARJ"))
{
archiveFile.Extract("Output", overwrite: true, password: "mySecret");
}
```
#### Extract to file or stream
```cs
using (ArchiveFile archiveFile = new ArchiveFile(@"Archive.ARJ"))
{
foreach (Entry entry in archiveFile.Entries)
{
Console.WriteLine(entry.FileName);
// extract to file
entry.Extract(entry.FileName);
// extract to stream
MemoryStream memoryStream = new MemoryStream();
entry.Extract(memoryStream);
}
}
```
#### Guess archive format from files without extensions
```cs
using (ArchiveFile archiveFile = new ArchiveFile(@"c:\random-archive"))
{
archiveFile.Extract("Output");
}
```
#### Guess archive format from streams
```cs
WebRequest request = WebRequest.Create ("http://www.contoso.com/file.aspx?id=12345");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
using (ArchiveFile archiveFile = new ArchiveFile(response.GetResponseStream())
{
archiveFile.Extract("Output");
}
```
## Wiki
* [Extracting from solid archives](https://github.com/adoconnection/SevenZipExtractor/wiki/Extracting-from-solid-archives)
* [Extract tar.gz, tag.xz](https://github.com/adoconnection/SevenZipExtractor/wiki/Extract-tar.gz,-tag.xz)
## 7z.dll
7z.dll (x86 and x64) will be added to your BIN folder automatically.
## License
- Based on code from: http://www.codeproject.com/Articles/27148/C-NET-Interface-for-Zip-Archive-DLLs
- Source code in this repo is licensed under The MIT License
- 7z binaries license http://www.7-zip.org/license.txt
## Changelog
1.0.19 / 2024.12.18
- Password property for archive.Extract method
1.0.18 / 2024.12.18
- [Extract password protected archives](https://github.com/adoconnection/SevenZipExtractor/issues/77) (Thanks [SalmaBegumJSR](https://github.com/SalmaBegumJSR))
- #75 updating dlls to 24.08 version (Thanks [insane-abreu](https://github.com/insane-abreu))
- #69 Add exposed field that contains the archive format (Thanks [Gargaj](https://github.com/Gargaj))
1.0.17 / 2022.04.08
- #54 4Gb+ archives fixed! 🎉 (Thanks [Pyroluk](https://github.com/Pyroluk))
1.0.16 / 2021.01.17
- 7z binaries updated to 21.07.0.0
- PR#56 - signature for ```SquashFS``` (Thanks [mmoosstt](https://github.com/mmoosstt))
- PR#53 - look for binaries in ```bin``` folder (Thanks [CupSunshine](https://github.com/CupSunshine))
1.0.15 / 2020.01.14
- .NETStandard 2.0 support PR#38
1.0.14
- Entry.Extrat - preserveTimestamp is true by default #34
- Dynamic operations can only be performed in homogenous AppDomain" #36