CTP'den bu yana Windows 7'nin 64 bit sürümünü kullanıyorum ve C:\Program Files (x86)
klasöre yüklenen uygulamalarda birkaç sorunla karşılaştım . Zaten 2 ayrı Program Files dizinine sahip olmanın amacı nedir?
Yüklediğim her program C:\Program Files (x86)
klasöre girdi . Uygulamanın 32 veya 64 bit olması önemli değil. Neden 64 bit uygulamalar yerleştirilmiyor C:\Program Files
?
C:\Program Files
Bunun yerine varsayılanı değiştirmenin bir yolu var mı ? Eğer herşeyi koyarsam bir şeyleri karıştırır C:\Program Files
mıydı?
Gerçekten de 64 bit uygulamalar için ayrı bir klasöre sahip olmanın bir yararı varsa, C:\Program Files
x86 uygulamaları için daha mantıklı varsayılanların kullanılması C:\Program Files (x64)
ve yeni 64 bit uygulamalar için yeni bir klasör oluşturulması gibi görünüyor . Bu geriye dönük uyumluluğun korunmasına yardımcı olur. Bir yazılım geliştiricisi olarak çalışıyorum ve bazı projelerim altında kütüphanelere yol referansları içeriyor C:\Program Files
. Şimdi bu referanslar, onları yerleştiren Windows 7 makinesinde bozuldu C:\Program Files (x86)
. Hatta yükleyicideki hedef konumu değiştirmeye çalıştım C:\Program Files
, ancak bu göz ardı edildi ve uygulama C:\Program Files (x86)
yine de gitti .
Bu çok sinir bozucu çünkü 32 ve 64 bit makineler arasında kaynak kodunu paylaşmam gerekiyor ve bu kitaplıkların yolunu farklı makinelerde farklı şekilde ayarlayan bazı yapılandırma dosyasıyla uğraşmak istemiyorum.
Ortam değişkenleri ile ilgili Düzenleme: (. Basitlik için değişkenlerin İngilizce varsayılan değerlere sadece kullanma) 64 bit makinede %ProgramFiles%
olacak C:\Program Files
yepyeni değişken iken %ProgramFiles(x86)%
olacaktır C:\Program Files (x86)
. Bu nedenle, altında yükleneceği klasör yolunu bulması gereken 32 bit bir programınız varsa, sırayla Windows'un 32 bit veya 64 bit Windows sürümünde çalışıp çalışmadığını kontrol etmeniz gerekir. hangi ortam değişkeninin kullanılacağını bilmek. 64 bitlik bir makinede düzgün çalışması için bu dikkate alınmadan yazılmış 32 bitlik uygulamaların güncellenmesi gerekir. Böylece ortam değişkenleri kullanılsa bile geriye dönük uyumluluk bozulur.
Ayrıca, %ProgramFiles(x86)%
Windows'un 32 bit sürümlerinde yoktur. Eğer öyleyse, 32 bit uygulamalar her zaman bu ortam değişkenini kullanabilir ve hangi işletim sistemi üzerinde çalıştıklarına bağlı olarak herhangi bir koşullu mantığa ihtiyaç duymazdı.
%ProgramFiles%
Ortam değişkenini kullanmanın bunu çözüp çözemeyeceğini merak ediyorum . X86 / 64bit farkını nasıl işlediğinden emin değilim.