为啥解压时 sfx Sevenzipsharp '7-zip : unsupported method'?
Posted
技术标签:
【中文标题】为啥解压时 sfx Sevenzipsharp \'7-zip : unsupported method\'?【英文标题】:Why sfx sevenzipsharp '7-zip : unsupported method' when extract?为什么解压时 sfx Sevenzipsharp '7-zip : unsupported method'? 【发布时间】:2013-12-29 04:28:58 【问题描述】:我创建了 hallo.7z 并使用 7zxSD_LZMA.sfx 作为模块。我认为我的配置是正确的,但是在提取 sfx 时我收到了
7-zip : 不支持的方法
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 和 7zxSD_All 无法运行提取,因为使用了密码。
【问题讨论】:
This should solve your issue. 【参考方案1】:我明白为什么会这样。这也发生在我身上。这就是我发现的原因:此 SFX 模块不支持 LZMA2 存档,仅支持 LZMA。因此您需要将存档重建为 LZMA。
问候:)
【讨论】:
【参考方案2】:在 Windows 上造成这种情况的另一个原因是由于 Windows 上的路径长度限制。如果您的存档包含在提取时导致路径长度大于 260 个字符(Windows 中的最大值)的文件,您将看到同样的错误。
【讨论】:
以上是关于为啥解压时 sfx Sevenzipsharp '7-zip : unsupported method'?的主要内容,如果未能解决你的问题,请参考以下文章