Фон

Фон

У меня есть компьютер с 50 ГБ жесткого диска, и он почти заполнен (я не буду получать обновление для C, потому что это компьютер компании). Я просто проверяю, и каталог C:\Windows\Installerсъедает больше этого пространства. Я пытался использовать msizap.exe, чтобы удалить ненужные файлы, но я продолжаю получать эту ошибку:

MsiZap V 5.0
Copyright (c) Microsoft Corporation. All Rights Reserved

MsiZapInfo: Performing operations for user S-1-5-21-2700949330-2022528980-61785034-4992
Removing orphaned cached files.
   Error opening 66FC8F6438BA7A83992B5AEB05E74E27\InstallProperties subkey of Products key for S-1-5-18 user. Error: 2.
   Error opening 9AC087DE786021C34B9333962F4249F1\InstallProperties subkey of Products key for S-1-5-18 user. Error: 2.
FAILED to clear all data.

Что я могу сделать сейчас?

решение1

Фон

Ошибка вызвана тем, что ожидаемый путь реестра не существует.

например, для ошибки:Error opening 66FC8F6438BA7A83992B5AEB05E74E27\InstallProperties subkey of Products key for S-1-5-18 user. Error: 2.

Ошибка не сообщает вам полный путь к разделу реестра, но сообщает вам SID пользователя, под которым существует отсутствующая запись; в данном случае S-1-5-18(т. е. Local Systemучетной записи).

Заглянув в реестр HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products (заменив S-1-5-18его соответствующим SID из ошибки, если он отличается), мы увидим ряд подразделов.

Если мы посмотрим в любой из этих подключей, то, скорее всего, увидим другой подключ, InstallProperties. Однако для подключей с GUID из сообщения об ошибке InstallPropertiesподключ не существует.

$userSid = 'S-1-5-18'
$productId = '66FC8F6438BA7A83992B5AEB05E74E27'
$path = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData'
$path = Join-Path -Path $path -ChildPath $userSid
$path = Join-Path -Path $path -ChildPath 'Products'
$path = Join-Path -Path $path -ChildPath productId
Get-ChildItem -Path $path
# Note that InstallProperties is not listed

Обходной путь

Это подразумевает редактирование реестра и не основано на какой-либо документированной информации...Используйте на свой риск/ примите разумные меры предосторожности, например, сделайте резервную копию всего, что вам дорого, перед запуском.

  1. Откройте редактор реестра ( WinKey+ R> Regedit> OK)
  2. Перейдите к соответствующей записи ключа продукта, например, HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\66FC8F6438BA7A83992B5AEB05E74E27для указанного выше.
  3. Щелкните правой кнопкой мыши и выберите «Экспорт»; таким образом вы создадите резервную копию значения этого ключа.
  4. Удалить этот ключ
  5. (повторите вышеизложенное для любых других ключей продукта с этой ошибкой)
  6. Повторите запуск msizap g. Теперь он должен работать без ошибок.
  7. Дважды щелкните файл *.reg, созданный на шаге 3, чтобы перезагрузить этот ключ в реестр.

Надеюсь, теперь все прошло успешно, и обходной путь ничего не сломал... Удачи!

Связанный контент