ZIPファイルの「展開」と「参照」

読み物

これは、Windowsにおける最大の混乱ポイントだと個人的には思っています。

Windowsは、標準でZIPファイルに対応しています。圧縮もできますし、解凍(展開)もできます。

ZIPファイルをダブルクリックで開くと、そのファイルの中身が表示され、含まれているファイルを開いたり実行したりすることができます。わかってて使えば非常に便利です。

しかしここでやっかいなのは、あくまでこれは「展開」したわけではなく、「参照」しているだけなのです。

そのまま開いたり実行したりできるのも、実行対象だけ内部的に展開しているのでしょうけど、そのZIPファイル全体としては展開されていないのです。

↓一見、普通に「展開」しているように見えるが、実際は「参照」しているだけ。

このままアプリケーションファイルを実行しようとすると、以下のような警告は一応出てきます。

とはいうものの、「展開」と「参照」を理解している人には、この警告はそもそも必要ありません。なぜなら、このまま実行すればどういう状態になるのかがわかっているからです。

しかし、「参照」と「展開」がごっちゃになってしまっている人に、果たしてこのダイアログの意味は伝わるのでしょうか。

「アプリケーションを実行してもいいですか?」程度の意味に捉えられるのではないでしょうか。

一応意味を説明すると、「このアプリケーションは、このフォルダーにある…依存している可能性があります。」というのは、もうそのままの意味ですが、「含まれている他のファイルを参照したり実行したりする可能性がありますが、それらの被参照ファイルは展開されないからアプリケーションがエラーになるかもしれませんよ。」という意味です。

アプリケーションというのは、いろんなファイルを読み込んだり参照したりして動いています。ZIPファイルの「参照」状態では、それらのファイルはまだ固められたままなので読み込めません。このまま「実行」しても、内部的に展開されるファイルはあくまで実行したその単一ファイルのみだからです。だから読み込むタイミングでエラーになる可能性があるのです。

個人的には、ZIPファイルのダブルクリックで「すべて展開」が行われ、参照はコンテキストメニューからできるようになるのが一番ベストだと思っています。

なぜこのような混乱を招くような仕様になっているのか理解に苦しみます。

もちろん、他のアーカイバソフトを導入している場合は別ですが。