web-dev-qa-db-ja.com

C:\ Windows \ Installerにあるが、レジストリに記載されていない* .msiファイルおよび* .mspファイルを安全に削除できますか?

私のC:\Windows\Installerフォルダは10 GBを超えています。私はいくつかの* .msiと* .mspファイルがC:\ Windows\Installerにあるが、レジストリに言及されていないことに気づきました(例えば、C:\ Windows\Installerに "104a0288.msi"という名前のファイルが見つかりますレジストリエディタの "104a0288.msi"は結果をもたらしません。それらのファイルを安全に削除できますか?

Windows 7 SP1 x 64 Ultimateを使用しています。

28

以下の記事は、Installerフォルダから未使用のMicrosoft Installer/Patchファイルを削除するさまざまな方法を示しています。それはとても良くて説明的な記事です。

Windowsインストーラフォルダから未使用のMSIファイルとMSPファイルを安全に削除する3つの方法

まとめると、これらは3つの方法です。

  1. MsiZapを使用する(Microsoft製)これは古いMicrosoftのユーティリティです。残念ながら、これ以上サポートされていませんが、まだ人々によって使用されています。これはもうサポートされていないので、あなたはあなた自身の責任でこのツールを使用します。ここで見つけることができます。

  2. (KZTechsによる)WICleanupと呼ばれるツールを使用してください。その使用についての記事に私が追加するいくつかのメモがあります。

まず、ダウンロードリンクに問題があったので、ユーティリティがダウンロード可能 になっている

その後、UIを使用してファイルを削除するときは、削除を確認してから確認プロンプトを表示する必要があります。すなわち「削除してよろしいですか?はい/いいえ?」 「ファイルは削除されました。OK」が続きます。私は何百ものファイルを持っていましたが、これは私がそれぞれに対してやりたいことではありませんでした。

Zipダウンロードには、UI実行可能ファイルとコマンドライン実行可能ファイルがあります。コマンドラインバージョンを使用するには、必ず[管理者としてプロンプト]コマンドを開いてください。その後、exeファイルがある場所に移動して、次のコマンドを実行します。wicleanupc -s "s"を使用すると、ファイルの削除がサイレントになり、確認の必要がなくなります。

  1. 手動削除(推奨されません)最後のオプションは、ほとんど手動ですが推奨されません。ファイルを削除できるかどうかを判断するには、ファイルがレジストリに存在してはいけません。削除できるファイルまたは削除できないファイルを案内するのに役立つスクリプトがいくつかありますが、実際の削除は手動で行われるため、誤って削除したり誤って削除したりする可能性があります。
21

C:\ Windows\Installerは、Windowsインストーラが、現在インストールされているプログラムに使用されているセットアップパッケージ(.msi)とセットアップパッチ(.msp)のキャッシュコピーを保存する場所です。これらのファイルは、コンピューター上のプログラムを更新、変更、またはアンインストールする場合に必要です。 盲目的に削除しないでください。

適切にクリーンアップされていない孤立した.msiファイルまたは.mspファイルがこのディレクトリに残ることがあります。これは通常、インストールが失敗したときに発生します。これらは、Msizapというツールを使用して削除できますが、マイクロソフトではサポートされなくなりました。

Msizapは、Microsoft Windows SDKと共にインストールされるWindowsインストーラ開発者用のWindows SDKコンポーネントの一部としてのみダウンロードできます。インストールが完了したら、次のコマンドを使用してC:\ Windows\Installerから孤立したインストーラを削除できます。

"%PROGRAMFILES%\ Windowsインストーラのクリーンアップ\ msizap.exe"!g

詳細については、こちらをご覧ください。 http://msdn.Microsoft.com/ja-jp/library/windows/desktop/aa370523%28v=vs.85%29.aspx

あなたがハードドライブのスペースにクリティカルでない限り、私は10gbのインストーラがそこに座っていることを正直に心配しないでしょう。それはあなたがそれを買った日にそうであったのと同じくらい速くあなたのコンピュータを走らせるために再びWindowsを再インストールする時が来たというサインである可能性が高いです。 10gbは、2年以上前のWindowsによく見られる典型的なインストール方法です。

8
user387876

MsiZapは100 MBのなんらかの節約のために孤立したMSIを1つだけ発見しました。その後、PatchCleanerを試して20 GBをクリーンアップしました。

PatchCleaner は30 GBのWindowsインストーラキャッシュ(本気で、MSFT、wtf)をパースするのに約20分かかりました。 GB.

ブラボー。

7
GraehamF

私自身は、「未登録の」インストーラファイルでも実際に削除することには慎重すぎます。しかし、私は自分がまとめたものを(これと同様の投稿に基づいて)同僚のために共有しようと思いました。

$Registered = Get-ItemPropertyValue -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Patches\* -Name LocalPackage
$Found = Get-ChildItem "$env:WINDIR\Installer\*" -Include *.msp,*.msi -Recurse | Select-Object -ExpandProperty FullName

# Show difference
Compare-Object $Registered $Found


$Unregistered = $InstallersFound | Where-Object {$_ -notin $InstallersRegistered}

# Total Bytes unregistered
$Unregistered | Get-ChildItem | Measure-Object -Sum -Property Length

# Remove unregistered installers
$Unregistered | Remove-Item -WhatIf
0
Nathan Hartley