Как включить класс SevenZipSFX в исходном коде SevenZipSharp?
Я буду очень благодарен за пошаговое руководство по включению класса SFX в источнике SevenZipSharp, как упомянуто здесь:
Как создать SFX ZIP с помощью SevenZipSharp?
... Чтобы получить функциональность для создания файлов SFX с помощью SevenZipSharp.
Исходные файлы: http://sevenzipsharp.codeplex.com/downloads/get/145910
1 ответ
Решение
private void button1_Click(object sender, EventArgs e)
{
SevenZipCompressor comp = new SevenZipCompressor(@"c\Temp\");
SevenZipCompressor.SetLibraryPath(@"C:\Users\i.cil\Desktop\7zip\SevenZip\7z.dll");
comp.ArchiveFormat = OutArchiveFormat.SevenZip;
comp.CompressionLevel = CompressionLevel.Ultra;
comp.CompressionMethod = CompressionMethod.Lzma;
comp.CompressionMode = CompressionMode.Create;
comp.CompressFiles(@"c:\Temp\Temp.7z", @"C:\Temp\CentAppLOG13-Sep-13010004.bak");
SfxModule mdl = SfxModule.Extended;
SevenZipSfx sfx = new SevenZipSfx(mdl);
sfx.ModuleFileName = @"C:\Users\i.cil\Desktop\7zip\SevenZip\sfx\7zxSD_LZMA.sfx";
sfx.MakeSfx(@"c:\Temp\Temp.7z",
new Dictionary<string, string>
{
{ "Title", "ATIG Platform" },
{ "InstallPath", ProgramFilesx86() + "\\ATIG Platform" },
{ "BeginPrompt", "Yükleme işlemi başlatılsın mı?" },
{ "CancelPrompt", "Yükleme işlemi iptal edilecek?" },
{ "OverwriteMode", "2" },
{ "GUIMode", "1" },
{ "ExtractDialogText", "Dosyalar ayıklanıyor" },
{ "ExtractTitle", "Ayıklama İşlemi" },
{ "ErrorTitle", "Hata!" }
},
@"c:\Temp\Temp.exe");
}
static string ProgramFilesx86()
{
if (8 == IntPtr.Size
|| (!String.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432"))))
{
return Environment.GetEnvironmentVariable("ProgramFiles(x86)");
}
return Environment.GetEnvironmentVariable("ProgramFiles");
}