DLLとアプリケーションについて

●概要

圧縮されたファイルを解凍しようとすると「DLLがありません」という
ダイアログが出て、解凍できないことがあります。
「だから、どうすれば解凍できるの」という答えは出てきません。

ここでは、DLLとアプリケーションの関係、入手方法について書いてみます。




INDEX
1.入手先(入手先がわかればいい、という方はこちら) →
2.圧縮や解凍はDLL側で行う →
3.なぜ「圧縮・解凍ソフト」とDLLが別なのか →
4.DLLとは何なのよ →
5.何をインストールすればいいのか →


付記(手っ取り早く解決したい方に)

「unlha32.dllがありません」「unrar32.dllがありません」「unzip32.dllがありません」「tar32.dllがありません」「unzip32.dllがありません」のダイアログが出たときには、下記「統合アーカイバプロジェクト(こちら)」から左側の[個別ライブラリ]を選択し、該当するDLLをインストールすると解決する(でしょう)。

そのほか「○○○ランタイムがありません(必要です)」「○○○.DLLがありません」というダイアログが出たときには、下記「統合アーカイバプロジェクト(こちら)」から左側下の[ランタイム]を選択し、該当するDLLを含むランタイムをインストールすると解決する(かもしれない)。


1.入手先

DLLや圧縮・解凍ソフトの入手先がわかればいい、という方はこちら「統合アーカイバプロジェクト」へどうぞ。

http://www.csdinc.co.jp/archiver/


2.圧縮や解凍はDLL側で行う

先に「圧縮・解凍ソフト」と書きましたが、多くの場合、圧縮や解凍を行うのはDLL側です。

「圧縮・解凍ソフト」は圧縮や解凍を行う際のファイル選択やその他の機能を提供します。

まれにDLLを組み込んだ圧縮・解凍ソフトがありますが、そういうソフトは内部にDLLを保持しているか、DLLを自動的にインストールしていると考えていいでしょう(注)。

(注)内部にDLLを保持している
厳密にはプログラムの外部にあるのがDLLなので、組み込まれているものはDLLとは呼びません。


3.なぜ「圧縮・解凍ソフト」とDLLが別なのか

圧縮・解凍ソフトとDLLを別にすると、便利なことがあります。

●ソフト開発者の立場からすると、一般に使われている圧縮の仕様(LZH、ZIP、CAB、RARなど)を一からプログラミングする必要がなくなります。

DLLを利用するしくみさえ作ってやれば、圧縮・解凍ソフトは比較的簡単に作ることができます。
また、一般に流通しているDLLを利用することで、その部分についてはバグが発生しにくくなります。

●ユーザの立場からすると、「万能だけれど巨大な圧縮・解凍ソフト」を使わなくてすむようになります。「自分の好みのソフト+必要なDLL」だけ揃えればいいことになるわけです。

ただし、ファイルの解凍ができなかったときに「原因は必要なDLLをインストールしていないからだ」と判断できなければなりません。
また、必要なDLLをどこで入手すればいいのかを知っておく必要があります。


4.DLLとは何なのよ

「DLLとはソフトウエアが利用するソフトウエア」だと考えればいいでしょう。

普通のソフトウエアは人間が利用するけれど、DLLはソフトウエアが利用します。

(ユーザは直接DLLを操作することはできない)

言いかえれば、人間(=ユーザ)はDLLが利用されていることを意識することはありません。
あるとすれば「DLLがありません」というダイアログで「インストールされていないこと」を知るくらいのものです。

実際のところ、WindowsそのものがたくさんのDLLなどによって構成されています。


5.何をインストールすればいいのか

圧縮・解凍ソフト、DLLとも「統合アーカイバプロジェクト」(http://www.madobe.net/archiver)からダウンロードすることができます。

よくみる圧縮の規格は先に述べたとおりですが、LZHとZIPが特によく使われています。この2つは必須だと考えてよいでしょう。
それ以外のDLLについては、必要になったときにダウンロードします。

これらDLLは左のメニューから[個別ライブラリ]を選択し、「UNLHA32.DLL」「UNZIP32.DLL」をダウンロードします。

「UN」は「解凍用(圧縮もできるけれど)」の意味、「32」は「32ビット用」の意味です。

 

圧縮・解凍ソフトについては左のメニューから[対応アプリ]を選択します。

解凍しかしない、というのなら「解凍専用」の中から選ぶとよいでしょう。

[アーカイバ]と[圧縮専用]というカテゴリもあります。
余談ですが、アーカイバと圧縮ソフトは厳密には異なります。
アーカイバは「ひとまとめにするもの」であり、圧縮は「小さくするもの」です。現実には同じ意味と考えてよいでしょう。