无忧启动论坛

标题: 创建的7z自解压程序,在win10下无法解压到“Program Files”,怎么解决? [打印本页]

作者: netmjwork    时间: 2016-6-11 10:05
标题: 创建的7z自解压程序,在win10下无法解压到“Program Files”,怎么解决?
本帖最后由 netmjwork 于 2016-6-11 11:14 编辑

用7zSfxTool创建了office.exe,自解压路径是“Program Files”,但总是提示“7-zip不支持的算法”,其它路径没有问题,这个有别的解决办法吗?

备注:不是完全不能解压,而是解压20%左右就提示错误……

已解决,7Z的版本需要老版本,新版本不支持!


作者: wylgogogo    时间: 2016-6-11 23:31
    7zip现在好久不用了,有些东西解压都出错。
作者: pogua007    时间: 2016-6-12 05:54
不用自解压,制作7z压缩包,然后用命令行解压不是更好吗。
  1. Start /Wait Msiexec /q /I %SystemRoot%\Setup\Scripts\7z1514-x64.msi
  2. set tmp0=%ProgramW6432%
  3. for %%x in ("%tmp0%") do set tmp0=%%~sx
  4. set tmp1=%tmp0%\7-Zip\7z
  5. %tmp1% x %SystemRoot%\Setup\Scripts\压缩包.7z -o%tmp0%
复制代码

批处理和7z都不支持带空格的路径,所以要转换带空格的路径为8.3格式。
如果要运行注册表VBS什么的命令加在后面不就可以了吗。上面命令是我SetupComplete.cmd的片段,先静默安装7z,再用7z解压其他软件,我好多软件都是这样的装的。
不喜欢封装,不管是win7还是wes7,系统设置还是软件安装,我都是SetupComplete脚本,从用2000留下来的习惯。
作者: pogua007    时间: 2016-6-12 05:57
本帖最后由 pogua007 于 2016-6-12 06:03 编辑

你要是非要自解压,那你在sfx试试设置解压缩路径为短路径看看,我估计可能是这个原因。
不过%ProgramFiles%变量要注意,在64位XP和Windows7中,%ProgramFiles% = x:\Program Files (x86),在wes7中%ProgramFiles% =x:\Program Files,可见%ProgramFiles%并不是所有系统中相同的。
所以为了不混淆,尽量不使用%ProgramFiles%变量,用%ProgramFiles(x86)%和%ProgramW6432%对应x:\Program Files (x86)和x:\Program Files。
作者: netmjwork    时间: 2016-6-15 10:55
pogua007 发表于 2016-6-12 05:57
你要是非要自解压,那你在sfx试试设置解压缩路径为短路径看看,我估计可能是这个原因。
不过%ProgramFiles ...

多谢指点~

7z的老版本可以自动识别,但新版本不行;可能是7zSfxTool后续没人更新了,就没办法支持新版本

%ProgramFiles(x86)% 这个能自动对应 x:\Program Files ?这个回头试试,针对xp这些老系统看能识别不
作者: lizhongbo    时间: 2020-9-2 22:51
请问你用的是那个版本的7z啊?我也出现你一样的问题了
能给我传一份吗?邮箱:81450706@qq.com
作者: wjgyz740526    时间: 2020-9-8 22:40
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=378266&extra=&page=1&mobile=2




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3