Installerフォルダーの肥大化#2 フォルダーの構成の確認

前回の投稿では、モバイルPCのInstallerフォルダーが肥大化していることを確認しました。今回は、このフォルダーの中のファイルについて調査します。

インストーラーのフォルダー

前回の投稿で確認したように、インストーラーに関する大きめのフォルダーが三つありました。

フォルダーモバイルPCデスクトップPC
C:\Windows\Installer65.7GB6.21GB
C:\ProgramData\Package Cache25.2GB19.4GB
C:\ProgramData\Microsoft\VisualStudio\Packages12.3GB21.9GB

今回は、この中の「C:\Windows\Installerフォルダー」について調べてみます。

C:\Windows\Installerフォルダーの構成

C:\Windows\Installerフォルダー の直下の構成は以下のようになっているようです。

  • $PatchCache$ フォルダー
  • MSI*.tmp- フォルダー
  • {GUID} フォルダー
  • *.msi ファイル
  • *.msp ファイル
  • SourceHash{GUID} ファイル
  • wix{GUID}.SchedService.Config.rmi ファイル

フォルダー

$PatchCache$フォルダーは、インストールするファイルのキャッシュが保存されているようです。

MSI*.tmp-フォルダーは、インストール中に使われた一時フォルダーでしょうか。ほとんどが、空のフォルダーです。

{GUID}フォルダーは、コントロールパネルの「プログラムのアンインストールまたは変更」に表示されるインストーラーのアイコンなどが保存されています。インストール先に保存すべきほどでないインストーラー情報が保存されるようです。GUIDは、インストーラーのプロダクトコードとなります。

ファイル

*.msiファイルは、インストーラー本体のmsiファイルが保存されています。*の部分は、インストーラーのファイル名が使われているのではなく、16進数のランダムな数字(5桁から6桁)がファイル名として使われています。

*.mspファイルは、インストーラーの更新ファイルである差分インストーラーファイル(mspファイル)が保存されています。差分インストーラーを使っているインストーラーのみで使われています。*の部分は 、差分インストーラーのファイル名が使われているのではなく、16進数のランダムな数字(5桁から6桁)がファイル名として使われています。

SourceHash{GUID} ファイルは、ソースファイルのハッシュコードが保存されているようです。 GUIDは、インストーラーのプロダクトコードとなります。

wix{GUID}.SchedService.Config.rmi ファイルは、作成したインストーラー作成ツールがWiX toolset(Windows Installer XML toolset)を使って作成したインストーラーの場合に作成されることがあるようです。GUIDは、インストーラーのプロダクトコードとなります。

Installerフォルダーを表示するための設定

実際のInstallerフォルダーをエクスプローラーで確認してみます。その前に、エクスプローラーの表示設定を変更する必要があります。

なぜなら、Installerフォルダーや $PatchCache$ は、隠しフォルダー、および、システムフォルダーとしての属性になっています。そのため、エクスプローラーの標準の表示設定では表示されません。

表示するようにするためには、二つの表示設定を変更する必要があります。

隠しファイルを表示する設定

エクスプローラーのリボンの表示タブの「隠しファイル」のチェックボックスをチェックし、隠しファイルを表示する設定にする必要があります。

エクスプローラーのリボンの表示タブ

システムファイルを表示する設定

さらに、システムフォルダーであるため、それを表示する設定に変更する必要があります。そのためには、上記の絵のようにエクスプローラーのリボンの表示タブの一番右にある「オプション」ボタンをクリックして、以下のようなフォルダーオプションダイアログを表示します。

フォルダーオプションの表示タブ

このフ「ォルダー オプション」の「詳細設定」の一番下にある「保護されたオペレーティングシステムファイルを表示しない(推奨)」のチェックボックスのチェックを外します。

この二つの設定をすることにより、Installerフォルダーを表示することができます。

Installerフォルダーの例

実際のInstallerフォルダーをエクスプローラーで確認すると以下のようになります。

C:\Windows\Installer\フォルダーの例

ただ、エクスプローラーの表示では、各フォルダーやファイルがどのくらいのサイズを占有しているかがわかりにくいです。

そのため、各フォルダーは以下のサイズやファイルサイズが容易に確認できるツール Installer Adjustment Appを作成しました。このツールのバージョン0.1.0では、まだ、Installerフォルダーのツリーを表示するだけの単機能しかありません。

なお、アプリを使う上での注意点として、フォルダーツリーを開くとき、フォルダー配下にたくさんのファイルやフォルダーがあるとき、表示が完了するまでに時間がかかります。その場合は、しばらく待ってください。特に、C:\Windows\Installer\フォルダーの下は、ファイルがたくさんあるため、表示に時間がかかります。

この Installer Adjustment App で、Installerフォルダーを表示した状態を以下に示します。

インストーラーフォルダーのすべてのファイル(Installer Adjustment App)

この絵を見ると、Installerフォルダー配下が6.52GB使用しているのが容易にわかると思います。前回の投稿時は 6.21GB でした。前回の投稿から2週間経過する間に、0.31GB増えたのがわかります。

また、{GUID}フォルダーには、アイコンらしきファイルが存在するのもわかります。


今回は、Installerフォルダーのフォルダー構成を確認しました。

今後は、このフォルダー内に不要なファイルがないかを確認していきます。もちろん、不要なファイルを手動で確認しているととてつもなく時間がかかるので、 確認ツールであるInstaller Adjustment Appに確認のアルゴリズムを実装して、確認したいと思います。

One Reply to “Installerフォルダーの肥大化#2 フォルダーの構成の確認”

コメントを残す