ソフトウェア開発者のEugene Sichkarは、7-Zipアーカイビングアプリケーションへの.NET/C#インターフェースを入れたプロジェクトを(リンク)Code Projectで発表した。7-Zipは(リンク)様々なフォーマットでファイルをアーカイブ/アンアーカイブするのに使用するオープンソースのアプリケーションである。
7-Zipのサイトによると(リンク)、7-Zipはオープンソースのアーカイビングアプリケーションで、次のフォーマットをサポートしている。
- 圧縮/解凍:7z、ZIP、GZIP、BZIP2、TAR
- 解凍のみ:RAR、CAB、ISO、ARJ、LZH、CHM、MSI、WIM、Z、CPIO、RPM、DEB、NSIS
7-Zipは現在のところ、Windows 98からVistaにいたるまでのすべてのWindowsデスクトップバージョンで動作する。Linux/Unixへのポートに向けては取り組み中である。7-Zipは無料で、ライセンスはGNU LGPLライセンスになっており(リンク)、UnRARモジュールは若干の制限付きライセンスになっている(リンク)。
ソフトウェア開発者のEugene Sichkarが7-Zipアプリケーション搭載の7-Zip DLLへのC#インターフェース(リンク)を作成したおかげで、.NETアプリケーションから7-Zipの圧縮/解凍機能を誰でも使えるようになった。Sichkarによると、以下のインターフェースが実装されている。
IProgress
- 基本的なプログレスコールバックIArchiveOpenCallback
- アーカイブオープン・コールバックICryptoGetTextPassword
- アーカイブのパスワード入力を促すコールバックIArchiveExtractCallback
- アーカイブ・コールバックからファイルを抽出IArchiveOpenVolumeCallback
- 追加のアーカイブ・ボリュームを開くコールバックISequentialInStream
- 単純なリードオンリーのストリームインターフェースISequentialOutStream
- 単純なライトオンリーのストリームインターフェースIInStream
- シーク機能を備えた入力ストリームインターフェースIOutStream
- 出力ストリームインターフェースIInArchive
- 主要アーカイブインターフェース
.NETインターフェースを使えば、コンソールラインやコンソールライン・ラッパーを介さずに、直接7-Zipの機能(7z. dll)にアクセスする。このインターフェースはCDDLライセンスで(リンク)リリースされている。C#ソースコードをダウンロードするには、Code Projectへの登録が(リンク)必要である。