Могу ли я безопасно удалить файлы * .msi и * .msp, которые находятся в C: \ Windows \ Installer, но не указаны в реестре?

31

Моя C:\Windows\Installerпапка выросла более 10 ГБ. Я заметил, что некоторые файлы * .msi и * .msp находятся в C: \ Windows \ Installer, но не упомянуты в реестре (например, я вижу файл с именем «104a0288.msi» в C: \ Windows \ Installer, но ищу «104a0288.msi» в редакторе реестра результатов не приносит). Могу ли я безопасно удалить эти файлы?

Я использую Windows 7 SP1 x64 Ultimate.

Франк Дернонкур
источник

Ответы:

22

В приведенной ниже статье показаны различные способы удаления неиспользуемых файлов установщика / исправления Microsoft из папки установщика. Это очень хорошая и описательная статья.

3 способа безопасного удаления неиспользуемых файлов MSI и MSP из папки установщика Windows

В итоге, это 3 способа:

  1. Используйте MsiZap (от Microsoft) Это старая утилита Microsoft. К сожалению, больше не поддерживается, но все еще используется людьми. Поскольку он больше не поддерживается, вы используете этот инструмент на свой страх и риск. Это можно найти здесь .

  2. Используйте инструмент под названием WICleanup (от KZTechs). Этот вариант я использовал, и он очистил для меня 15 ГБ данных, и с тех пор у меня не было никаких проблем. Есть несколько заметок, которые я бы добавил к статье об их использовании;

Во-первых, у меня возникли проблемы со ссылкой на скачивание, поэтому я нашел утилиту, которую можно загрузить здесь .

Затем при удалении файлов с помощью пользовательского интерфейса необходимо подтверждать каждое удаление с последующим запросом подтверждения. Т.е. "Вы уверены, что хотите удалить? Да / Нет?" затем «Файл был удален. ОК». У меня были сотни файлов, и это было не то, что я хотел сделать для каждого.

Zip-загрузка содержит исполняемый файл пользовательского интерфейса, а также исполняемый файл командной строки. Чтобы использовать версию командной строки, обязательно откройте командную строку от имени администратора. Затем перейдите туда, где находится исполняемый файл, и выполните следующую команду wicleanupc -s. «S» делает удаление файлов без вывода сообщений и не требует подтверждения.

  1. Удаление вручную (не рекомендуется) Последний вариант в основном ручной, но не рекомендуется. Чтобы выяснить, можно ли удалить файл, он НЕ должен существовать в реестре. Могут быть доступны некоторые полезные сценарии, которые помогут вам удалить файлы, которые можно или нельзя удалить, но фактическое удаление выполняется вручную и поэтому может быть ошибочно или удалено по ошибке.
PostureOfLearning
источник
2
Хотя эта ссылка может ответить на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы, содержащие только ссылки, могут стать недействительными, если связанная страница изменится.
G-Man говорит: «Восстановите Монику»
Спасибо за комментарий @ G-Man, я добавил больше деталей и некоторые личные заметки из опыта, используя один из вариантов. Надеюсь, что это нравится :)
PostureOfLearning
Похоже, здесь есть много ответов, я не буду добавлять еще один. Практически очень безопасный способ: support.microsoft.com/default.aspx?scid=kb;en-us;290301 - очистка установщика Windows до конца. Другой способ: удалить . , Это работает, я проверял это. Мой / установщик / пуст, не затрагивая ничего.
Сверхразум
Страница, упомянутая Overmind выше, больше не существует. Однако я использовал WiCleanup, и он отлично работал на Windows 7. Большое спасибо за совет.
Яба
Использование WiCleanup screencast.com/t/hO6XW5F7XWIN
appqui-платформа
8

C: \ Windows \ Installer - это место, где установщик Windows хранит кэшированные копии пакетов установки (.msi) и исправлений установки (.msp), используемых для установленных на данный момент программ. Эти файлы необходимы, если вы хотите обновить, изменить или удалить программу на вашем компьютере. Не удаляйте их вслепую.

Иногда в этом каталоге могут появиться осиротевшие файлы .msi или .msp, которые не очищаются должным образом. Обычно это происходит при сбое установки. Их можно удалить с помощью инструмента Msizap , но имейте в виду , что он больше не поддерживается Microsoft.

Msizap можно загрузить только в составе компонентов Windows SDK для разработчиков установщика Windows, которые устанавливаются вместе с Microsoft Windows SDK. После установки вы можете удалить потерянные инсталляторы из C: \ Windows \ Installer с помощью следующей команды:

"% PROGRAMFILES% \ Очистка установщика Windows \ msizap.exe"! G

Вот информация об использовании для получения дополнительной информации: http://msdn.microsoft.com/en-us/library/windows/desktop/aa370523%28v=vs.85%29.aspx

Честно говоря, я бы не стал беспокоиться о 10 ГБ инсталляторов, если вы не критикуете место на жестком диске. Скорее всего, это признак того, что пришло время переустановить Windows, чтобы ваш компьютер работал так же быстро, как и в тот день, когда вы его купили. 10 ГБ довольно типично для двухлетней установки Windows.


источник
4
К сожалению, мой C: \ Windows \ Installer занимает ~ 32 ГБ. Microsoft должна подумать о том, чтобы держать папку Windows в чистоте. Я не говорю об установочных папках GAC, WinSXS и .Net. Они обычно растут как агент Смит в Матрице :)
Арам Пароникян
5
Типичный подход среднего пользователя Windows к проблемам ОС. Добавьте больше оборудования на них или переустановите.
Avio
7

MsiZap обнаружил только одну потерянную MSI для огромной экономии 100 МБ. После этого я попробовал PatchCleaner и почистил 20 ГБ.

PatchCleaner потребовалось около 20 минут для анализа 30 ГБ кэша установщика Windows (серьезно, MSFT, wtf), а затем одним щелчком мыши смог освободить 20 ГБ.

Браво.

GraehamF
источник
0

Сам я слишком осторожен, чтобы фактически удалить даже «незарегистрированные» установочные файлы. Тем не менее, я подумал, что поделюсь тем, что я собрал (основываясь на этой и подобных публикациях) для сотрудника, который хотел привести в порядок некоторые машины.

$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
Натан Хартли
источник
-4
  • Вы должны быть в состоянии удалить эти файлы без каких-либо рисков. Файлы * .msi используются только во время установки программы или обновления. В идеальном мире установщик очистил бы их автоматически. Если вы можете удалить их, то сделайте. - Я уверен, что Windows скажет вам, если они все еще используются.
Эман
источник
Спасибо, разве некоторые из этих файлов не используются для удаления?
Франк Дернонкурт
Хорошо, Франк, - может быть, я неправильно понял некоторые твои вопросы. - Я имел в виду только файлы * .msi. - Вы не должны удалять деинсталляторы во вложенных папках.
Эман
Полезно знать, спасибо, извините, я подумал, что некоторые MSI-файлы в корневой папке также использовались для удаления программ.
Франк Дернонкурт
Вы правы, их можно использовать для удаления, но они не являются необходимыми, и система не падает, если они отсутствуют. Большинство файлов * .msi и * .msp предназначены для удаления обновлений Windows, если это необходимо ...?
Эман