プログラミング研究所 プログラミング研究所 http://www.program-lab.jp/
プログラミング研究所
プログラム研究自作ソフトウェアプログラムメモリンク


  • カテゴリ別アーカイブ

    .NET Framework
    C++/CLI
    DirectX
    GBA
    JavaScript
    OSSの移植
    PHP
    Win32/64
    WordPress
    その他
    ソフトウェアの設定
    ツール
    ライブラリ
    自作ソフト
    製品レビュー


  • エントリ一覧


    Syndicate this site (XML)

    Powered by
    Movable Type







  • 管理者:NMVL

    nmvl★program-lab.jp
    ※アドレスの ★ を @ に置き換えてください。

    釣りの話題はこちらから
    www.fishing.hokkaido.jp






    « EF Ver.1.00公開 | メイン | 7-zip32.dll(ZIP形式)で、自己解凍書庫を作成する »

  • 統合アーカイバDLL 【Win32/64】

    EF Ver.1.02をリリースした。
    今回のバージョンアップで7-zipに対応したが、
    本来7-zipは、Ver1.00で対応するはずだったものだ。

    この、対応が遅れた原因は、統合アーカイバDLLに準拠しているとされているDLLにおいて、
    レスポンスファイルの位置づけがそれぞれによって違うことにある。


    位置づけが違うというのは、Cab32.dllや7-zip32.dllにおいて、
    レスポンスファイルは単純に圧縮するファイルのリストをファイル化したものであるのに対し、
    Unlha32.dll、Zip32j.dllにおいては、レスポンスファイルに圧縮するファイルの他に
    基準ディレクトリやコマンドも含めることが可能な、DLLに渡すコマンドをファイル化したものなのである。

    そのため、「C:\temp\file1.txt, C:\temp\file2.txt, C:\temp\file3.txt」を圧縮する時、
    unlha32.dllやzip32j.dllでは、レスポンスファイルに
    -------------------------------------------------------------------------------
    "C:\temp\" "file1.txt" -x1
    "C:\temp\" "file2.txt" -x1
    "C:\temp\" "file3.txt" -x1

    ※unlha32.dllの場合
    -------------------------------------------------------------------------------
    とすればよいが、

    Cab32.dllや7-zip32.dllでは、
    レスポンスファイルを、
    -------------------------------------------------------------------------------
    "file1.txt"
    "file2.txt"
    "file3.txt"
    -------------------------------------------------------------------------------
    とし、DLLに渡すコマンドで、
    -------------------------------------------------------------------------------
    a -t7z "C:\temp\" -ir-"@responsfile

    ※7-zip32.dllの場合
    -------------------------------------------------------------------------------
    としなければならない。


    EFでは、ファイルのフィルタリング処理があるため、
    ディレクトリ丸ごとDLLに圧縮してもらうといったことができず、
    どうしても、レスポンスファイルを使用して圧縮するファイルのリストを渡す必要がある。
    しかし、この位置づけの違いに、なかなか気づかなかったため、作業が難航。7-zip(やCab)への対応が遅れる。となってしまった。



    投稿者 NMVL : 2004年6月 5日 13:15