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