アーカイバラッパー (Archiver Wrapper) とは

統合アーカイバプロジェクト仕様に沿った DLL を .NET Framework 2.0 上から容易に利用するためのラッパクラスを作成しています。

これは、.NET Framework 上で C# や VB などから、容易にアンマネージなこれらの DLL を利用しようとしても、対象の DLL が全て揃っていない環境上では残念な思いをすることになるため、一部の DLL しか入っていない環境でも容易に利用できるようにするためのモジュールです。

なお、当然の事ながら、.NET Framework 2.0 環境下以外では動作しません。頑張れば Mono + Wine などで動作させられるかもしれませんが、そこまでするメリットはあまりなさそうな気がします。

このモジュールを利用すると何が嬉しいのかを簡単にまとめると、以下のような項目が挙げられます。

  • 各 DLL をインポートする処理とかを書かなくて済む
  • マネージ - アンマネージ間の事を意識しなくて済む
  • 対応しているものは自動的に xxxEx とかを見て呼び出してくれるので、各 DLL のサポート状況を特に意識しなくて良い
  • .NET Framework のネイティブなデータ型でデータを渡してくれるため、.NET Framework 側からアンマネージなデータ型とのやり取りを意識しなくて済む

.NET Framework 向けの開発者以外には全く嬉しくない気もしますが、そこは気にしない方向で。

とりあえず動くところまで来たっぽいのと、一通りの呼び出しが出来る感じになったため、一応公開してみます。

使い方

このモジュールは現在まだまだ開発中であるため、インストーラ等は特に用意していません。VS2005 などで DLL を参照して (略) などの方法で利用してください。

DLL と一緒に XML ファイルも置いておきますので、Visual Studio 上から適当に IntelliSense でなんとなく (謎) ご利用ください。ドキュメントはまた後ほどまとめます。

入手方法

ファイルは 2 通りの方法で公開されています。Web サーバ上での普通の公開と、Subversion によるリポジトリの公開です。

とりあえず見てみる場合はリビジョン 119 のリリースビルド版をお試しください。

Subversion 側のリポジトリから参照する場合は http://svn.alib.jp/svn/ArchiverWrapper/trunk/ArchiverWrapper から取得してください。

配布は修正 BSD ライセンスに準拠します。ソースコード上の著作権表記だけ残っていれば、商用利用だろうが改変だろうが好きにしちゃってください。

制限事項

現状、以下の DLL にのみ対応しています。基本部分がまとまった所で対応 DLL は増やしていく予定です。

  • Unlha32.DLL (ArchiverWrapper.Unlha)
  • UnZip32.DLL (ArchiverWrapper.Unzip)
  • 7-zip32.DLL (ArchiverWrapper.Sevenzip)
  • Unarj32j.DLL (ArchiverWrapper.Unarj) - revision 50
  • Cab32.DLL (ArchiverWrapper.Cab) - revision 50
  • Unrar32.DLL (ArchiverWrapper.Unrar) - revision 50
  • Tar32.DLL (ArchiverWrapper.Tar) - revision 51
  • UnGCA32.DLL (ArchiverWrapper.Ungca) - revision 51

このソフトウェアを利用することで、何らかの損害等が発生したとしても、当方は一切補償いたしません。業務利用を考えるのであれば、十分に評価した後にご利用ください。