なんかjava.util.zipがよくないという話になってますな。
以前javaのzipライブラリ使ったことがあるんで、ちとデバッグしてみました。

んで、zipの仕様というか一般的な使い方を勘違いしてるのではないでしょうか。
通常ディレクトリとその中のファイルをzipに追加するときは、ディレクトリはエントリとして追加せずにファイルだけをディレクトリのパスを含めてエントリに追加してると思います。

展開はSCInstaller.javaの360行目あたりに
pathToDest.getParentFile().mkdirs();
を追加すれば例外は出なくなると思います。

zipの作成はSCNarMaker.javaの130行目の
// まずはディレクトリエントリを追加。
の下2行を削ればうまくいくと思います。