I downloaded the DLL and created my own project to test this and looks like your code is ok, I made one change to use the "destination" variable. Please check this:
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using SevenZip;
using SevenZip.Sdk.Compression.Lzma;
namespace myspace
{
class MainClass
{
public static void Main()
{
SevenSync sy = new SevenSync();
sy.CompressFolder(@"C:\Temp",@"C:\");
}
}
class SevenSync
{
public void CompressFolder(string FolderToCompress, string destination)
{
List<string> subfiles = new List<string>(Directory.GetFiles(FolderToCompress));
FileInfo fi = new FileInfo(FolderToCompress);
StringBuilder output_7zip_File = new StringBuilder(destination + Path.DirectorySeparatorChar + fi.Name + @".7z");
string output_stringBuilder = output_7zip_File.ToString();
Console.WriteLine("Output destination : " + output_stringBuilder);
foreach (string file in subfiles)
{
Console.WriteLine("Files to Compress : " + file);
// compressor.BeginCompressFiles(output_stringBuilder, file);
CompressFileLZMA(file, output_stringBuilder);
AddToArchive(file);
}
}
//___________________________________________________________
////////////////////////////////////////////////////////////|
// C O M P R E S S F I L E |
//_________using LZMA algo__________________________________|
////////////////////////////////////////////////////////////|
public void CompressFileLZMA(string inFile, string outFile)
{
Int32 dictionary = 1 << 23;
Int32 posStateBits = 2;
Int32 litContextBits = 3; // for normal files
// UInt32 litContextBits = 0; // for 32-bit data
Int32 litPosBits = 0;
// UInt32 litPosBits = 2; // for 32-bit data
Int32 algorithm = 2;
Int32 numFastBytes = 128;
string mf = "bt4";
bool eos = true;
bool stdInMode = false;
SevenZip.Sdk.CoderPropId[] propIDs = {
SevenZip.Sdk.CoderPropId.DictionarySize,
SevenZip.Sdk.CoderPropId.PosStateBits,
SevenZip.Sdk.CoderPropId.LitContextBits,
SevenZip.Sdk.CoderPropId.LitPosBits,
SevenZip.Sdk.CoderPropId.Algorithm,
SevenZip.Sdk.CoderPropId.NumFastBytes,
SevenZip.Sdk.CoderPropId.MatchFinder,
SevenZip.Sdk.CoderPropId.EndMarker
};
object[] properties = {
(Int32)(dictionary),
(Int32)(posStateBits),
(Int32)(litContextBits),
(Int32)(litPosBits),
(Int32)(algorithm),
(Int32)(numFastBytes),
mf,
eos
};
try
{
using (FileStream inStream = new FileStream(inFile, FileMode.Open))
{
using (FileStream outStream = new FileStream(outFile, FileMode.Create))
{
SevenZip.Sdk.Compression.Lzma.Encoder encoder = new SevenZip.Sdk.Compression.Lzma.Encoder();
encoder.SetCoderProperties(propIDs, properties);
encoder.WriteCoderProperties(outStream);
Int64 fileSize;
if (eos || stdInMode)
fileSize = -1;
else
fileSize = inStream.Length;
for (int i = 0; i < 8; i++)
{
outStream.WriteByte((Byte)(fileSize >> (8 * i)));
}
encoder.Code(inStream, outStream, -1, -1, null);
}
}
}
catch (Exception e)
{
Console.WriteLine("ERROR : " + e.Message);
}
}
//___________________________________________________________
////////////////////////////////////////////////////////////|
// A D D TO A R C H I V E |
//__________________________________________________________|
////////////////////////////////////////////////////////////|
public void AddToArchive(string archiveFile)
{
}
}
}