DLL'ler genellikle ayrı bir program gibi yüklenmez. Windows bir dosyanın eksik olduğunu bildirirse, doğru yol onu hangi bileşenin sağlaması gerektiğine bağlıdır: programın kendisi, Visual C++ Redistributable, DirectX veya Windows. Dosyayı indirip sistem klasörüne kopyalayarak başlamayın. Bu rehberde üç pratik yöntem yer alır: sağlayan bileşeni geri yüklemek, Windows'u kontrol etmek ve DLL tanılaması yapmak. Her yöntemden sonra hatanın oluştuğu programın veya oyunun açılıp açılmadığını kontrol edin.

DLL'yi elle yüklemek gerçekten gerekli mi?

DLL, uygulamanın bağımlılıklarıyla birlikte yüklediği bir kitaplıktır; evrensel bir yükleme paketi değildir. Bu nedenle xxx.dll dosyasını indirip System32 klasörüne koymak genellikle sorunun nedenini çözmez. Dosya başka DLL'lere ihtiyaç duyabilir, uygulama sürümüyle uyuşmayabilir veya farklı bir mimariye sahip olabilir.

Gereken Güvenli yöntem
Belirli bir programa ait DLL Programı resmî kaynaktan yeniden yükleyin
vcruntime, msvcp, msvcrİlgili Microsoft Visual C++ Redistributable bileşenini yükleyin veya onarın
d3dx9, xinput, d3dcompilerResmî DirectX bileşenini geri yükleyin veya oyunu yeniden yükleyin
Windows sistem DLL'si Önce DISM'i, ardından SFC'yi çalıştırın
Geliştiriciden gelen ayrı bir DLL Geliştiricinin belgelerini tam olarak izleyin
İnternetten gelen bilinmeyen DLL Elle yüklemeyin

DLL yükleme: yöntemlerin hızlı karşılaştırması

Yöntem En uygun olduğu durum Etkililik Kullanıcı çabası
Bileşeni yükleme veya programı yeniden yükleme Tek bir uygulamadaki hata veya bilinen kitaplık adı Doğru bileşen belirlendiğinde yüksek Düşük
DISM ve SFC Birden çok programdaki hatalar ve sistem DLL'leri Windows bileşenleri için yüksek Orta
Fionn DLL Fixer Neden belirsizse veya DLL'ler ile bağımlılıkların kontrol edilmesi gerekiyorsa Otomatik tanılama ve düzeltme Düşük

Yöntem 1: bileşeni yükleyin veya programı yeniden yükleyin

Ne zaman kullanılmalı: Hata yalnızca bir programda görünüyorsa veya dosya adı bilinen bir çalışma zamanını gösteriyorsa. Örneğin vcruntime140.dll için ayrı dosya aramayın: Microsoft Visual C++ Redistributable bileşenini yükleyin veya onarın. d3dx9, xinput ve d3dcompiler için oyunun resmî yükleyicisini ya da resmî DirectX bileşenini kullanın.

  1. Hata iletisindeki DLL'nin tam adını ve programın adını not edin.
  2. Hata yalnızca bir programla ilgiliyse Ayarlar → Uygulamalar → Yüklü uygulamalar bölümünü açın.
    Windows'ta yüklü uygulamalar bölümü
  3. Sorunlu programı kaldırın veya varsa resmî onarım işlevini kullanın.
  4. Yükleyiciyi yalnızca geliştiricinin resmî sitesinden ya da programı edindiğiniz mağazadan indirin.
  5. Programı veya belirtilen bileşeni yükleyin ve programı yeniden başlatın.

Kontrol: Program, “DLL not found” iletisi olmadan açılır. Yükleyici yine aynı dosyayı isterse bileşenin uygulama mimarisine uygun sürümünün seçildiğini kontrol edin: 32 bit program için x86, 64 bit program için x64.

DLL nereye yüklenir: System32 mi, SysWOW64 mü?

Klasörü yalnızca adına bakarak seçmeyin. 64 bit Windows'ta System32 64 bit sistem kitaplıklarını, SysWOW64 ise 32 bit sistem kitaplıklarını içerir; adları tarihsel nedenlerle ters görünebilir. Ancak Windows DLL'leri tek bir sabit klasörde aramaz: uygulama klasörü, sistem klasörleri ve izin verilen diğer arama yolları kullanılır. Ayrıca DLL'nin kendisi başka kitaplıklara bağımlı olabilir.

DLL'yi regsvr32 ile kaydetmek gerekli mi?

Hayır, varsayılan olarak gerekli değildir. regsvr32 bir DLL yükleyicisi değildir: yalnızca uygun kendi kendine kayıt özelliğini destekleyen DLL ve OCX dosyalarıyla çalışır. Sıradan bir eksik DLL hatası, kayıt gerektiği anlamına gelmez. regsvr32 komutunu yalnızca programın geliştiricisi veya resmî belgeleri belirli bir dosyanın kaydedilmesini açıkça istiyorsa ve uygun komutu veriyorsa kullanın.

Yöntem 2: Windows sistem dosyalarını geri yükleyin

Ne zaman kullanılmalı: Aynı hatalar birbiriyle ilgisiz birden fazla programda oluşuyorsa, Windows çökmesinden sonra veya sistem bileşenlerinin bozulduğundan şüpheleniliyorsa. Microsoft önce DISM'in, ardından SFC'nin çalıştırılmasını önerir.

DISM.exe /Online /Cleanup-image /Restorehealth komutu
  1. Windows Terminali'ni (Yönetici) açın.
  2. Komutu çalıştırın ve tamamlanmasını bekleyin:
    DISM.exe /Online /Cleanup-image /Restorehealth
        
  3. DISM'den sonra aşağıdaki komutu çalıştırın:
sfc /scannow
  
  1. Windows dosyaların düzeltildiğini bildirirse bilgisayarı yeniden başlatın.
  2. Sorunlu uygulamayı yeniden çalıştırın.

Kontrol: SFC taramayı tamamlar ve sonucu bildirir; uygulama da önceki hata olmadan açılır. Ayrıntılar Microsoft'un SFC ve DISM yönergelerinde bulunur.

Yöntem 3: Fionn DLL Fixer ile DLL'leri ve sistem bileşenlerini kontrol edin

Ne zaman kullanılmalı: Eksik, bozuk veya uyumsuz DLL'leri, System32 sorunlarını ya da DirectX, Visual C++, .NET, OpenAL ve XInput bağımlılıklarını tanılamak gerektiğinde ve bileşeni elle belirlemek uzun sürdüğünde. Windows için Fionn DLL Fixer tarama, düzeltme ve yeniden kontrol işlevlerini destekler.

  1. Fionn DLL Fixer'ı başlatın ve otomatik DLL ile sistem sorunları taramasının tamamlanmasını bekleyin. Fionn DLL Fixer'ı başlatma
  2. Tarama tamamlandıktan sonra bulunan sorunların düzeltilmesini başlatmak için Repair düğmesine tıklayın. Tarama tamamlandıktan sonra algılanan DLL ve sistem sorunlarını otomatik olarak düzeltmek için Repair düğmesine tıklama
  3. İşlemin tamamlanmasını bekleyin; işlem sırasında düğmede Fixing yazısı görünür. Onarım işlemi sürerken bekleme
  4. Onay iletişim kutusunda Ok düğmesine tıklayın; istenirse bilgisayarı yeniden başlatın. Onarım tamamlandığında onay iletişim kutusunda Ok düğmesine tıklama
  5. Hata yeniden başlatmadan sonra sürerse Recheck düğmesine tıklayın; yeni sorunlar bulunursa yeniden Repair seçeneğini kullanın. Sorun yeniden başlatmadan sonra devam ederse tekrar taramak için Recheck düğmesine tıklama

Kontrol: Yeniden taramada önceki sorun görünmez ve uygulama açılır. Bu yöntem tanılamayı kolaylaştırır; ancak programın kendi dosyaları bozuksa ilgili programın yeniden yüklenmesinin yerini tutmaz.

Sonuç

DLL'yi doğru şekilde yüklemek için önce ayrı bir dosyanın konacağı klasörü değil, onu sağlayan bileşeni belirleyin. Hata tek bir programdaysa programı veya resmî çalışma zamanını yeniden yükleyin; sistem hataları birden çok programda görülüyorsa önce DISM'i, ardından SFC'yi çalıştırın. Hatanın kaynağı belirsizse ve DLL'ler, sistem yolları ile oyun bağımlılıklarının kontrol edilmesi gerekiyorsa Fionn DLL Fixer kullanın. Sonuç yalnızca sorunlu programın başarıyla açılmasıyla doğrulanır. İleti değişmezse tam metnini kaydedin ve geliştiricinin resmî desteğine başvurun.

Sık sorulan sorular

DLL'yi program klasörüne koyabilir miyim?

Yalnızca geliştiricinin resmî belgeleri, programın belirli sürümü için bunu açıkça söylüyorsa. Diğer durumlarda programı veya çalışma zamanını yeniden yükleyin; böylece uyumlu bağımlılık kümesi geri yüklenir.

64 bit DLL neden otomatik olarak SysWOW64'e gitmemelidir?

64 bit Windows'ta SysWOW64 klasörü 32 bit sistem kitaplıkları içindir. Ancak DLL'ler arama kurallarına göre yüklendiği ve başka dosyalara bağımlı olabileceği için klasörü elle seçmek yine evrensel bir çözüm değildir.

regsvr32 komutu ne zaman gerekir?

Yalnızca kendi kendine kayıt özelliğini destekleyen DLL veya OCX dosyaları için ve geliştiricinin açık talimatıyla gerekir. Eksik DLL iletilerinin çoğunu düzeltmez.

vcruntime140.dll için ne yapmalıyım?

Resmî kaynaktan ilgili Microsoft Visual C++ Redistributable bileşenini yükleyin veya onarın ya da bu dosyayı isteyen programı yeniden yükleyin. Resmî olmayan bir katalogdan tek başına dosya indirmeyin.

Hem DISM'i hem SFC'yi çalıştırmalı mıyım?

Microsoft, sistem dosyalarını geri yüklemek için DISM ardından SFC sıralamasını önerir. Bu komutlar, ayrı bir programın dosyalarını yeniden yüklemenin yerini tutmaz.