我需要压缩一些文件,以便每个人都可以使用未安装 7zip 的 Windows PC 打开它们。
我想运行
7z a -t7z -m0=lzma2 -mx=9 -mfb=64 -md=64m -ms=on -sfx -pXXXXXX "dest-archive.exe" "source-folder/"
但这似乎会创建一个 Linux(主机操作系统)SFX 二进制文件。
是否可以从 Linux 创建 Windows SFX 存档?
是否可以在已创建的存档中用 Windows 存根替换 Linux 存根,而无需再次提取和存档?
答案1
它似乎没有与Arch Linux 软件包,但将文件“C:\Program Files\7-Zip\7z.sfx”复制到我的 Linux 机器上后,却允许创建 Windows SFX 档案,其中
7z a -t7z -m0=lzma2 -mx=9 -mfb=64 -md=64m -ms=on -sfx7z.sfx -pXXXXXX "dest-archive.exe" "source-folder/"
跑步
cat 7z.sfx old-linux-archive.exe > new-windows-archive.exe
允许将 Windows 存根添加到 Linux 存根的前面,而无需重新压缩档案:
file old-linux-archive.exe
#old-linux-archive.exe: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=e0e81cea3791be68cca1d95da39fbb406b506cd4, for GNU/Linux 3.2.0, stripped
file new-windows-archive.exe
#new-windows-archive.exe: PE32 executable (GUI) Intel 80386, for MS Windows