コマンドラインでのZip自己解凍書庫(SFX)の作り方メモ

Debian などの UNIX 系 OS:
zip と unzip のパッケージが必要

% zip -A hoge.zip hoge.txt &&
  cat /usr/bin/unzipsfx hoge.zip > hoge &&
  chmod a+x hoge

Cygwin:
zip と unzip のパッケージが必要

% zip -A hoge.zip hoge.txt &&
  cat /usr/bin/unzipsfx.exe hoge.zip > hoge.exe &&
  chmod a+x hoge.exe

Windows:
Info-ZIP Home Page の unz552xN.exe と zip232xN.zip を利用

C:\> zip -A hoge.zip hoge.txt
C:\> copy /b unzipsfx.exe+hoge.zip hoge.exe
  • 最初に hoge.zip を作成する時に -A を付け忘れた時は、最後の実行可能ファイルに対して zip -A hoge.exe とすれば良い
  • 暗号化Zipを解凍できるようにするには unzipsfx を自分でビルドしなおす必要がある
  • たぶん zip を使うより rar や 7-zip を使うほうが簡単で、しかも高圧縮率のものができると思います