Comment résoudre les problèmes d’altération de l’inscription des mises à jour logicielles MSI

Cet article fournit une solution à un problème qui peut entraîner l’échec de la réparation ou de la désinstallation de certains produits après l’installation des mises à jour logicielles.

S’applique à : Windows 10 - toutes les éditions, Windows Server 2012 R2
Numéro de base de connaissances d’origine : 971187

Symptômes

Après avoir installé les mises à jour logicielles, les réparations ou désinstallations de certains produits peuvent échouer. Si la journalisation MSI est activée, les lignes suivantes se trouvent dans le journal :

Désolé... Nous n’avons pas trouvé le correctif local ''. Recherchez-le à sa source.
...
MainEngineThread retourne 1612

Lorsque vous examinez le Registre, vous constaterez peut-être que l’inscription du cache de mise à jour logicielle est manquante dans la sous-clé de Registre suivante : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Patches\<SQUID>

Résolution

Importante

Cette section, méthode ou tâche contient des étapes vous indiquant comment modifier le Registre. Toutefois, des problèmes graves peuvent se produire si vous modifiez le Registre de façon incorrecte. Par conséquent, veillez à suivre ces étapes scrupuleusement. Pour une meilleure protection, sauvegardez le registre avant de le modifier. Vous pouvez alors le restaurer en cas de problème.

Pour résoudre ce problème, procédez comme suit :

  1. Vérifiez que le produit est affecté.

    Pour ce faire, procédez comme suit :

    1. Recherchez l’inscription de mise à jour logicielle du produit en ouvrant la sous-clé de Registre suivante : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Products\<ProductSQUID>\Patches
      Sous cette sous-clé, il y aura une sous-clé pour chaque mise à jour logicielle appliquée au produit.

    2. Pour chaque sous-clé au format suivant, effectuez l’étape suivante : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Products\<ProductSQUID>\Patches\<PatchSQUID>

      Vérifiez que la sous-clé suivante existe :

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

      Si la sous-clé est manquante, le produit est affecté. Passez à l’étape 2.

      Si la sous-clé existe, vérifiez que la valeur de chaîne LocalPackage est correctement définie et que le package référencé par la valeur de chaîne LocalPackage existe également.

      1. Si la valeur de chaîne LocalPackage ou le package référencé est manquant, le produit est affecté. Passez à l’étape 2.
      2. Si le package référencé existe et qu’aucune action supplémentaire n’est requise.
  2. Recréez les détails du Registre du cache des mises à jour logicielles. Pour cela, procédez comme suit :

    1. Recherchez la mise à jour logicielle que vous avez essayé d’installer dans %windir%\installer\*.msp. Vérifiez que la mise à jour logicielle a le guid (Globally Unique Identifier) correct dans le flux d’informations de synthèse et cible les GUID de produit corrects.

      Remarque

      Étant donné que ce répertoire sert de cache pour les installations par utilisateur et par ordinateur, vous pouvez simuler une mise à jour logicielle dans ce répertoire à l’aide d’une installation par utilisateur.

    2. Créez la sous-clé suivante : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Patches\<PatchSQUID>

      Remarque

      Il s’agit d’un risque de sécurité pour recréer le registre du cache des mises à jour logicielles. Cependant, c’est la seule façon de réparer la corruption. Vous pouvez réduire le risque de sécurité en vous assurant que la mise à jour logicielle est la mise à jour logicielle appropriée. Pour ce faire, vérifiez la somme de contrôle de la mise à jour logicielle.

    3. Créez une valeur de chaîne LocalPackage dans la sous-clé de Registre que vous avez créée à l’étape 2. Assurez-vous que la valeur de chaîne LocalPackage est définie sur le chemin de la mise à jour logicielle.

  3. Supprimez les références de mise à jour logicielle restantes. Pour ce faire, procédez comme suit :

    1. Ouvrez la sous-clé suivante, puis supprimez <PatchSQUID> de la valeur multi-sz « AllPatches » : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Products\<ProductSQUID>\Patches

    2. Supprimez la sous-clé de Registre suivante : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Products\<ProductSQUID>\Patches\<PatchSQUID>

    3. Supprimez la sous-clé de Registre suivante : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Patches\<PatchSQUID>

      Remarque

      Si cette sous-clé est manquante, ignorez cette étape.

    4. Si le produit a été installé par ordinateur, procédez comme suit :

      1. Ouvrez la sous-clé suivante : HKEY_LOCAL_MACHINE\Software\Classes\Installer\Products\<ProductSQUID>\Patches

        1. Si la valeur de <PatchSQUID> chaîne est présente, supprimez-la.
        2. Si la <PatchSQUID> valeur de chaîne est présente dans la valeur multi-sz « Patchs », supprimez la valeur de <PatchSQUID> chaîne.
      2. Si la sous-clé de Registre suivante est présente, supprimez-la : HKEY_LOCAL_MACHINE\Software\Classes\Installer\Patches\<PatchSQUID>

    5. Si le produit a été installé par utilisateur non managé :

      1. Ouvrez la sous-clé de Registre suivante : HKEY_CURRENT_USER\Software\Microsoft\Installer\Products\<ProductSQUID>\Patches

        1. Si la valeur de <PatchSQUID> chaîne est présente, supprimez-la.
        2. Si la <PatchSQUID> valeur multi-sz « Patches » est présente, supprimez-la.
      2. Si la sous-clé de Registre suivante est présente, supprimez-la : HKEY_CURRENT_USER\Software\Microsoft\Installer\Patches\<PatchSQUID>

    6. Si le produit a été installé par utilisateur géré :

      1. Ouvrez la sous-clé de Registre suivante : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Managed\<SID>\Installer\Products\<ProductSQUID>\Patches

        1. Si la valeur de <PatchSQUID> chaîne est présente, supprimez-la.
        2. Si la <PatchSQUID> valeur multi-sz « Patches » est présente, supprimez-la.
      2. Si la sous-clé de Registre suivante est présente, supprimez-la : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Managed\<SID>\Installer\Patches\<PatchSQUID>

References

Cet article n’est pas spécifique aux problèmes rencontrés par Windows Update ou Microsoft Update.