如何在SevenZipSharp源中启用SevenZipSFX类?

时间:2013-04-17 17:17:47

标签: c# .net visual-studio-2010 visual-studio sevenzipsharp

我将非常感谢如何在SevenZipSharp源中启用SFX类的分步指南,如下所述:

How to create a SFX ZIP with SevenZipSharp?

...获取使用SevenZipSharp创建SFX文件的功能。

源文件:http://sevenzipsharp.codeplex.com/downloads/get/145910

1 个答案:

答案 0 :(得分:2)

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");
    }
相关问题