Aracılığıyla paylaş


MSI yazılım güncelleştirmesi kayıt bozulması sorunlarını düzeltme

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

Ö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ıyorum.
...
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 fark edebilirsiniz: 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ı dikkatli bir şekilde izlediğinizden emin olun. Daha fazla koruma için değiştirmeden önce kayıt defterini yedekleyin. Daha sonra, bir sorun oluştuğunda kayıt defterini geri yükleyebilirsiniz.

Bu sorunu düzeltmek için şu adımları izleyin:

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

    Bunu yapmak için aşağıdaki adımları izleyin:

    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 bulunılan 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. Bunun için aşağıdaki adımları izleyin:

    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 Akışı'nda 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 dizinde 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 aşağıdaki adımları izleyin:

    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 mevcutsa 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 ş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.