量産メモ帳

忘れっぽいのでメモを残しています。浅く適当に書きます。

$PatchCache$フォルダ内のファイルは消しても良い?

スポンサーリンク

バックアップしていた時に気付いたんですけど、C:\Windows\Installer フォルダ直下に $PatchCache$ という 1GB 以上のサイズのフォルダがあります。
その名前からパッチのキャッシュだと容易に想像できますが、果たしてこのフォルダの中を消してしまって良いのか悩みます。
以下の記事を斜め読みした感じだと、$PatchCache$ フォルダそのものは駄目だけど、$PatchCache$ フォルダの中はクリアしてしまって良いそうです。



それと、レジストリの HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer キーに MaxPatchCacheSize というDWORD(32ビット)値を作成して、そのデータを0にすれば、新しいパッチはキャッシュに追加されなくなるようです。
で、このレジストリキーを見てふと思ったんですが、これってグループポリシーエディタでも設定できる項目なんじゃないでしょうか?
手順はこうです。



↑[Windowsロゴ]+[R]キーを押して表示した【ファイル名を指定して実行】ダイアログに"gpedit.msc"と入力して[OK]ボタンを押す。⇒【ローカルグループポリシーエディター】画面が表示される。



↑左側のペインに表示されたツリーノードの中から、[ローカルコンピューターポリシー]→[コンピュータの構成]→[管理用テンプレート]→[Windowsコンポーネント]→[Windowsインストーラー]を開き、右側のペインに表示された設定の内、[ベースラインファイルキャッシュの最大サイズを制御する]をダブルクリックする。⇒【ベースラインファイルキャッシュの最大サイズを制御する】ダイアログが表示される。



↑左上にある[有効]ラジオボタンを選択し、[ベースラインファイルキャッシュの最大サイズ]に"0"を入力して、[OK]ボタンを押す。



↑[ベースラインファイルキャッシュの最大サイズを制御する]設定の状態が「有効」になっている。


レジストリを確認すると、以下のキーに MaxPatchCacheSize 値が追加されており、それぞれデータが"0"となっていることを確認できました。

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Policies\Microsoft\Windows\Installer
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\{ED679EDC-AEF0-4863-ADE1-DCF37ACC90C0}Machine\SOFTWARE\Policies\Microsoft\Windows\Installer

直接レジストリを修正するよりも、グループポリシーエディタで変更したほうが安全だと思います。


ちなみに、調査中に msizap.exe および msicuu2.exe というインストーラを削除する(?)ためのツールの存在を知ったんですが、今はもう正式には配布していないみたいですね。