Windows eksik dll yükleme
Bir DLL dosyasının nasıl yükleneceğini bilmeniz mi gerekiyor? Bu makalede, bir .dll dosyasının eksikliği gibi, Windows’ta programları açarken karşımıza çıkan en büyük sorunlardan birini nasıl çözeceğimizi ele alıyoruz. Bu dosyaların neye özel olduğunu, sistemimizde ve programlarımızda onları bu kadar önemli ve kritik kılan şeyleri ve programlarımızı normal olarak yürütmek için bunları hangi yollarla yükleyebileceğimizi göreceğiz. Hadi çalışmaya başlayalım!
.Dll nedir ve ne işe yarar?
DLL, Dynamic Link Library veya Dinamik Bağlantı Kütüphanesi‘nin kısaltmasıdır. Adından da anlaşılacağı gibi, bir tür kütüphanedir. Programlamada, kütüphaneler diğer programların çalışması gereken bir dizi kod ve kaynaktan oluşur. Böylece, kodun yeniden kullanılmasına izin verilir ve programcıya birçok tesis sağlar ve programlara daha fazla verimlilik verilir.
Bir kütüphane ile, programcıların diğer programlarda zaten kullanılan bir işlevi her kullanmak istediklerinde “tekerleği icat etme” konusunda endişelenmeleri gerekmez. Örneğin, işletim sistemi ile dosyaları açmak, karmaşık matematiksel işlemler yapmak gibi kütüphane işlemlerinin listesi neredeyse sonsuzdur.
Ve .dll dosyaları nelerdir? Temel olarak, ana işletim sistemlerinde iki tür kütüphane vardır:
- Statik: Bunları kullanan programlar, yürütülebilir dosyanın içinde kitaplık kodunu içerecektir. Yapabileceğimiz en basit şey bu, çünkü bu şekilde dış bağımlılıklar olmayacak, ancak programın kendi “.exe dosyası” her şeye sahip olacak.
- Dinamik: Yürütülebilir dosya, ihtiyaç duyduğu kitaplık koduna sahip olmayacaktır. Bunun yerine, onu içeren harici bir dosyadan almanız gerekir.
DLL dosyaları, Windows’ta ve .NET uygulamalarında (yani Mac veya Linux’ta da bulabiliriz) kullanılan dinamik kitaplık türüdür. Dinamik bir kitaplık kullanmanın birçok avantajı olduğu için yaygın olarak kullanılırlar. Aynı DLL dosyasını birkaç program için kullanabilir, yeniden kullanımı iyileştirebilir ve bir kitaplığı programdan bağımsız olarak güncelleyebiliriz.
Bir programı açma anında DLL dosyası içeren dinamik bir kitaplık yüklenir. Eğer ilgili DLL bizde yoksa, program çalışmayacaktır. Bunun yerine, kod derleme zamanında statik bir kitaplık yüklenir. Normal kullanıcılar olarak, derlemenin sonucunu (exe dosyası) indirdiğimiz için derlemeden sorumlu değiliz.
Bu aynı zamanda RAM belleğinden tasarruf etmemizi sağlar. Dosyaları açmak veya kaydetmek gibi hemen hemen her programın yaptığı bir şeyi düşünelim. Her birinin kendi statik kitaplığı olduğunu hayal edebiliyor musunuz? RAM ve çalışma zamanı kaybı olur!
Tabii ki, DLL’lerin büyük avantajları olduğu gibi dezavantajları da vardır… Windows’ta “DLL Hell” olarak adlandırılan durumlar meydana gelir: DLL dosyalarının eksik olması, sürümlerinin yanlış olması yaygındır. Kısacası bir felaket ve bir karmaşa. Bu nedenle, bu tür dosyalarla ilgili sorunlar çok yaygın hale gelir.
Windows’ta bir DLL dosyası nasıl kurulur?
Esasen, Windows’ta bir DLL dosyasını nasıl kuracağımızı düşünmemeliyiz. Bunun yerine, çalıştırmak istediğimiz program tarafından okunabilmesi için DLL dosyasının doğru konumda olması gerekir.
Yani, DLL dosyasını “kurmaktan” öte, yapmamız gereken onu doğru yere yerleştirmek. Yapmamız gereken ilk şey, ihtiyacımız olanlara sahip olmak için dll dosyalarını indirmek. Ve hangi DLL’ye ihtiyacımız var? Normalde, eksik DLL açıkça belirtilir.
Her şeyden önce, bize genellikle söylendiği gibi, bir DLL dosyasını nasıl kuracağımıza bakmadan ve bunun yerine programı yeniden yükleyerek dosyalarımızdaki sorunu çözebileceğimizdir. Bu özellikle, eksik DLL dosyasının çoğunlukla küçük bir yükleme hatasından kaynaklandığı yeni programlar için geçerlidir. DLL’ler genellikle bazı “küçük programlarda” veya korsan indirmelerde de bulunmaz.
Bununla birlikte, sorunu bu şekilde çözmek istiyorsanız, programın kurulu olduğu yere gitmelisiniz ve normalde DLL’lerin yerleştirildiği yer exe dosyalarının yanındadır.
Bir programın konumunu bulmak için arama menüsünde kısayolunu arayın, sağ tıklayın ve “Dosya konumunu aç”ı tıklayın. .exe klasörüne girdikten sonra iki ana seçenek vardır. DLL’ler için bir “lib” adında bir klasör olabilir veya DLL’ler direkt .exe dosyasının yanında olabilir.
Bu seçeneklerden biri doğruysa, DLL dosyasını diğerlerinin bulunduğu yere sürükleyin. Hiçbirini görmüyorsanız, program klasöründe bırakmayı deneyebilir ve şimdi çalışıp çalışmadığını görebilirsiniz. Çalışmazsa, bir sonraki yöntemimizi deneyin.
Windows System32 / SysWOW64’e bir DLL dosyası yükleyin
Bir DLL dosyasının nasıl kurulacağının diğer yöntemi, onu doğrudan System32 ve SysWOW64 klasörlerinde yapmaktır.
Bu yöntem ile önceki yöntem arasındaki fark, burada DLL dosyasını yalnızca sorunlu olan program için değil, tüm sistem için “yükleyeceğiz”. Böylece, ihtiyacı olan diğer herhangi bir program onu aynı klasörde bulabilecektir. Çoğu zaman, eksik DLL’lere daha fazla program ihtiyaç duymaz, ancak DLL’yi koyacak başka bir yer bulamazsanız, bu yapılacak en iyi şeydir.
Ve System32 ve SysWOW64 arasındaki fark nedir? Nerede olduklarını görmeden önce bu soruyu cevaplayalım: System32, 64-bit program kitaplıklarını depolamak için tasarlanmıştır. 32 bit bilgisayarlarda, 32 bit kitaplıklar olacaktır. SysWOW64, 32-bit program kitaplıklarını 64-bit bir bilgisayarda depolar. Evet, geriye doğru, ama gerçekten öyle.
Bu klasörlerin konumu aşağıdaki gibidir:
C:\Windows\System32
C:\Windows\SysWOW64
Bu klasörlere erişmek için Windows Gezgini’nde Yerel Disk (C:) içine gidin.
System32 normalde çoğu programın DLL’lerini bulduğu konumdur. Aslında, SysWOW64 yerine 64 bit için kullanılmasının nedeni budur: programlar, on yıllardır kütüphaneleri için bu klasöre bakmaktadır. Bu yüzden normalde onu System32’ye ayarlamak çalışmalıdır. Değilse, SysWOW64’ü deneyin.
DLL’lerin güzel yanı, sadece bir dosya koymaktan bahsettiğimiz için, onu gerekli olmayan bir klasörde bırakmakta sorun yok. Bu, programı çalıştırana kadar birçok test yapmamızı sağlar. DLL çalışmadığından, gereksiz yere “yer kaplar”, ancak DLL’lerin boyutu genellikle yalnızca birkaç MB veya KB’dir.
DLL dosyaları, herhangi bir Windows işletim sisteminin temel bir parçasıdır. Herhangi bir programın çalıştırması gereken dinamik kitaplıklardan oluşurlar ve bazen bir programın buna ihtiyacı olduğu için bilgisayarımıza bir DLL dosyası yüklememiz gerekebilir. Bahsettiğimiz gibi, gerçekten yapılan şey DLL dosyasını “kurmak” değil, onu programın bulabileceği bir yere yerleştirmek.
Bu makalenin, DLL dosyalarınızı doğru bir şekilde bulmanıza ve bir programı açarken sorunları tamamen unutmanıza yardımcı olduğunu umuyoruz.