Beschadigde problemen met msi-software-updateregistratie oplossen

Dit artikel biedt een oplossing voor een probleem waarbij reparaties of verwijderingen voor bepaalde producten mogelijk mislukken nadat u software-updates hebt geïnstalleerd.

Van toepassing op: Windows 10 - alle edities, Windows Server 2012 R2
Origineel KB-nummer: 971187

Symptomen

Nadat u software-updates hebt geïnstalleerd, kunnen reparaties of verwijderingen voor bepaalde producten mislukken. Als u MSI-logboekregistratie hebt ingeschakeld, vindt u de volgende regels in het logboek:

Kan de lokale patch niet vinden. Op zoek naar de bron.
...
MainEngineThread retourneert 1612

Wanneer u in het register kijkt, ziet u mogelijk dat de registratie van de software-updatecache ontbreekt in de volgende registersubsleutel: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Patches\<SQUID>

Oplossing

Belangrijk

Deze sectie, methode of taak bevat stappen voor het bewerken van het register. Als u het register op onjuiste wijze wijzigt, kunnen er echter grote problemen optreden. Het is dan ook belangrijk dat u deze stappen zorgvuldig uitvoert. Maak een back-up van het register voordat u wijzigingen aanbrengt. Als er een probleem optreedt, kunt u het register altijd nog herstellen.

Volg deze stappen om dit probleem op te lossen:

  1. Controleer of het product is beïnvloed.

    Volg deze stappen om dit te doen:

    1. Zoek de software-updateregistratie van het product door de volgende registersubsleutel te openen: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Products\<ProductSQUID>\Patches
      Onder deze subsleutel bevindt zich een subsleutel voor elke software-update die op het product is toegepast.

    2. Voer voor elke subsleutel in de volgende indeling de volgende stap uit: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Products\<ProductSQUID>\Patches\<PatchSQUID>

      Controleer of de volgende subsleutel bestaat:

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

      Als de subsleutel ontbreekt, wordt het product beïnvloed. Ga door naar stap 2.

      Als de subsleutel bestaat, controleert u of de tekenreekswaarde LocalPackage juist is ingesteld en of het pakket waarnaar wordt verwezen door de tekenreekswaarde LocalPackage ook bestaat.

      1. Als de localPackage-tekenreekswaarde of het pakket waarnaar wordt verwezen ontbreekt, wordt het product beïnvloed. Ga door naar stap 2.
      2. Als het pakket waarnaar wordt verwezen bestaat en er geen extra actie is vereist.
  2. Registergegevens van software-updatecache opnieuw maken. Ga hiervoor als volgt te werk:

    1. Zoek in %windir%\installer\*.msp naar de software-update die u hebt geprobeerd te installeren. Controleer of de software-update de juiste Patch Globally Unique Identifier (GUID) heeft in het Stream Samenvattingsinformatie en is gericht op de juiste product-GUID's.

      Opmerking

      Omdat deze map fungeert als de cache voor installaties per gebruiker en per machine, kunt u een software-update in deze map simuleren met behulp van een installatie per gebruiker.

    2. Maak de volgende subsleutel: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Patches\<PatchSQUID>

      Opmerking

      Het is een beveiligingsrisico om het cacheregister van de software-update opnieuw te maken. Dit is echter de enige manier om de beschadiging te herstellen. U kunt het beveiligingsrisico beperken door ervoor te zorgen dat de software-update de juiste software-update is. Controleer hiervoor de controlesom van de software-update.

    3. Maak een LocalPackage-tekenreekswaarde in de registersubsleutel die u hebt gemaakt, stap 2. Zorg ervoor dat de tekenreekswaarde LocalPackage is ingesteld op het pad van de software-update.

  3. Verwijder de resterende verwijzingen naar software-updates. Volg deze stappen om dit te doen:

    1. Open de volgende subsleutel en verwijder <PatchSQUID> vervolgens uit de multi-sz-waarde 'AllPatches': HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Products\<ProductSQUID>\Patches

    2. Verwijder de volgende registersubsleutel: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Products\<ProductSQUID>\Patches\<PatchSQUID>

    3. Verwijder de volgende registersubsleutel: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Patches\<PatchSQUID>

      Opmerking

      Als deze subsleutel ontbreekt, slaat u deze stap over.

    4. Als het product per machine is geïnstalleerd, voert u de volgende stappen uit:

      1. Open de volgende subsleutel: HKEY_LOCAL_MACHINE\Software\Classes\Installer\Products\<ProductSQUID>\Patches

        1. Als de <PatchSQUID> tekenreekswaarde aanwezig is, verwijdert u deze.
        2. Als de <PatchSQUID> tekenreekswaarde aanwezig is in de multi-sz-waarde 'Patches', verwijdert u de <PatchSQUID> tekenreekswaarde.
      2. Als de volgende registersubsleutel aanwezig is, verwijdert u deze: HKEY_LOCAL_MACHINE\Software\Classes\Installer\Patches\<PatchSQUID>

    5. Als het product per gebruiker onbeheerd is geïnstalleerd:

      1. Open de volgende registersubsleutel: HKEY_CURRENT_USER\Software\Microsoft\Installer\Products\<ProductSQUID>\Patches

        1. Als de <PatchSQUID> tekenreekswaarde aanwezig is, verwijdert u deze.
        2. Als de <PatchSQUID> uit de multi-sz-waarde 'Patches' aanwezig is, verwijdert u deze.
      2. Als de volgende registersubsleutel aanwezig is, verwijdert u deze: HKEY_CURRENT_USER\Software\Microsoft\Installer\Patches\<PatchSQUID>

    6. Als het product is geïnstalleerd per beheerde gebruiker:

      1. Open de volgende registersubsleutel: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Managed\<SID>\Installer\Products\<ProductSQUID>\Patches

        1. Als de <PatchSQUID> tekenreekswaarde aanwezig is, verwijdert u deze.
        2. Als de <PatchSQUID> uit de multi-sz-waarde 'Patches' aanwezig is, verwijdert u deze.
      2. Als de volgende registersubsleutel aanwezig is, verwijdert u deze: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Managed\<SID>\Installer\Patches\<PatchSQUID>

Verwijzingen

Dit artikel is niet specifiek voor problemen die zijn opgetreden door Windows Update of Microsoft Update.