Чи можу я безпечно видалити * .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 Installer / Patch з папки Installer. Це дуже гарна та описова стаття.

3 способи безпечного видалення невикористаних файлів MSI та MSP з папки інсталятора Windows

Підводячи підсумок, це 3 способи:

  1. Використовуйте MsiZap (від Microsoft) Це стара утиліта Microsoft. На жаль, більше не підтримується, але все ще використовується людьми. Оскільки він більше не підтримується, ви використовуєте цей інструмент на свій страх і ризик. Його можна знайти тут .

  2. Використовуйте інструмент під назвою WICleanup (від KZTechs) Це варіант, який я використав, і він очистив 15Гб даних для мене, і з тих пір у мене не виникло жодних проблем. До статті про його використання я додам кілька приміток;

По- перше, у мене була проблема з посиланням для завантаження, так що я знайшов утиліту завантажувати тут .

Потім, видаляючи файли за допомогою інтерфейсу, вам потрібно підтверджувати кожне видалення, а потім - запит на підтвердження. Тобто "Ви впевнені, що хочете видалити? Так / Ні?" після чого "Файл видалено. Добре". У мене було сотні файлів, і це було не те, що я хотів зробити для кожного.

Завантаження на zip має виконуваний інтерфейс, а також виконуваний командний рядок. Щоб використовувати версію командного рядка, переконайтеся, що ви відкрили командний рядок як адміністратор. Потім перейдіть до місця, де розташований exe, і виконайте наступну команду wicleanupc -s"s" робить видалення файлів тихим і не потрібно підтверджувати.

  1. Видалення вручну (не рекомендується) Останній варіант значною мірою ручний, але не рекомендується. Щоб зрозуміти, чи можна видалити файл, він НЕ повинен існувати в реєстрі. Можливо, є кілька корисних сценаріїв, які спрямовують вас на файли, які можна або не можна видалити, але власне видалення є ручним і тому схильне до помилок або видалення помилково.

2
Хоча це посилання може відповісти на питання, краще включити сюди суттєві частини відповіді та надати посилання для довідки. Відповіді лише на посилання можуть стати недійсними, якщо пов’язана сторінка зміниться.
G-Man каже: «Відновіть Моніку»

Дякую за коментар @ G-Man, я додав більше деталей та деякі особисті нотатки з досвіду використання одного з варіантів. Сподіваюсь, це сподобається :)
PostureOfLearning

Добре виглядає, що відповідей тут багато, я не хочу додати ще одну. Практично дуже безпечний спосіб: support.microsoft.com/default.aspx?scid=kb;en-us;290301 - очищення програми встановлення Windows untiliy. Інший спосіб: видалити . . Це працює, я це перевірив. Мій / інсталятор / порожній, не впливаючи ні на що.
Передумати

Сторінка, згадана вище Overmind, більше не існує. Однак я використовував WiCleanup, і він чудово працював у Windows 7. Дякую за пораду.
Яба

Використання WiCleanup screencast.com/t/hO6XW5F7XWIN
appqui-платформа

8

C: \ Windows \ Installer - це місце, де програма Windows Installer зберігає кешовані копії пакунків налаштування (.msi) та патчів налаштування (.msp), які використовуються для встановлених на сьогодні програм. Ці файли потрібні, якщо ви хочете оновити, змінити чи видалити програму на комп’ютері. Не видаляйте їх наосліп.

Іноді в цьому каталозі ви можете осиротіти файли .msi або .msp, які не очищаються належним чином. Зазвичай це відбувається, коли установка не працює. Їх можна видалити за допомогою інструменту під назвою Msizap , але пам’ятайте, що Microsoft вже не підтримується.

Msizap можна завантажувати лише у складі компонентів Windows SDK Components для розробників Windows Installer, які встановлюються разом із SDK Microsoft Windows. Після встановлення ви можете видалити осиротілих інсталяторів з 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 Гбіт є досить типовим для 2-річної установки Windows.


4
На жаль, мій C: \ Windows \ Installer займає ~ 32 Гб. Майкрософт повинен подумати про те, щоб зберегти чисту папку Windows. Я не кажу про папки встановлення GAC, WinSXS та .Net. Зазвичай вони ростуть як агент Сміт у Матриці :)
Арам Паронікян

5
Типовий підхід середнього користувача Windows до проблем з ОС. Киньте на них більше обладнання або перевстановіть.
Авіо

7

MsiZap виявив лише одну осиротілу мсі за величезну економію в 100 Мб. Після цього я спробував PatchCleaner і очистив 20 ГБ.

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

Браво.


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, якщо потрібно ...?
Еман
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.