mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
Convert over to SharpCompress
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,31 +0,0 @@
|
|||||||
7-Zip Extra
|
|
||||||
~~~~~~~~~~~
|
|
||||||
License for use and distribution
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
Copyright (C) 1999-2015 Igor Pavlov.
|
|
||||||
|
|
||||||
7-Zip Extra files are under the GNU LGPL license.
|
|
||||||
|
|
||||||
|
|
||||||
Notes:
|
|
||||||
You can use 7-Zip Extra on any computer, including a computer in a commercial
|
|
||||||
organization. You don't need to register or pay for 7-Zip.
|
|
||||||
|
|
||||||
|
|
||||||
GNU LGPL information
|
|
||||||
--------------------
|
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
|
||||||
modify it under the terms of the GNU Lesser General Public
|
|
||||||
License as published by the Free Software Foundation; either
|
|
||||||
version 2.1 of the License, or (at your option) any later version.
|
|
||||||
|
|
||||||
This library is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
Lesser General Public License for more details.
|
|
||||||
|
|
||||||
You can receive a copy of the GNU Lesser General Public License from
|
|
||||||
http://www.gnu.org/
|
|
||||||
|
|
||||||
@@ -1,77 +0,0 @@
|
|||||||
7-Zip Extra history
|
|
||||||
-------------------
|
|
||||||
|
|
||||||
9.35 beta 2014-12-07
|
|
||||||
------------------------------
|
|
||||||
- SFX modules were moved to LZMA SDK package.
|
|
||||||
|
|
||||||
|
|
||||||
9.34 alpha 2014-06-22
|
|
||||||
------------------------------
|
|
||||||
- Minimum supported system now is Windows 2000 for EXE and DLL files.
|
|
||||||
- all EXE and DLL files use msvcrt.dll.
|
|
||||||
- 7zr.exe now support AES encryption.
|
|
||||||
|
|
||||||
|
|
||||||
9.18 2010-11-02
|
|
||||||
------------------------------
|
|
||||||
- New small SFX module for installers.
|
|
||||||
|
|
||||||
|
|
||||||
9.17 2010-10-04
|
|
||||||
------------------------------
|
|
||||||
- New 7-Zip plugin for FAR Manager x64.
|
|
||||||
|
|
||||||
|
|
||||||
9.10 2009-12-30
|
|
||||||
------------------------------
|
|
||||||
- 7-Zip for installers now supports LZMA2.
|
|
||||||
|
|
||||||
|
|
||||||
9.09 2009-12-12
|
|
||||||
------------------------------
|
|
||||||
- LZMA2 compression method support.
|
|
||||||
- Some bugs were fixed.
|
|
||||||
|
|
||||||
|
|
||||||
4.65 2009-02-03
|
|
||||||
------------------------------
|
|
||||||
- Some bugs were fixed.
|
|
||||||
|
|
||||||
|
|
||||||
4.38 beta 2006-04-13
|
|
||||||
------------------------------
|
|
||||||
- SFX for installers now supports new properties in config file:
|
|
||||||
Progress, Directory, ExecuteFile, ExecuteParameters.
|
|
||||||
|
|
||||||
|
|
||||||
4.34 beta 2006-02-27
|
|
||||||
------------------------------
|
|
||||||
- ISetProperties::SetProperties:
|
|
||||||
it's possible to specify desirable number of CPU threads:
|
|
||||||
PROPVARIANT: name=L"mt", vt = VT_UI4, ulVal = NumberOfThreads
|
|
||||||
If "mt" is not defined, 7za.dll will check number of processors in system to set
|
|
||||||
number of desirable threads.
|
|
||||||
Now 7za.dll can use:
|
|
||||||
2 threads for LZMA compressing
|
|
||||||
N threads for BZip2 compressing
|
|
||||||
4 threads for BZip2 decompressing
|
|
||||||
Other codecs use only one thread.
|
|
||||||
Note: 7za.dll can use additional "small" threads with low CPU load.
|
|
||||||
- It's possible to call ISetProperties::SetProperties to specify "mt" property for decoder.
|
|
||||||
|
|
||||||
|
|
||||||
4.33 beta 2006-02-05
|
|
||||||
------------------------------
|
|
||||||
- Compressing speed and Memory requirements were increased.
|
|
||||||
Default dictionary size was increased: Fastest: 64 KB, Fast: 1 MB,
|
|
||||||
Normal: 4 MB, Max: 16 MB, Ultra: 64 MB.
|
|
||||||
- 7z/LZMA now can use only these match finders: HC4, BT2, BT3, BT4
|
|
||||||
|
|
||||||
|
|
||||||
4.27 2005-09-21
|
|
||||||
------------------------------
|
|
||||||
- Some GUIDs/interfaces were changed.
|
|
||||||
IStream.h:
|
|
||||||
ISequentialInStream::Read now works as old ReadPart
|
|
||||||
ISequentialOutStream::Write now works as old WritePart
|
|
||||||
@@ -1,124 +0,0 @@
|
|||||||
7-Zip Extra 15.14
|
|
||||||
-----------------
|
|
||||||
|
|
||||||
7-Zip Extra is package of extra modules of 7-Zip.
|
|
||||||
|
|
||||||
7-Zip Copyright (C) 1999-2015 Igor Pavlov.
|
|
||||||
|
|
||||||
7-Zip is free software. Read License.txt for more information about license.
|
|
||||||
|
|
||||||
Source code of binaries can be found at:
|
|
||||||
http://www.7-zip.org/
|
|
||||||
|
|
||||||
This package contains the following files:
|
|
||||||
|
|
||||||
7za.exe - standalone console version of 7-Zip with reduced formats support.
|
|
||||||
7za.dll - library for working with 7z archives
|
|
||||||
7zxa.dll - library for extracting from 7z archives
|
|
||||||
License.txt - license information
|
|
||||||
readme.txt - this file
|
|
||||||
|
|
||||||
Far\ - plugin for Far Manager
|
|
||||||
x64\ - binaries for x64
|
|
||||||
|
|
||||||
|
|
||||||
All 32-bit binaries can work in:
|
|
||||||
Windows 2000 / 2003 / 2008 / XP / Vista / 7 / 8 / 10
|
|
||||||
and in any Windows x64 version with WoW64 support.
|
|
||||||
All x64 binaries can work in any Windows x64 version.
|
|
||||||
|
|
||||||
All binaries use msvcrt.dll.
|
|
||||||
|
|
||||||
7za.exe
|
|
||||||
-------
|
|
||||||
|
|
||||||
7za.exe - is a standalone console version of 7-Zip with reduced formats support.
|
|
||||||
|
|
||||||
Extra: 7za.exe : support for only some formats of 7-Zip.
|
|
||||||
7-Zip: 7z.exe with 7z.dll : support for all formats of 7-Zip.
|
|
||||||
|
|
||||||
7za.exe and 7z.exe from 7-Zip have same command line interface.
|
|
||||||
7za.exe doesn't use external DLL files.
|
|
||||||
|
|
||||||
You can read Help File (7-zip.chm) from 7-Zip package for description
|
|
||||||
of all commands and switches for 7za.exe and 7z.exe.
|
|
||||||
|
|
||||||
7za.exe features:
|
|
||||||
|
|
||||||
- High compression ratio in 7z format
|
|
||||||
- Supported formats:
|
|
||||||
- Packing / unpacking: 7z, xz, ZIP, GZIP, BZIP2 and TAR
|
|
||||||
- Unpacking only: Z, lzma, CAB.
|
|
||||||
- Highest compression ratio for ZIP and GZIP formats.
|
|
||||||
- Fast compression and decompression
|
|
||||||
- Strong AES-256 encryption in 7z and ZIP formats.
|
|
||||||
|
|
||||||
Note: LZMA SDK contains 7zr.exe - more reduced version of 7za.exe.
|
|
||||||
But you can use 7zr.exe as "public domain" code.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
DLL files
|
|
||||||
---------
|
|
||||||
|
|
||||||
7za.dll and 7zxa.dll are reduced versions of 7z.dll from 7-Zip.
|
|
||||||
7za.dll and 7zxa.dll support only 7z format.
|
|
||||||
Note: 7z.dll is main DLL file that works with all archive types in 7-Zip.
|
|
||||||
|
|
||||||
7za.dll and 7zxa.dll support the following decoding methods:
|
|
||||||
- LZMA, LZMA2, PPMD, BCJ, BCJ2, COPY, 7zAES, BZip2, Deflate.
|
|
||||||
|
|
||||||
7za.dll also supports 7z encoding with the following encoding methods:
|
|
||||||
- LZMA, LZMA2, PPMD, BCJ, BCJ2, COPY, 7zAES.
|
|
||||||
|
|
||||||
7za.dll and 7zxa.dll work via COM interfaces.
|
|
||||||
But these DLLs don't use standard COM interfaces for objects creating.
|
|
||||||
|
|
||||||
Look also example code that calls DLL functions (in source code of 7-Zip):
|
|
||||||
|
|
||||||
7zip\UI\Client7z
|
|
||||||
|
|
||||||
Another example of binary that uses these interface is 7-Zip itself.
|
|
||||||
The following binaries from 7-Zip use 7z.dll:
|
|
||||||
- 7z.exe (console version)
|
|
||||||
- 7zG.exe (GUI version)
|
|
||||||
- 7zFM.exe (7-Zip File Manager)
|
|
||||||
|
|
||||||
Note: The source code of LZMA SDK also contains the code for similar DLLs
|
|
||||||
(DLLs without BZip2, Deflate support). And these files from LZMA SDK can be
|
|
||||||
used as "public domain" code. If you use LZMA SDK files, you don't need to
|
|
||||||
follow GNU LGPL rules, if you want to change the code.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
License FAQ
|
|
||||||
-----------
|
|
||||||
|
|
||||||
Can I use the EXE or DLL files from 7-Zip in a commercial application?
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
Yes, but you are required to specify in documentation for your application:
|
|
||||||
(1) that you used parts of the 7-Zip program,
|
|
||||||
(2) that 7-Zip is licensed under the GNU LGPL license and
|
|
||||||
(3) you must give a link to www.7-zip.org, where the source code can be found.
|
|
||||||
|
|
||||||
|
|
||||||
Can I use the source code of 7-Zip in a commercial application?
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
Since 7-Zip is licensed under the GNU LGPL you must follow the rules of that license.
|
|
||||||
In brief, it means that any LGPL'ed code must remain licensed under the LGPL.
|
|
||||||
For instance, you can change the code from 7-Zip or write a wrapper for some
|
|
||||||
code from 7-Zip and compile it into a DLL; but, the source code of that DLL
|
|
||||||
(including your modifications / additions / wrapper) must be licensed under
|
|
||||||
the LGPL or GPL.
|
|
||||||
Any other code in your application can be licensed as you wish. This scheme allows
|
|
||||||
users and developers to change LGPL'ed code and recompile that DLL. That is the
|
|
||||||
idea of free software. Read more here: http://www.gnu.org/.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Note: You can look also LZMA SDK, which is available under a more liberal license.
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
End of document
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -9,6 +9,9 @@ using System.Web;
|
|||||||
|
|
||||||
//using SabreTools.Helper;
|
//using SabreTools.Helper;
|
||||||
using DamienG.Security.Cryptography;
|
using DamienG.Security.Cryptography;
|
||||||
|
using SharpCompress.Archive;
|
||||||
|
using SharpCompress.Common;
|
||||||
|
using SharpCompress.Reader;
|
||||||
|
|
||||||
namespace SabreTools
|
namespace SabreTools
|
||||||
{
|
{
|
||||||
@@ -130,16 +133,6 @@ namespace SabreTools
|
|||||||
|
|
||||||
// Set 7za required variables
|
// Set 7za required variables
|
||||||
_isMono = (Type.GetType("Mono.Runtime") != null);
|
_isMono = (Type.GetType("Mono.Runtime") != null);
|
||||||
_7zPath = Environment.CurrentDirectory + Path.DirectorySeparatorChar + "7z" + (Environment.Is64BitOperatingSystem ? Path.DirectorySeparatorChar + "x64" : "") + Path.DirectorySeparatorChar;
|
|
||||||
_psi = new ProcessStartInfo
|
|
||||||
{
|
|
||||||
Arguments = "",
|
|
||||||
FileName = (_isMono ? "7za" : _7zPath + "7za.exe"),
|
|
||||||
//FileName = (Build.MonoEnvironment ? "mono" : SevenZipPath + "7za.exe"),
|
|
||||||
RedirectStandardError = true,
|
|
||||||
RedirectStandardOutput = true,
|
|
||||||
UseShellExecute = false,
|
|
||||||
};
|
|
||||||
|
|
||||||
// Create an output array for all found items
|
// Create an output array for all found items
|
||||||
_roms = new List<RomData>();
|
_roms = new List<RomData>();
|
||||||
@@ -149,9 +142,7 @@ namespace SabreTools
|
|||||||
{
|
{
|
||||||
// Set local paths and vars
|
// Set local paths and vars
|
||||||
_tempDir = Environment.CurrentDirectory + Path.DirectorySeparatorChar + "temp" + DateTime.Now.ToString("yyyyMMddHHmmss") + Path.DirectorySeparatorChar;
|
_tempDir = Environment.CurrentDirectory + Path.DirectorySeparatorChar + "temp" + DateTime.Now.ToString("yyyyMMddHHmmss") + Path.DirectorySeparatorChar;
|
||||||
_basePath = (File.Exists(path) ? path : path + Path.DirectorySeparatorChar);
|
_basePath = (File.Exists(path) ? path : path + Path.DirectorySeparatorChar);
|
||||||
_baseExtract = "x -o\"" + _tempDir + "\"";
|
|
||||||
//_baseExtract = (Build.MonoEnvironment ? SevenZipPath + "7za.exe " : "") + "x -o\"" + _tempDir + "\"";
|
|
||||||
|
|
||||||
// This is where the main loop would go
|
// This is where the main loop would go
|
||||||
if (File.Exists(_basePath))
|
if (File.Exists(_basePath))
|
||||||
@@ -316,17 +307,16 @@ Options:
|
|||||||
bool encounteredErrors = true;
|
bool encounteredErrors = true;
|
||||||
if (!_allfiles)
|
if (!_allfiles)
|
||||||
{
|
{
|
||||||
_psi.Arguments = _baseExtract + " \"" + item + "\"";
|
try
|
||||||
Process zip = Process.Start(_psi);
|
{
|
||||||
zip.WaitForExit();
|
IArchive archive = ArchiveFactory.Open(item);
|
||||||
|
IReader reader = archive.ExtractAllEntries();
|
||||||
string stdout = zip.StandardOutput.ReadToEnd();
|
reader.WriteAllToDirectory(_tempDir, ExtractOptions.ExtractFullPath);
|
||||||
string stderr = zip.StandardError.ReadToEnd();
|
}
|
||||||
|
catch (InvalidOperationException)
|
||||||
Console.WriteLine("7z stdout: " + stdout + Environment.NewLine);
|
{
|
||||||
Console.WriteLine("7z stderr: " + stderr + Environment.NewLine);
|
encounteredErrors = true;
|
||||||
|
}
|
||||||
encounteredErrors = stderr.Contains("ERROR");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get a list of files including size and hashes
|
// Get a list of files including size and hashes
|
||||||
|
|||||||
@@ -33,6 +33,10 @@
|
|||||||
<WarningLevel>4</WarningLevel>
|
<WarningLevel>4</WarningLevel>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Reference Include="SharpCompress, Version=0.11.6.0, Culture=neutral, PublicKeyToken=beaf6f427e128133, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\sharpcompress.0.11.6\lib\net40\SharpCompress.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
<Reference Include="System.Web" />
|
<Reference Include="System.Web" />
|
||||||
@@ -50,35 +54,7 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="App.config" />
|
<None Include="App.config" />
|
||||||
</ItemGroup>
|
<None Include="packages.config" />
|
||||||
<ItemGroup>
|
|
||||||
<Content Include="7z\7za.dll">
|
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="7z\7za.exe">
|
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="7z\7zxa.dll">
|
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="7z\history.txt">
|
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="7z\License.txt">
|
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="7z\readme.txt">
|
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="7z\x64\7za.dll">
|
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="7z\x64\7za.exe">
|
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="7z\x64\7zxa.dll">
|
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||||
|
|||||||
4
DATFromDir/packages.config
Normal file
4
DATFromDir/packages.config
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<packages>
|
||||||
|
<package id="sharpcompress" version="0.11.6" targetFramework="net452" />
|
||||||
|
</packages>
|
||||||
BIN
packages/sharpcompress.0.11.6/lib/net40/SharpCompress.dll
vendored
Normal file
BIN
packages/sharpcompress.0.11.6/lib/net40/SharpCompress.dll
vendored
Normal file
Binary file not shown.
BIN
packages/sharpcompress.0.11.6/lib/netcore45/SharpCompress.dll
vendored
Normal file
BIN
packages/sharpcompress.0.11.6/lib/netcore45/SharpCompress.dll
vendored
Normal file
Binary file not shown.
BIN
packages/sharpcompress.0.11.6/lib/portable-net4+sl5+wp8+win8/SharpCompress.dll
vendored
Normal file
BIN
packages/sharpcompress.0.11.6/lib/portable-net4+sl5+wp8+win8/SharpCompress.dll
vendored
Normal file
Binary file not shown.
BIN
packages/sharpcompress.0.11.6/sharpcompress.0.11.6.nupkg
vendored
Normal file
BIN
packages/sharpcompress.0.11.6/sharpcompress.0.11.6.nupkg
vendored
Normal file
Binary file not shown.
Reference in New Issue
Block a user