使用 scoop 安装管理 windows 软件(4):安装包解压密码
ref: https://github.com/ScoopInstaller/Scoop/issues/4390
0. 问题: scoop 本身不支持安装包有解压密码的自动解压。
scoop 本身不支持安装包有解压密码的自动解压。因此在安装 MAS 时会卡在解压处,无法继续安装。
1. 7z 命令手册
7z 命令是支持的: 7z x FILENAME.7z -pPWD -oOUTDIR
2. 查 Scoop 源码的解压函数
找到 Scoop 源码里的 “~\scoop\apps\scoop\current\lib\decompress.ps1” 文件。
文件封装了 Expand-7zipArchive 函数命令, 但参数没有能将密码传入的方法。
3. 试 Scoop 的 pre_install
Scoop Wiki 里提到了 pre_install 等说法。
在 MAS.json 中加入:
1 | "pre_install": "7z x $dir\\$fname -p1234 $('-o' + $dir)", |
尝试了很多次还是不起作用,Scoop的策略是遇到压缩包先执行解压、再做后续的事情。所以这一句不会被执行,安装程序依旧卡在解压处,无法继续安装。