UNZIP32.DLL for Win32: extracting ZIP files Top Page

Common Archivers Library - 統合アーカイバ・プロジェクト
--- Sorry, Home Page in English is under construction.
     

.ZIP ファイルの展開(解凍)

UNZIP32.DLL for windows 9x/Me/NT/200x/XP

インターネットの普及で、日本でも需要の増えてきた ZIP ファイルの展開(解凍)をおこなうライブラリです。
圧縮については ZIP32J.DLL+ZIP32.DLL(まれにIZIP32.DLL) が必要です。

・履 歴  to top 
 
  • 2006/3/5 Ver 5.42 正式版公開。

    • UnZipSetOwnerWindowEx() 等での対象ウィンドウの制御をやめた。

  • 2006/3/1 Ver 5.42RC RC版公開。

    • ドライブルートを指定外フォルダ扱いしていたが、システムドライブのみを指定外フォルダ扱いに変えた(他ドライブは警告なし)。

    • 指定外フォルダ等の警告ダイアログで、対象フォルダ名の替わりにカレントフォルダが表示されるケースがあった(表示のみで動作は正常)。

    • ダイアログでファイル名やパス名表示で枠をはみ出す場合に省略形で表示するようにした(OSバージョンによっては未対応)。

  • 2006/2/24 Ver 5.41β7 公開。

    • ヘッダー整合性が取れない場合、ダイアログ表示してローカルヘッダーを優先使用するようにした。

    • 書庫ファイルに対しても部分的に正規表現が有効となっていたがすべて無効とした。

  • 2006/2/8 Ver 5.41β6 (非公開)

    • '['を含むファイル名の書庫で CheckArchive() が誤判定を起こしていた。

    • UNZIP32.DLLをロードしたまま存在しないファイルや異常書庫に CheckArchive() した時等、リソース漏れを起こしていた。

    • 新設オプション文字の見直し。

    • 解凍ファイル名指定に正規表現を使わないオプションを追加。

  • 2005/12/15 Ver 5.41β5 (非公開)

    • ヘッダーの整合性(ローカルヘッダーとセントラルヘッダー)のチェックの強化。

    • unix/linux ファイルの属性からは、owner 属性のみを使用するよう変更。

  • 2005/9/15 Ver 5.41β4 公開。

    • 絶対パスで記録されている書庫の解凍先は、強制的に指定フォルダ配下にしているが、警告表示では異なるフォルダに解凍されるかのような表記になっていた。

    • 絶対パスで記録されている書庫の解凍ファイル名で / がダブっていた(実害はないが・・・)。

    • 指定したフォルダ(およびその階層下)以外への解凍時の警告ダイアログのパス表記も他と同様に / 区切りに合わせた(とりあえず)。

    • UnZipGetSubVersion() の返値がおかしかった。

  • 2005/9/11 Ver 5.41β3 公開。

    • 「既存のファイルを置き換えますか?」ダイアログの、既存ファイルの時刻表示がおかしかった(表示のみ)。

    • 指定したフォルダ(およびその階層下)以外で解凍される場合には警告ダイアログを表示するようにした(-qsp -qsq オプション)。

    • 「既存のファイルを置き換えますか?」ダイアログの、「名前を変更」でパスが余計に重複して作られる。

    • 解凍進捗表示のバー表示を少しだけ変更。

  • 2005 Ver 5.41α2 (非公開)

    • 解凍後、UNZIP32.DLLをロードしたまま CheckArchive() を行うと、(削除してあっても)解凍時指定したディレクトリが強制的に作成される。

    • UnZipExtractMem() で解凍ファイルを明示的に指定しないと一般保護違反になった。

    • UnZipSetOwnerWindowEx() のコールバック関数の戻り値の処理が逆(FALSEで継続していた)だったのを、互換性維持のためオプション(-qc)で処理方法を指定出来るようにした。

    • -qd オプションを指定すると自動的に -q オプションも付加されていた。

    • UnZipGetSubVersion() を追加。

  • 1999/11/20 Ver 5.41α1 (非公開)

    • 解凍されたファイルのタイムスタンプが9時間ずれる場合がある(WinNT等)。

  • 1999/2/10 Ver 5.40 正式版公開。

    • レジストリ読み取り部分がバグってた。

    • 階層mkdir() がバグってて、正常にフォルダが作成出来ないケースがあった。

  • 1999/2/5 Ver 0.98(5.4α1)公開。

    • 指定したファイルが無いなどのエラーでスキップした時、エラーが返ってくるのを、1つでも解凍できれていればエラーを返さないようにした。

    • UnZip() の返り値として、標準ではスキップ数を返さず、正常時は0を返すようにした(-qd オプションでスキップ数を返すように設定可能)。

    • 特定のファイルで「既存のファイルを置き換えますか?」ダイアログの、新しいファイルのタイムスタンプがずれて表示されていた。

    • 解凍先指定で存在しないディレクトリを指定した時、その親も存在しないと作成出来なくなってた。

    • TZ 環境変数が定義されてない場合、内部で警告メッセージが出るが、これで誤動作するアプリケーションがあるので、表示なしとした。(しかし、TZ 環境変数が設定されてない場合、NT等で問題になるケースがあるので、設定するのが望ましいが・・・)

    • lstrcpyn を使うのをやめた。

  • 1999/1/27 Ver 0.97(β6)

    • レスポンスファイルに対するメモリ割り当て部分のバグ。

    • レスポンスファイルが開けない場合、そのまま処理しようとして一般保護違反になっていた。

    • その他、異常に長いパスやメモリ割り当て等に対するエラーチェックの強化。

  • 1999/1/23 Ver 0.96(β5)

    • 内部作業領域の一部のクリアを忘れていて、一般保護違反が出る事があった。

  • 1999/1/22 Ver 0.95(β4)

    • 間違ったオプション指定をすると一般保護違反が出た。

    • 解凍状況ダイアログの書込サイズの表示で、1Mバイト以上の時おかしかった。

    • 全ファイルを指定された時の FindFirst/Next をちょっぴりだけ高速化。

  • 1999/1/19 Ver 0.94(α14)

    • デバッグ用のメッセージバッファ対策がバグってて、パスワード入力すると一般保護違反が出た。

  • 1999/1/18 Ver 0.93(α13)

    • UnZip() 等での引数用バッファ割り当てサイズが小さすぎる時があった。

    • ExtractMem() で、サイズが小さいバッファーを渡した時の返り値。

    • ExtractMem() で、Implode 形式等が解凍出来ないことがあった。

    • 拡張ヘッダーの時刻形式の時、間違ったデータを返してた。

    • エラーが出た後、開いてもいないファイルを閉じようとする場合があった。

    • デバッグ用のメッセージバッファが容量不足になる場合があった。

    • その他、ちょっと不明な振るまい(直ってないかも^^)

  • 1999/1/15 Ver 0.92(α12)

    • DLL をロードしたまま、連続して解凍等を行った時に一般保護違反が出ることがあった。

  • 1999/1/14 Ver 0.91(α11)

    • 全角文字を含む正規表現で、余分な文字までマッチしていた。

    • UnZipFindFirst() での szWildName として、複数指定が出来てなかった。また "" によるクォートの扱いも出来てなかった。

    • UnZipOpenArchive() で ShowResult指定が働かず、常に結果表示ダイアログが出ていた。

    • 内部のエラーコードと外部エラーコードマップでミス。ERROR_METHOD が間違った時出て、本当の時に出てなかった。

  • 1999/1/12 Ver 0.90 メジャー機能アップ版(α10)

    • UnZipExtract や UnZipExtractMem を追加。

    • -C オプション(デフォルトでオン)が効いてなかった。

    • Info-ZIP のバージョンアップに伴い、Info-ZIP版UNZIP32.DLL Ver5.4仕様のAPIも実装。

    • その他、多数。

  • 1997/9/25 Ver 0.81 (α6:非公開)

    • OpenArchive/FindFirst/FindNext/CloseArchiver の大半を追加。
    • 解凍ファイル名を指定する時の正規表現でも、2バイト文字コードへ完全対応した(と思う ^^)。

    • 既存のファイルが存在するとき「既存のファイルを置き換えますか?」ダイアログが出てる間は「解凍状況」ダイアログを禁止するようにした。

    • CRC 計算をアセンブラに切り替えたけど、期待と違いほとんど変わらず(-_-;;)

    • 解凍先としてドライブ名なして指定された場合、解凍に失敗してた。

    • その他、多数(^_^;)

  • 1997/9/6 Ver 0.80(α5:非公開)

    • とりあえず、OpenArchive/FindFirst/FindNext/CloseArchiver を追加。

    • -p オプションでもファイル名等の情報が表示されていた。

    • 自己解凍ではない .EXE ファイルに対して UnZipCheckArchive() を呼び出した場合に、ビープ音が出ていた。

    • UnZipCheckArchive() で、CRCも含めたチェックを行うと解凍してしまってた。

    • UNIX 系のファイルを解凍するとタイムスタンプがずれてた。

    • GetVersion() とかを呼ばずに、UnZip() などを呼んだとき、変になる事があった(^^ゞ

  • 1997/2/9 Ver 0.77 マイナーバグフィックス版(β3)

    • UnZipConfigDialog() をある条件で呼ぶと、それ以後(同一スレッド内)ビジーが立ったままになっていた。

    • レジストリーのキー名が UNZIP32 ではなく、UNZIP になっていた。

    • UnZipConfigDialog() で返すオプション文字列の最後に空白を補った。

  • 1997/2/4 Ver 0.76 マイナーバグフィックス版(β2:非公開)

    • UnZipCheckArchive() でロングファイル名対応が不完全だった問題。("" を付けても付けなくても対応するようにした)

    • UnZipConfigDialog() のバグフィックス。(有効なファイル名を渡さないと、エラーになってダイアログが表示されなかった(^_^;)また、「登録」ボタンが効いてなかった。

    • 解凍サイズが大きい時(>〜4MBytes)、進行バーと%表示が途中で0%に戻っていた。

    • UNLHA32.H といっしょに UNZIP32.H をインクルードすると、コンパイルエラーが出る問題。

    • (LHALOCALINFO は使ってないので、削除した。)
    • 正規表現で解凍ファイル名を指定する場合、大文字と小文字を区別しないのを標準にした。

    • UNZIP32.INF でインストールした時の、アンインストール名が変だった(^^ゞ

  • 1997/1/13 Ver 0.75 UNZIP32.DLL の最初の公開バージョン(β1)

  • 1996/某日 Ver 0.70 UNZIP32.DLL の最初のバージョン(α1)

  • ....(中略)

  • 1995/9/27 Ver 0.65α マイナーバグフィックス版(差分のみ)

  • 1994/3/14 Ver 0.60 UNZIP.DLL の最初のバージョン

 

to top 
ソフト内容に関わる事や転載依頼等は同梱ドキュメントを参照の上、作者の指定方法でお願いします。

^ 統合アーカイバ・プロジェクトのホームページ
このページに付いてのお問い合せは: webmasterあっとまーくmail.csdinc.co.jp
(Mar. 5,2006 更新)