DLL Dosyaları Nedir ve Neden Bir Bilgisayarımdan Eksik?
Windows'un belirli bir DLL dosyasını bulamadığını söylerken bir hata aldığınızda, dosyayı oradaki birçok DLL sitesinden birinden indirmek oldukça çekici olabilir. İşte bu yüzden yapmamalısın.
DLL Nedir??
Dinamik Bağlantı Kitaplığı (DLL) dosyalarını neden İnternetten indirmemeniz gerektiğine başlamadan önce, ilk önce DLL dosyalarına bakalım. DLL dosyası, Windows'ta belirli bir etkinliği gerçekleştirmek için bir kod ve veri kümesi içeren bir kütüphanedir. Uygulamalar daha sonra gerçekleştirilen aktiviteye ihtiyaç duyduklarında bu DLL dosyalarını arayabilirler. DLL dosyaları yürütülebilir (EXE) dosyalara çok benzer, ancak DLL dosyaları doğrudan Windows'ta yürütülemez. Başka bir deyişle, bir EXE dosyasını yaptığınız gibi çalıştırmak için bir DLL dosyasını çift tıklayamazsınız. Bunun yerine, DLL dosyaları diğer uygulamalar tarafından çağrılmak üzere tasarlanmıştır. Aslında, bir kerede birden fazla uygulama tarafından çağrılmak üzere tasarlanmıştır. DLL adının “link” kısmı da başka bir önemli yönü öne sürüyor. Birden fazla DLL bir araya getirilebilir, böylece bir DLL çağrıldığında, aynı zamanda birkaç DLL de çağrılabilir..
Windows’un kendisi, DLL’leri kapsamlı bir şekilde C: \ Windows \ System32
Klasör size söyleyebilir. Neden bahsettiğimizin bir örneği olarak, Windows sistem dosyasını “comdlg32.dll” olarak düşünelim. Aksi takdirde Ortak İletişim Kutusu Kitaplığı olarak bilinen bu dosya, içinde gördüğünüz ortak iletişim kutularının çoğunu oluşturmak için kod ve veriler içerir. Dosyaları açma, belgeleri yazdırma ve benzeri işlemler için Windows iletişim kutuları. Bu DLL'deki talimatlar, iletişim kutusunun ekranınızda nasıl görüneceğini belirlemeye kadar, iletişim kutusu için amaçlanan iletilerin alınmasından ve yorumlanmasından her şeyi işler. Açıkçası, bu DLL dosyasını aynı anda birden fazla uygulama çağırabilir, aksi halde aynı anda birden fazla uygulamada bir iletişim kutusu açamazsınız (aşağıdaki gibi).
DLL'ler kodun modülerleştirilmesine ve yeniden kullanılmasına izin verir, bu da geliştiricilerin sıradan veya ortak işlevler gerçekleştirmek için sıfırdan kod yazmaya zaman harcamak zorunda kalmayacakları anlamına gelir. Ve geliştiriciler uygulamaları ile birlikte kurmak için kendi DLL'lerini oluşturacak olsa da, uygulamalar tarafından çağrılan DLL'lerin büyük çoğunluğu aslında Windows veya Microsoft .NET Framework veya Microsoft C ++ Yeniden Dağıtılabilirleri gibi ek paketlerle birlikte gelir. Bu şekilde modülerleştirme kodunun diğer büyük avantajı, güncellemelerin bir uygulamanın yerine tüm DLL'lere uygulanmasının daha kolay olmasıdır - özellikle bu DLL'ler uygulamanın geliştiricisinden gelmediğinde. Örneğin, Microsoft .NET Framework'deki belirli DLL'leri güncellediğinde, bu DLL'leri kullanan tüm uygulamalar güncelleştirilmiş güvenlik veya işlevlerden hemen yararlanabilir.
İndirilen DLL'ler Eski Olabilir
Öyleyse, bizim kemerlerimiz altındaki DLL'leri biraz anlayarak, sisteminizden bir tane eksikken neden internetten indirmiyorsunuz??
Karşıdan yüklenen DLL dosyalarında karşılaşacağınız en yaygın sorun, eski olmalarıdır. DLL sitelerinin çoğu orada kendi DLL'lerini sadece kendi bilgisayarlarından ya da kullanıcılarının bilgisayarlarından yükleyerek alırlar. Muhtemelen sorunu zaten görebilirsiniz. Bu sitelerin çoğu yalnızca trafiğinizi istiyor ve bir DLL yüklendikten sonra dosyanın güncel kalmasını sağlamak için çok az teşvikleri var. Satıcıların genellikle güncellenmiş DLL'leri tek tek dosyalar olarak herkese yayımlamadıklarını ve bu sitelerin kim olduğunu bile görebilirsiniz. Deneyin dosyaları güncel tutmak çok başarılı olmayacak gibi görünüyor.
Ayrıca, DLL'lerin genellikle paketlere entegre edilmesiyle ilgili başka bir sorun var. Bir pakette bir DLL güncellemesine genellikle aynı paketteki diğer ilgili DLL'lerde yapılan güncellemeler eşlik eder, bu da olası bir durumda bile güncel bir DLL dosyası almazsanız, aynı zamanda bir de ilgili dosyaları almazsınız. 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üslere ya da diğer kötü amaçlı yazılımlara yüklenebilmesidir. Bu, özellikle dosyaları nereden aldıkları konusunda çok dikkatli olmayan siteler için geçerlidir. Ve bu siteler size riskli kaynaklarını anlatmak için kullanmayacaklar gibi değil. Gerçekten korkutucu kısım, eğer virüslü bir DLL dosyası indirirseniz, DLL dosyalarının doğası gereği risk alırsınız, bu dosyaya normal virüslü bir dosyadan daha derine erişim.
Buradaki iyi haber, iyi ve gerçek zamanlı bir virüsten koruma uygulamasının, bu virüslü DLL dosyalarını sisteminize kaydetmeden önce algılaması ve zarar görmelerini engellemesidir. Yine de, harika bir virüsten koruma programının bile size mükemmel koruma sağlayamayacağını unutmayın. Riskli dosyaları indirme alışkanlığı yaparsanız, bir noktada size yetişebilir. Sadece bu DLL sitelerinden kaçınmak en iyisidir.
Muhtemelen Sorununu Çözmeyecekler
Bilgisayarınızdaki sadece tek bir DLL dosyası bozulmuş veya silinmiş olabilirken, diğer DLL dosyalarının veya ilgili uygulama dosyalarının bozuk ya da eksik olması daha olasıdır. Belirli bir dosyayla ilgili bir hata almanın sebebi, bir uygulamanın çökmeden önce karşılaştığı ilk hatadır ve gerisini size bildirmemiş olmanızdır. Sorunun nedeni ne olursa olsun bu doğru olabilir.
Neden DLL eksik veya bozuk olabilir? Başka bir hatalı uygulama veya güncellemenin dosyayı değiştirmeye çalıştığını ve başarısız olduğunu veya güncel olmayan bir kopya ile değiştirildiğini olabilir. Ana uygulamanızın kurulumunda veya .NET gibi bir pakette hata olabilir. Dosyanın doğru şekilde yüklenmesini engelleyen, sabit diskinizde sorunlu bir kötü sektör daha yaşıyor olabilirsiniz..
DLL Hatası Nasıl Düzeltebilirim?
İstikrarlı, güncel ve temiz bir DLL dosyası edinmenizi sağlamanın tek yolu, kaynaklandığı kaynaktan elde etmektir. Genellikle, bu kaynak:
- Windows kurulum medyanız. Muhtemelen bir DLL dosyasını kurulum medyanızdan kopyalamanız mümkün değildir, ancak Windows'u yeniden inşa etmek kadar sert bir şey yapmadan önce denemek için hızlı bir seçeneğiniz vardır. Windows'ta bozuk veya eksik sistem dosyalarını tarayacak ve düzelten Windows Kaynak Koruma aracını (genellikle sistem dosyası denetleyicisi veya SFC olarak adlandırılır) kullanabilirsiniz. Bir dosyayı oradan kopyalaması gerektiğinde, aracı çalıştırırken yükleme medyanızın kullanışlı olması gerekir. (Bir yükleme diskiniz yoksa, buradan indirebilirsiniz.)
- Microsoft .NET Framework paketleri. Birkaç .NET sürümü Windows ile birlikte otomatik olarak yüklenir ve birçok uygulama da bu paketlerden dosya yükler. İlişkili sorunları bulma ve onarma konusunda da bazı önerilerde bulunan .NET çerçevesi hakkındaki makalemizi okuyabilirsiniz..
- Çeşitli Microsoft Visual C ++ Yeniden Dağıtılabilir Paketleri. Kullandığınız uygulamalara bağlı olarak, bilgisayarınızda yüklü C ++ Yeniden Dağıtılabilir sürümünün birden çok sürümü olabilir. Bazen suçlu olanı daraltmak zor olabilir, ancak başlamak için iyi bir yer, en güncel sürümleri doğrudan Microsoft'tan indirebileceğiniz birkaç sorun giderme adımı ve bağlantısı da içeren C ++ Yeniden Dağıtılabilir Metinler makalemizdir..
- DLL ile birlikte gelen uygulama. DLL, ayrı bir paketin parçası olmak yerine bir uygulamayla birlikte yüklendiyse, en iyi seçeneğiniz uygulamayı yeniden yüklemektir. Bazı uygulamalar tam yeniden yükleme yerine tamirat yapmanızı sağlar. Her iki seçenek de çalışmalıdır, çünkü bir onarım tipik olarak kurulum klasörlerinde eksik dosyaları arar..
Tüm bunlar başarısız olursa, uygulama satıcısına başvurabilir ve ayrı bir DLL dosyasının bir kopyasını isteyebilirsiniz. Bazı şirketler bu talebe açık; bazıları değil. Bireysel dosyalar sağlamayan bir şirkete rastlarsanız, en azından sorununuzu çözmek için başka önerilerde bulunabilirler.