Come risolvere i problemi di danneggiamento della registrazione degli aggiornamenti software msi

Questo articolo fornisce una soluzione a un problema per cui la riparazione o la disinstallazione di determinati prodotti potrebbe non riuscire dopo l'installazione degli aggiornamenti software.

Si applica a: Windows 10: tutte le edizioni, Windows Server 2012 R2
Numero KB originale: 971187

Sintomi

Dopo aver installato gli aggiornamenti software, le riparazioni o le disinstallazioni per determinati prodotti potrebbero non riuscire. Se è abilitata la registrazione msi, nel log sono disponibili le righe seguenti:

Impossibile trovare la patch locale ''. Cercarlo all'origine.
...
MainEngineThread restituisce 1612

Quando si cerca nel Registro di sistema, è possibile che la registrazione della cache degli aggiornamenti software non sia presente nella sottochiave del Registro di sistema seguente: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Patches\<SQUID>

Risoluzione

Importante

In questa sezione, metodo o attività viene illustrata la procedura per modificare il Registro di sistema. Poiché l'errata modifica del Registro di sistema può causare seri problemi, Di conseguenza, attenersi scrupolosamente alla procedura indicata. Per una maggiore protezione, eseguire il backup del Registro di sistema prima di modificarlo. In questo modo sarà possibile ripristinare il Registro di sistema se si verifica un problema.

Per risolvere il problema, attenersi alla procedura seguente:

  1. Verificare che il prodotto sia interessato.

    Per effettuare questa operazione, seguire questi passaggi:

    1. Trovare la registrazione dell'aggiornamento software del prodotto aprendo la sottochiave del Registro di sistema seguente: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Products\<ProductSQUID>\Patches
      In questa sottochiave sarà presente una sottochiave per ogni aggiornamento software applicato al prodotto.

    2. Per ogni sottochiave nel formato seguente, eseguire il passaggio seguente: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Products\<ProductSQUID>\Patches\<PatchSQUID>

      Verificare che esista la sottochiave seguente:

      HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Patches\<PatchSQUID>

      Se la sottochiave è mancante, il prodotto è interessato. Continuare con il passaggio 2.

      Se la sottochiave esiste, verificare che il valore della stringa LocalPackage sia impostato correttamente e che esista anche il pacchetto a cui fa riferimento il valore stringa LocalPackage.

      1. Se il valore stringa LocalPackage o il pacchetto a cui si fa riferimento non è presente, il prodotto è interessato. Continuare con il passaggio 2.
      2. Se il pacchetto a cui si fa riferimento esiste e non è necessaria alcuna azione aggiuntiva.
  2. Ricreare i dettagli del Registro di sistema della cache degli aggiornamenti software. A tal fine, attenersi alla seguente procedura:

    1. Cercare l'aggiornamento software che si è tentato di installare in %windir%\installer\*.msp. Verificare che l'aggiornamento software abbia il GUID (Patch Globally Unique Identifier) corretto nella Stream Informazioni di riepilogo e che abbia come destinazione i GUID del prodotto corretti.

      Nota

      Poiché questa directory funge da cache per le installazioni per utente e per computer, è possibile simulare un aggiornamento software in questa directory usando un'installazione per utente.

    2. Creare la sottochiave seguente: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Patches\<PatchSQUID>

      Nota

      È un rischio per la sicurezza ricreare il registro della cache degli aggiornamenti software. Tuttavia, questo è l'unico modo per riparare il danneggiamento. È possibile ridurre i rischi per la sicurezza assicurandosi che l'aggiornamento software sia l'aggiornamento software corretto. A tale scopo, verificare il checksum dell'aggiornamento software.

    3. Creare un valore stringa LocalPackage nella sottochiave del Registro di sistema creata al passaggio 2. Assicurarsi che il valore della stringa LocalPackage sia impostato sul percorso dell'aggiornamento software.

  3. Eliminare i riferimenti agli aggiornamenti software rimanenti. Per effettuare questa operazione, seguire questi passaggi:

    1. Aprire la sottochiave seguente e quindi rimuovere <PatchSQUID> dal valore multi-sz "AllPatches": HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Products\<ProductSQUID>\Patches

    2. Eliminare la sottochiave del Registro di sistema seguente: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Products\<ProductSQUID>\Patches\<PatchSQUID>

    3. Eliminare la sottochiave del Registro di sistema seguente: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Patches\<PatchSQUID>

      Nota

      Se questa sottochiave è mancante, ignorare questo passaggio.

    4. Se il prodotto è stato installato per ogni computer, seguire questa procedura:

      1. Aprire la sottochiave seguente: HKEY_LOCAL_MACHINE\Software\Classes\Installer\Products\<ProductSQUID>\Patches

        1. Se il valore stringa <PatchSQUID> è presente, eliminarlo.
        2. Se il <PatchSQUID> valore stringa è presente nel valore multi-sz "Patches", eliminare il valore stringa <PatchSQUID> .
      2. Se è presente la sottochiave del Registro di sistema seguente, eliminarla: HKEY_LOCAL_MACHINE\Software\Classes\Installer\Patches\<PatchSQUID>

    5. Se il prodotto è stato installato per utente non gestito:

      1. Aprire la sottochiave del Registro di sistema seguente: HKEY_CURRENT_USER\Software\Microsoft\Installer\Products\<ProductSQUID>\Patches

        1. Se il valore stringa <PatchSQUID> è presente, eliminarlo.
        2. Se l'oggetto <PatchSQUID> dal valore multi-sz "Patches" è presente, rimuoverlo.
      2. Se è presente la sottochiave del Registro di sistema seguente, eliminarla: HKEY_CURRENT_USER\Software\Microsoft\Installer\Patches\<PatchSQUID>

    6. Se il prodotto è stato installato per utente gestito:

      1. Aprire la sottochiave del Registro di sistema seguente: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Managed\<SID>\Installer\Products\<ProductSQUID>\Patches

        1. Se il valore stringa <PatchSQUID> è presente, eliminarlo.
        2. Se l'oggetto <PatchSQUID> dal valore multi-sz "Patches" è presente, rimuoverlo.
      2. Se è presente la sottochiave del Registro di sistema seguente, eliminarla: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Managed\<SID>\Installer\Patches\<PatchSQUID>

Riferimenti

Questo articolo non è specifico per i problemi verificatisi da Windows Update o Microsoft Update.