Beheben von Problemen bei der Registrierung von MSI-Softwareupdates

Dieser Artikel enthält 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

Problembeschreibung

Nachdem Sie Softwareupdates installiert haben, 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 '' wurde nicht gefunden. Suchen Sie nach ihrer Quelle.
...
MainEngineThread gibt 1612 zurück

Wenn Sie in der Registrierung suchen, werden Sie möglicherweise feststellen, 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 gibt es einen 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>

      Stellen Sie sicher, 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, stellen Sie sicher, dass der LocalPackage-Zeichenfolgenwert richtig festgelegt ist und dass das Paket, auf das der LocalPackage-Zeichenfolgenwert verweist, 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 referenzierte Paket vorhanden ist und keine zusätzliche Aktion erforderlich ist.
  2. Erstellen Sie die Registrierungsdetails für den Softwareupdatecache erneut. Gehen Sie dazu wie folgt vor:

    1. Suchen Sie in der Datei "%windir%\installer\*.msp" nach dem Softwareupdate, das Sie installieren wollten. Stellen Sie sicher, dass das Softwareupdate den richtigen GUID (Patch Globally Unique Identifier) im Zusammenfassungsinformationsstream aufweist und auf die richtigen Produkt-GUIDs abzielt.

      Hinweis

      Da dieses Verzeichnis als Cache für Benutzerinstallationen und Computerinstallationen dient, können Sie ein Softwareupdate in diesem Verzeichnis mithilfe einer Benutzerinstallation simulieren.

    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 Cacheregistrierung für Softwareupdates 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 schritt 2 erstellt haben. Stellen Sie sicher, dass der LocalPackage-Zeichenfolgenwert auf den Pfad des Softwareupdates festgelegt ist.

  3. Löschen Sie die verbleibenden Softwareupdateverweise. Gehen Sie dazu wie folgt vor:

    1. Öffnen Sie den folgenden Unterschlüssel, und entfernen Sie <PatchSQUID> dann den 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 Zeichenfolgenwert <PatchSQUID> .
      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 der <PatchSQUID> Wert aus 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 Benutzer 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 der <PatchSQUID> Wert aus 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.