Windows'un belirli bir DLL dosyasını bulamadığını söyleyen bir hata aldığınızda, dosyayı oradaki birçok DLL sitesinden birinden indirmek çok cazip gelebilir. İşte neden yapmamalısınız.
DLL'ler nedir?
İLİŞKİLİ: Rundll32.exe Nedir ve Neden Çalışıyor?
İnternetten Dinamik Bağlantı Kitaplığı (DLL) dosyalarını neden indirmemeniz gerektiğine başlamadan önce, önce DLL dosyalarının ne olduğuna bir göz atalım. Bir DLL dosyası, Windows'ta belirli bir etkinliği gerçekleştirmek için bir dizi kod ve veri içeren bir kitaplıktır. Uygulamalar daha sonra bu DLL dosyalarını çağırabilir bu aktivitenin gerçekleştirilmesine ihtiyaç duyduklarında. DLL dosyaları, DLL dosyalarının doğrudan Windows'ta çalıştırılamaması dışında, çalıştırılabilir (EXE) dosyalara çok benzer. Başka bir deyişle, bir DLL dosyasını çift tıklayıp bir EXE dosyasıyla aynı şekilde çalıştıramazsınız. Bunun yerine, DLL dosyaları diğer uygulamalar tarafından çağrılmak üzere tasarlanmıştır. Aslında, aynı anda birden fazla uygulama tarafından çağrılmak üzere tasarlanmıştır. DLL adının "bağlantı" kısmı da başka bir önemli yönü göstermektedir. Birden çok DLL birbirine bağlanabilir, böylece bir DLL çağrıldığında, aynı anda birkaç başka DLL de çağrılır.
Windows'un kendisi, DLL'leri kapsamlı bir şekilde kullanır.
C: \ Windows \ System32
klasör size söyleyebilir. Bahsettiklerimizin bir örneği olarak, Windows sistem dosyası "comdlg32.dll" yi ele alalım. Genel İletişim Kutusu Kitaplığı olarak da bilinen bu dosya, Windows'ta gördüğünüz yaygın iletişim kutularının çoğunu oluşturmak için kod ve veriler içerir - dosya açma, belge yazdırma vb. Bu DLL'deki talimatlar, iletişim kutusu için gönderilen mesajların alınması ve yorumlanmasından, iletişim kutusunun ekranınızda nasıl göründüğünü belirlemeye kadar her şeyi ele alır. Açıkçası, birden fazla uygulama bu DLL'yi aynı anda arayabilir, aksi takdirde aynı anda birden fazla uygulamada bir iletişim kutusu (aşağıdaki gibi) açamazsınız.
DLL'ler kodun modülerleştirilmesine ve yeniden kullanılmasına izin verir, bu da geliştiricilerin sıradan veya genel işlevleri gerçekleştirmek için sıfırdan kod yazmak için zaman harcamaları gerekmediği anlamına gelir. Geliştiriciler uygulamalarıyla birlikte yüklemek için kendi DLL'lerini oluşturacak olsalar da, uygulamalar tarafından çağrılan DLL'lerin büyük çoğunluğu aslında Windows ile veya aşağıdaki gibi ekstra paketlerle paketlenmiştir: Microsoft ağ çerçevesi veya Microsoft C ++ Yeniden Dağıtılabilirleri . Kodun bu şekilde modüler hale getirilmesinin diğer büyük avantajı, güncellemelerin bir uygulamanın tamamı yerine her DLL'ye uygulanmasının daha kolay olmasıdır - özellikle bu DLL'ler uygulamanın geliştiricisinden gelmediğinde. Örneğin, Microsoft .NET Framework'teki belirli DLL'leri güncellediğinde, bu DLL'leri kullanan tüm uygulamalar güncellenmiş güvenlik veya işlevsellikten anında yararlanabilir.
İLİŞKİLİ: Microsoft .NET Framework Nedir ve Bilgisayarıma Neden Yüklü?
İndirilen DLL'ler Eski Olabilir
Öyleyse, kayışlarımızın altındaki DLL'leri biraz anlayarak, sisteminizde eksik olan DLL'leri neden İnternet'ten indirmiyorsunuz?
İndirilen DLL'lerde karşılaşacağınız en yaygın sorun, eski olmalarıdır. Dışarıdaki DLL sitelerinin çoğu, DLL'lerini yalnızca kendi bilgisayarlarından veya kullanıcılarının bilgisayarlarından yükleyerek alır. Muhtemelen sorunu zaten görebilirsiniz. Bu sitelerin çoğu yalnızca trafiğinizi ister ve bir DLL yüklendikten sonra, dosyanın güncel tutulmasını sağlamak için çok az teşvikleri vardır. Buna, satıcıların tipik olarak güncellenmiş DLL'leri tek tek dosyalar olarak herkese yayınlamadığını ve Deneyin dosyaları güncel tutmak pek başarılı olmayacaktır.
Ayrıca DLL'lerin genellikle paketlere entegre edilmesiyle ilgili başka bir sorun da vardır. Bir paketteki bir DLL güncellemesine genellikle aynı paketteki diğer, ilgili DLL'ler için yapılan güncellemeler eşlik eder; bu, pek olası olmayan bir durumda güncel bir DLL dosyası alsanız bile, aynı zamanda güncellendi.
İndirilen DLL'ler Etkilenebilir
Daha az yaygın olsa da, potansiyel olarak çok daha kötü bir sorun, satıcı dışındaki kaynaklardan indirdiğiniz DLL'lerin bazen bilgisayarınıza bulaşabilecek virüsler veya diğer kötü amaçlı yazılımlarla yüklenebilmesidir. Bu, özellikle dosyalarını nereden aldıkları konusunda çok dikkatli olmayan siteler için geçerlidir. Ve bu siteler size riskli kaynaklarını anlatmak için kendi yollarından çıkmayacaklar. Gerçekten korkutucu olan, virüslü bir DLL dosyasını indirirseniz, DLL dosyalarının doğası gereği, o dosyaya normal virüslü bir dosyanın alabileceğinden daha derin erişim sağlama riskini almanızdır.
İLİŞKİLİ: Windows 10 için En İyi Antivirüs Nedir? (Windows Defender Yeterince İyi mi?)
Buradaki iyi haber şu ki iyi, gerçek zamanlı antivirüs uygulaması genellikle bu virüslü DLL dosyalarını sisteminize kaydedilmeden önce tespit edebilir ve herhangi bir zarar vermelerini önleyebilir. Yine de, harika bir antivirüs programının bile size mükemmel koruma sağlamayabileceğini unutmamalısınız. Riskli dosyaları indirmeyi alışkanlık haline getirirseniz, bir noktada büyük olasılıkla sizi yakalar. Bu DLL sitelerinden kaçınmak en iyisidir.
Muhtemelen Zaten Sorununuzu Çözmeyecekler
Bilgisayarınızdaki yalnızca tek bir DLL dosyasının bozulmuş veya silinmiş olması mümkün olsa da, diğer DLL'lerin veya ilgili uygulama dosyalarının da bozuk veya eksik olması daha olasıdır. Belirli bir dosyayla ilgili bir hata almanızın nedeni, bunun uygulamanın çökmeden önce karşılaştığı ilk hata olması ve geri kalanı size bildirilmemesidir. Sorunun nedeni ne olursa olsun bu doğru olabilir.
DLL'ler neden eksik veya bozuk olabilir? Hatalı başka bir uygulama veya güncelleme dosyayı değiştirmeye çalışmış ve başarısız olmuş ya da eski bir kopya ile değiştirmiş olabilir. Ana uygulamanızın kurulumunda veya .NET gibi bir pakette bir hata olabilir. Hatta başka bir sorununuz da olabilir. sabit diskinizdeki bozuk sektörler - dosyanın doğru şekilde yüklenmesini engelliyor.
DLL Hatamı Nasıl Düzeltebilirim?
Kararlı, güncel ve temiz bir DLL elde etmenizi sağlamanın tek yolu, onu oluşturulduğu kaynaktan almaktır. Tipik olarak bu kaynak şu şekilde olacaktır:
İLİŞKİLİ: Windows'ta Bozuk Sistem Dosyaları Nasıl Taranır (ve Onarılır)
- Windows kurulum medyanız . Yükleme medyanızdan bir DLL dosyasını kopyalamanız olası değildir, ancak Windows'u yeniden yüklemek kadar sert bir şey yapmadan önce denemeniz için hızlı bir seçeneğiniz vardır. Yapabilirsin Windows Kaynak Koruması aracını kullanın (genellikle sistem dosyası denetleyicisi veya SFC olarak anılır), Windows'ta bozuk veya eksik sistem dosyalarını tarar ve düzeltir. Aracı çalıştırırken, oradan bir dosya kopyalamasının gerekmesi ihtimaline karşı kurulum medyanızı hazır bulundurmalısınız. (Kurulum diskiniz yoksa şunları yapabilirsiniz: buradan bir tane indirin .)
- Microsoft .NET Framework paketleri . .NET'in çeşitli sürümleri Windows ile birlikte otomatik olarak yüklenir ve birçok uygulama da bu paketlerdeki dosyaları yükler. Okuyabilirsin .NET çerçevesi hakkındaki makalemiz , ayrıca ilgili sorunları bulma ve onarma konusunda bazı tavsiyeleri de içerir.
- Çeşitli Microsoft Visual C ++ Yeniden Dağıtılabilir paketler . Kullandığınız uygulamalara bağlı olarak, bilgisayarınızda C ++ Yeniden Dağıtılabilir'in birden çok sürümü yüklü olabilir. Bazen hangisinin suçlu olduğunu daraltmak zor olabilir, ancak başlamak için iyi bir yer C ++ Yeniden Dağıtılabilirleri hakkındaki makalemiz Ayrıca, en güncel sürümleri doğrudan Microsoft'tan indirebileceğiniz çeşitli sorun giderme adımlarını ve bağlantılarını da içerir.
- DLL'nin geldiği uygulama . DLL, ayrı bir paketin parçası olmak yerine bir uygulama ile birlikte yüklendiyse, yapacağınız en iyi şey uygulamayı yeniden yüklemektir. Bazı uygulamalar tam yeniden yükleme yerine onarım yapmanıza izin verir. Bir onarım genellikle yükleme klasörlerindeki eksik dosyaları aradığından her iki seçenek de çalışmalıdır.
Bunların hepsi başarısız olursa, uygulama satıcısıyla iletişime geçebilir ve tek bir DLL dosyasının bir kopyasını talep edebilirsiniz. Bazı firmalar bu talebe açıktır; bazıları değildir. Tek tek dosyalar sağlamayan bir şirketle karşılaşırsanız, en azından sorununuzu çözmek için başka öneriler sunabilirler.