MSI yazılım güncelleştirme kaydı bozulma sorunlarını düzeltme

Bu makalede, yazılım güncelleştirmelerini yükledikten sonra belirli ürünler için onarımların veya kaldırmaların başarısız olması sorununa yönelik bir çözüm sağlanır.

Şunlar için geçerlidir: Windows 10 - tüm sürümler, Windows Server 2012 R2
Özgün KB numarası: 971187

Belirtiler

Yazılım güncelleştirmelerini yükledikten sonra, belirli ürünler için onarımlar veya kaldırmalar başarısız olabilir. MSI günlüğünü etkinleştirdiyseniz, günlükte aşağıdaki satırlar bulunur:

'' yerel düzeltme eki bulunamadı. Kaynağında arıyor.
...
MainEngineThread 1612 döndürecek

Kayıt defterine baktığınızda, yazılım güncelleştirme önbelleği kaydının aşağıdaki kayıt defteri alt anahtarında eksik olduğunu görebilirsiniz: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Patches\<SQUID>

Çözüm

Önemli

Bu bölüm, yöntem veya görev, kayıt defterini nasıl değiştireceğinizin anlatıldığı adımları içermektedir. Ancak kayıt defterini hatalı biçimde değiştirirseniz önemli sorunlar oluşabilir. Bu nedenle bu adımları dikkatle uyguladığınızdan emin olun. Ek koruma için kayıt defterini değiştirmeden önce yedeklemeyi unutmayın. Böylece, bir sorun oluşursa kayıt defterini daha sonra geri yükleyebilirsiniz.

Bu sorunu çözmek için şu adımları izleyin:

  1. Ürünün etkilendiğini onaylayın.

    Bunu yapmak için şu adımları uygulayın:

    1. Aşağıdaki kayıt defteri alt anahtarını açarak ürünün yazılım güncelleştirme kaydını bulun: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Products\<ProductSQUID>\Patches
      Bu alt anahtar altında, ürüne uygulanan her yazılım güncelleştirmesi için bir alt anahtar olacaktır.

    2. Aşağıdaki biçimdeki her alt anahtar için aşağıdaki adımı gerçekleştirin: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Products\<ProductSQUID>\Patches\<PatchSQUID>

      Aşağıdaki alt anahtarın var olduğunu doğrulayın:

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

      Alt anahtar eksikse ürün etkilenir. 2. adıma geçin.

      Alt anahtar varsa, LocalPackage dize değerinin doğru ayarlandığını ve LocalPackage dize değeri tarafından başvuruda bulunılan paketin de mevcut olduğunu doğrulayın.

      1. LocalPackage dize değeri veya başvuruda bulunan paket eksikse, ürün etkilenir. 2. adıma geçin.
      2. Başvuruda bulunan paket varsa ve ek bir eylem gerekli değilse.
  2. Yazılım güncelleştirmesi önbellek kayıt defteri ayrıntılarını yeniden oluşturun. Bunu yapmak için şu adımları uygulayın:

    1. Yüklemeye çalıştığınız yazılım güncelleştirmesini %windir%\installer\*.msp'de arayın. Yazılım güncelleştirmesinin Özet Bilgi Stream doğru Düzeltme Eki Genel Benzersiz Tanımlayıcısı'na (GUID) sahip olduğunu ve doğru ürün GUID'lerini hedeflediğini doğrulayın.

      Not

      Bu dizin, kullanıcı başına yüklemeler ve makine başına yüklemeler için önbellek işlevi görecek olduğundan, kullanıcı başına yükleme kullanarak bu dizindeki bir yazılım güncelleştirmesinin benzetimini yapabilirsiniz.

    2. Aşağıdaki alt anahtarı oluşturun: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Patches\<PatchSQUID>

      Not

      Yazılım güncelleştirme önbelleği kayıt defterini yeniden oluşturmak bir güvenlik riskidir. Ancak, bozulmayı onarmanın tek yolu budur. Yazılım güncelleştirmesinin doğru yazılım güncelleştirmesi olduğundan emin olarak güvenlik riskini azaltabilirsiniz. Bunu yapmak için yazılım güncelleştirmesinin sağlama toplamını doğrulayın.

    3. 2. adımda oluşturduğunuz kayıt defteri alt anahtarında bir LocalPackage dize değeri oluşturun. LocalPackage dize değerinin yazılım güncelleştirmesinin yoluna ayarlandığından emin olun.

  3. Kalan yazılım güncelleştirme başvurularını silin. Bunu yapmak için şu adımları uygulayın:

    1. Aşağıdaki alt anahtarı açın ve "AllPatches" multi-sz değerinden kaldırın <PatchSQUID> : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Products\<ProductSQUID>\Patches

    2. Aşağıdaki kayıt defteri alt anahtarını silin: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Products\<ProductSQUID>\Patches\<PatchSQUID>

    3. Aşağıdaki kayıt defteri alt anahtarını silin: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Patches\<PatchSQUID>

      Not

      Bu alt anahtar eksikse, bu adımı atlayın.

    4. Ürün makine başına yüklendiyse şu adımları izleyin:

      1. Aşağıdaki alt anahtarı açın: HKEY_LOCAL_MACHINE\Software\Classes\Installer\Products\<ProductSQUID>\Patches

        1. <PatchSQUID> Dize değeri varsa silin.
        2. <PatchSQUID> Dize değeri "Patches" Multi-sz değerinde varsa, dize değerini silin<PatchSQUID>.
      2. Aşağıdaki kayıt defteri alt anahtarı varsa silin: HKEY_LOCAL_MACHINE\Software\Classes\Installer\Patches\<PatchSQUID>

    5. Ürün kullanıcı başına yönetilmeyen bir şekilde yüklendiyse:

      1. Aşağıdaki kayıt defteri alt anahtarını açın: HKEY_CURRENT_USER\Software\Microsoft\Installer\Products\<ProductSQUID>\Patches

        1. <PatchSQUID> Dize değeri varsa silin.
        2. <PatchSQUID>"Patches" Multi-sz değerinden değeri varsa, kaldırın.
      2. Aşağıdaki kayıt defteri alt anahtarı varsa silin: HKEY_CURRENT_USER\Software\Microsoft\Installer\Patches\<PatchSQUID>

    6. Ürün kullanıcı başına yüklendiyse yönetilen:

      1. Aşağıdaki kayıt defteri alt anahtarını açın: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Managed\<SID>\Installer\Products\<ProductSQUID>\Patches

        1. <PatchSQUID> Dize değeri varsa silin.
        2. <PatchSQUID>"Patches" Multi-sz değerinden değeri varsa, kaldırın.
      2. Aşağıdaki kayıt defteri alt anahtarı varsa silin: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Managed\<SID>\Installer\Patches\<PatchSQUID>

Başvurular

Bu makale, Windows Update veya Microsoft Update tarafından oluşan sorunlara özgü değildir.