diff --git a/SabreHelper/7z/License.txt b/SabreHelper/7z/License.txt
deleted file mode 100644
index d1285cc6..00000000
--- a/SabreHelper/7z/License.txt
+++ /dev/null
@@ -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/
-
diff --git a/SabreHelper/7z/history.txt b/SabreHelper/7z/history.txt
deleted file mode 100644
index fe8fb9d8..00000000
--- a/SabreHelper/7z/history.txt
+++ /dev/null
@@ -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
diff --git a/SabreHelper/7z/readme.txt b/SabreHelper/7z/readme.txt
deleted file mode 100644
index c274630a..00000000
--- a/SabreHelper/7z/readme.txt
+++ /dev/null
@@ -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
diff --git a/SabreHelper/Build.cs b/SabreHelper/Build.cs
index 7339928f..2b65ae2a 100644
--- a/SabreHelper/Build.cs
+++ b/SabreHelper/Build.cs
@@ -6,11 +6,27 @@ namespace SabreTools.Helper
{
public class Build
{
+ ///
+ /// The current toolset version to be used by all child applications
+ ///
public static string Version
{
get { return "0.6.0.0"; }
}
+ ///
+ /// The path to the root of the 7z binaries and DLLs
+ ///
+ public static string SevenZipPath
+ {
+ get
+ {
+ bool isMono = (Type.GetType("Mono.Runtime") != null);
+ char delim = (Environment.CurrentDirectory.Contains("\\") ? '\\' : '/');
+ return Environment.CurrentDirectory + delim + (!isMono && Environment.Is64BitOperatingSystem ? "x64" : "x86") + delim;
+ }
+ }
+
///
/// Show the help dialog for a given class
///
diff --git a/SabreHelper/SabreHelper.csproj b/SabreHelper/SabreHelper.csproj
index a8e1cc58..240016f2 100644
--- a/SabreHelper/SabreHelper.csproj
+++ b/SabreHelper/SabreHelper.csproj
@@ -85,31 +85,22 @@
-
+
Always
-
+
Always
-
+
Always
-
+
Always
-
+
Always
-
- Always
-
-
- Always
-
-
- Always
-
-
+
Always
diff --git a/SabreHelper/7z/x64/7za.dll b/SabreHelper/x64/7za.dll
similarity index 100%
rename from SabreHelper/7z/x64/7za.dll
rename to SabreHelper/x64/7za.dll
diff --git a/SabreHelper/7z/x64/7za.exe b/SabreHelper/x64/7za.exe
similarity index 100%
rename from SabreHelper/7z/x64/7za.exe
rename to SabreHelper/x64/7za.exe
diff --git a/SabreHelper/7z/x64/7zxa.dll b/SabreHelper/x64/7zxa.dll
similarity index 100%
rename from SabreHelper/7z/x64/7zxa.dll
rename to SabreHelper/x64/7zxa.dll
diff --git a/SabreHelper/7z/7za.dll b/SabreHelper/x86/7za.dll
similarity index 100%
rename from SabreHelper/7z/7za.dll
rename to SabreHelper/x86/7za.dll
diff --git a/SabreHelper/7z/7za.exe b/SabreHelper/x86/7za.exe
similarity index 100%
rename from SabreHelper/7z/7za.exe
rename to SabreHelper/x86/7za.exe
diff --git a/SabreHelper/7z/7zxa.dll b/SabreHelper/x86/7zxa.dll
similarity index 100%
rename from SabreHelper/7z/7zxa.dll
rename to SabreHelper/x86/7zxa.dll