Freigeben über


Beheben von Problemen bei der MSI-Softwareupdateregistrierung

Dieser Artikel enthält eine Lösung für ein Problem, das nach der Installation von Softwareupdates möglicherweise fehlschlägt oder für bestimmte Produkte deinstalliert oder deinstalliert wird.

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, werden die folgenden Zeilen im Protokoll gefunden:

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

Wenn Sie in der Registrierung nachsehen, 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 müssen Sie sicherstellen, dass Sie diese Schritte sorgfältig ausführen. Für weiteren Schutz sichern Sie die Registrierung, bevor Sie sie ändern. Anschließend können Sie die Registrierung wiederherstellen, wenn ein Problem auftritt.

Um dieses Problem zu beheben, führen Sie folgende Schritte aus:

  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>

      Überprüfen Sie, ob 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 korrekt festgelegt ist und dass das Paket, auf das vom LocalPackage-Zeichenfolgenwert verwiesen wird, ebenfalls vorhanden ist.

      1. Wenn der LocalPackage-Zeichenfolgenwert oder das referenzierte Paket 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 des Softwareupdatecaches erneut. Gehen Sie dazu wie folgt vor:

    1. Durchsuchen Sie den %windir%\installer\*.msp nach dem Softwareupdate, das Sie installieren wollten. Stellen Sie sicher, dass das Softwareupdate die richtige GUID (Patch Globally Unique Identifier) im Zusammenfassungsinformationsstream aufweist und auf die richtigen Produkt-GUIDs ausgerichtet ist.

      Notiz

      Da dieses Verzeichnis als Cache für Benutzerinstallationen und Installationen pro Computer 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>

      Notiz

      Es ist ein Sicherheitsrisiko, die Registrierung des Softwareupdatecaches erneut 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 verbleibende Softwareupdateverweise. Gehen Sie dazu wie folgt vor:

    1. Öffnen Sie den folgenden Unterschlüssel, und entfernen <PatchSQUID> Sie 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>

      Notiz

      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 installiert wurde, wird dies nicht verwaltet:

      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 "Patches" multi-sz 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 installiert wurde, verwaltet:

      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 "Patches" multi-sz 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 von Windows Update oder Microsoft Update aufgetreten sind.