Why sfx sevenzipsharp '7-zip : unsupported method' when extract?

12.7k views Asked by At

I have created hallo.7z and used 7zxSD_LZMA.sfx as module. I think my configuration is right but while extracting sfx I receive

7-zip : unsupported method

void CreateExeFile() 
{
    try
    {
        SfxModule mdl = SfxModule.Extended;
        SevenZipSfx sfx = new SevenZipSfx(mdl);

        sfx.ModuleFileName = @"7zxSD_LZMA.sfx";
        sfx.MakeSfx("D:\\hallo.7z",
                    new Dictionary<string, string> 
            { 
                { "Title", "Extract Files" }, 
                { "InstallPath", ProgramFilesx86() + "\\ATIG Platform" },
                { "BeginPrompt", "Choose directory },
                { "CancelPrompt", "Extract Now" },
                { "OverwriteMode", "0" },
                { "GUIMode", "1" },
                { "ExtractDialogText", "Process Extract" },
                { "ExtractTitle", "Extract Files" },
                { "ErrorTitle", "Error" }
            },
                    "D:\\hallo.exe");
        MessageBox.Show("Success !");
    }
    catch (IOException ex)
    {
        MessageBox.Show(this, ex.Message, Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
    }
}

static string ProgramFilesx86()
{
    if (8 == IntPtr.Size
        || (!String.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432"))))
    {
        return Environment.GetEnvironmentVariable("ProgramFiles(x86)");
    }

    return Environment.GetEnvironmentVariable("ProgramFiles");
}

7zxSD_LZMA.sfx and 7zxSD_All can't run the extraction because used password.

2

There are 2 answers

0
the_Ma5TeR On BEST ANSWER

I understood why it is showing so. This happended to me too. This is the reason which I found out: This SFX module does not support LZMA2 Archives and support only LZMA. So you will need to rebuild the archive as LZMA.

Regards :)

0
Mr. Bungle On

Another cause for this on Windows is due to path length restrictions on Windows. If your archive contains files that, when extracted, result in a path length greater than 260 chars (the max in Windows) you will see this same error.