2004年03月24日
川俣晶の縁側ソフトウェアその他開発日誌 total 3621 count

azip: J#ライブラリによる.zipファイル圧縮展開簡易ツール Version 0.1

Written By: 川俣 晶連絡先

 あまり大きな価値のあるものではないので、派手に宣伝する気はありませんが。

 こんなものを作成しました。

azip: J#ライブラリによる.zipファイル圧縮展開簡易ツール

 .ZIPファイルを圧縮展開するコマンドラインツールとクラスライブラリのDLLです。Visual J#のライブラリを使って実現しています。

こんなものを作った理由 §

 .ZIPファイルを圧縮展開するコマンドラインツールそのものが欲しかったわけではなく、MagSiteMan1の開発と運用のために必用とされたために作成したものです。

 MagSiteMan1はMagSite1の管理運用を自動化するためのものですが、その際、どうしても自働バージョンアップを実装することを避けられません。自働バージョンアップでは、.ZIP形式で圧縮されたファイル一式を配布サーバから取得して展開させたいと思います。それを実現するためには、.ZIP形式を展開するクラスライブラリが必用です。それも、安価でかつ責任の所在が明確であるものが望ましいと言えます。Visual J#のライブラリは、無料で使用でき、かつ、マイクロソフトの製品であるという点で責任の所在が明確であり、この条件に合致します。しかし、これはあくまでJava互換ライブラリなので、C#からはイマイチ使い勝手が良くありません。そこで、ラッパとなるライブラリを作成しました。

コマンドラインツールを作成する理由 §

 それはさておき、ラッパだけでなくコマンドラインツールもあるのは、配布アーカイブを作成するバッチから使うことを意図したものです。本来なら、その程度のことは、よくあるツールを使えば良い、ことなのです。実際に、NTTFにはtzipという(古い)unzip32.dllにアクセスするおまけツールが含まれていたりしますし。しかし、unzip32.dllなどは商用利用では手続きが必用であったり、できれば面倒なことは避けたい気持ちが起きます。とりあえず、ラッパさえ作ってしまえばコマンドラインツールなど一瞬でできるので、一緒に作っておきました。

ちなみにNTTFからはtsetupでインストール可 §

 既に作った本人もしばしば忘れかけているNTTFですが、これを使ってazipをインストールする場合は、まずtsetup -cとしてリストを更新してからtsetup -aです。関係ないものが一緒に落ちてくるのが嫌な場合は、tsetup azipです。ドキュメントを見るには、man azipです。

 ちなみに、.NET FrameworkとJ#のライブラリのインストールはtsetupでは自動的にやってくれませんので、これは別途Windows Updateなどを使う必用があります。

2004年3月25日14時頃追記 §

 うっかり配布アーカイブを.zipファイルにしていますが、これでは通常セットアップのNTTFで扱えません。そのため.lzhに変更しました。内容に変更はありませんので、既に入手済みの方は、特に何かをする必用はありません。