Beheben von Problemen bei der Msi-Softwareupdateregistrierung

Dieser Artikel bietet eine Lösung für ein Problem, bei dem Reparaturen oder Deinstallationen für bestimmte Produkte nach der Installation von Softwareupdates fehlschlagen können.

Gilt für: Windows 10 (alle Editionen), Windows Server 2012 R2
Ursprüngliche KB-Nummer: 971187

Symptome

Nach der Installation von Softwareupdates können Reparaturen oder Deinstallationen für bestimmte Produkte fehlschlagen. Wenn Die MSI-Protokollierung aktiviert ist, finden Sie die folgenden Zeilen im Protokoll:

Der lokale Patch "" konnte nicht gefunden werden. Suchen Sie an ihrer Quelle nach ihm.
...
MainEngineThread gibt 1612 zurück.

Wenn Sie in der Registrierung suchen, stellen Sie möglicherweise fest, dass die Registrierung des Softwareupdatecaches im folgenden Registrierungsunterschlüssel fehlt: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Patches\<SQUID>

Lösung

Wichtig

Dieser Abschnitt, diese Methode bzw. diese Aufgabe enthält eine Beschreibung der Schritte zum Bearbeiten der Registrierung. Durch die falsche Bearbeitung der Registrierung können schwerwiegende Probleme verursacht werden. Daher ist es wichtig, bei der Ausführung der folgenden Schritte sorgfältig vorzugehen. Für zusätzlichen Schutz sichern Sie die Registrierung, bevor Sie sie ändern. Sie können die Registrierung wiederherstellen, wenn ein Problem auftritt.

Führen Sie die folgenden Schritte aus, um dieses Problem zu beheben:

  1. Vergewissern Sie sich, dass das Produkt betroffen ist.

    Gehen Sie dazu wie folgt vor:

    1. Suchen Sie die Softwareupdateregistrierung des Produkts, indem Sie den folgenden Registrierungsunterschlüssel öffnen: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Products\<ProductSQUID>\Patches
      Unter diesem Unterschlüssel befindet sich ein Unterschlüssel für jedes Softwareupdate, das auf das Produkt angewendet wurde.

    2. Führen Sie für jeden Unterschlüssel im folgenden Format den folgenden Schritt aus: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Products\<ProductSQUID>\Patches\<PatchSQUID>

      Vergewissern Sie sich, dass der folgende Unterschlüssel vorhanden ist:

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

      Wenn der Unterschlüssel fehlt, ist das Produkt betroffen. Fahren Sie mit Schritt 2 fort.

      Wenn der Unterschlüssel vorhanden ist, überprüfen Sie, ob der LocalPackage-Zeichenfolgenwert richtig festgelegt ist und dass das Paket, auf das vom LocalPackage-Zeichenfolgenwert verwiesen wird, ebenfalls vorhanden ist.

      1. Wenn der LocalPackage-Zeichenfolgenwert oder das Referenzpaket fehlt, ist das Produkt betroffen. Fahren Sie mit Schritt 2 fort.
      2. Wenn das Paket, auf das verwiesen wird, vorhanden ist und keine zusätzliche Aktion erforderlich ist.
  2. Erstellen Sie die Registrierungsdetails des Softwareupdatecaches neu. Gehen Sie dazu wie folgt vor:

    1. Suchen Sie %windir%\installer\*.msp nach dem Softwareupdate, das Sie installieren möchten. Vergewissern Sie sich, dass das Softwareupdate im Stream Zusammenfassungsinformationen über die richtige Patch-GUID (Globally Unique Identifier) verfügt und auf die richtigen Produkt-GUIDs abzielt.

      Hinweis

      Da dieses Verzeichnis als Cache für Benutzerinstallationen und Installationen pro Computer dient, können Sie ein Softwareupdate in diesem Verzeichnis simulieren, indem Sie eine Benutzerinstallation verwenden.

    2. Erstellen Sie den folgenden Unterschlüssel: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Patches\<PatchSQUID>

      Hinweis

      Es ist ein Sicherheitsrisiko, die Softwareupdatecacheregistrierung neu zu erstellen. Dies ist jedoch die einzige Möglichkeit, die Beschädigung zu reparieren. Sie können das Sicherheitsrisiko verringern, indem Sie sicherstellen, dass das Softwareupdate das richtige Softwareupdate ist. Überprüfen Sie dazu die Prüfsumme des Softwareupdates.

    3. Erstellen Sie einen LocalPackage-Zeichenfolgenwert im Registrierungsunterschlüssel, den Sie in Schritt 2 erstellt haben. Stellen Sie sicher, dass der LocalPackage-Zeichenfolgenwert auf den Pfad des Softwareupdates festgelegt ist.

  3. Löschen Sie die verbleibenden Verweise auf Softwareupdates. Gehen Sie dazu wie folgt vor:

    1. Öffnen Sie den folgenden Unterschlüssel, und entfernen Sie <PatchSQUID> dann aus dem Multi-SZ-Wert "AllPatches": HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Products\<ProductSQUID>\Patches

    2. Löschen Sie den folgenden Registrierungsunterschlüssel: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Products\<ProductSQUID>\Patches\<PatchSQUID>

    3. Löschen Sie den folgenden Registrierungsunterschlüssel: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Patches\<PatchSQUID>

      Hinweis

      Wenn dieser Unterschlüssel fehlt, überspringen Sie diesen Schritt.

    4. Wenn das Produkt pro Computer installiert wurde, führen Sie die folgenden Schritte aus:

      1. Öffnen Sie den folgenden Unterschlüssel: HKEY_LOCAL_MACHINE\Software\Classes\Installer\Products\<ProductSQUID>\Patches

        1. Wenn der <PatchSQUID> Zeichenfolgenwert vorhanden ist, löschen Sie ihn.
        2. Wenn der <PatchSQUID> Zeichenfolgenwert im Multi-sz-Wert "Patches" vorhanden ist, löschen Sie den <PatchSQUID> Zeichenfolgenwert.
      2. Wenn der folgende Registrierungsunterschlüssel vorhanden ist, löschen Sie ihn: HKEY_LOCAL_MACHINE\Software\Classes\Installer\Patches\<PatchSQUID>

    5. Wenn das Produkt pro Benutzer nicht verwaltet installiert wurde:

      1. Öffnen Sie den folgenden Registrierungsunterschlüssel: HKEY_CURRENT_USER\Software\Microsoft\Installer\Products\<ProductSQUID>\Patches

        1. Wenn der <PatchSQUID> Zeichenfolgenwert vorhanden ist, löschen Sie ihn.
        2. Wenn aus <PatchSQUID> dem Multi-sz-Wert "Patches" vorhanden ist, entfernen Sie ihn.
      2. Wenn der folgende Registrierungsunterschlüssel vorhanden ist, löschen Sie ihn: HKEY_CURRENT_USER\Software\Microsoft\Installer\Patches\<PatchSQUID>

    6. Wenn das Produkt pro benutzerseitig verwaltet installiert wurde:

      1. Öffnen Sie den folgenden Registrierungsunterschlüssel: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Managed\<SID>\Installer\Products\<ProductSQUID>\Patches

        1. Wenn der <PatchSQUID> Zeichenfolgenwert vorhanden ist, löschen Sie ihn.
        2. Wenn aus <PatchSQUID> dem Multi-sz-Wert "Patches" vorhanden ist, entfernen Sie ihn.
      2. Wenn der folgende Registrierungsunterschlüssel vorhanden ist, löschen Sie ihn: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Managed\<SID>\Installer\Patches\<PatchSQUID>

References

Dieser Artikel ist nicht spezifisch für Probleme, die durch Windows Update oder Microsoft Update aufgetreten sind.