32 Bit Uygulamalar da Program Files (64 Bit) Klasörünü Bulma

Merhabalar; Bir projemiz de 32 Bit derlenmiş bir uygulamamız mevcut, ve C:\Program Files(x86) klasörün de çalışıyor, fakat başka 64 bit bir uygulama C:\Program Files klasöründe bulunuyor ve bizim ona ulaşmamız gerekiyordu, tek bir bilgisayara özel bir durum olmadığı için de global bir şey yapmamız gerekliydi.

Normal şartlarda SpecialFolder enum kullanarak Program Files klasörünü bulmaya çalıştığımız da uygulamamız 32 bit olduğu için bize x86 klasörünü çağıracaktır.

Buna geçici bir çözüm olarak aşağıdaki şekilde kullanabilirsiniz.

var pf = Environment.GetEnvironmentVariable("ProgramW6432");
if (string.IsNullOrEmpty(pf86))
    pf = Environment.GetFolder(Environment.SpecialFolder.ProgramFiles)

Burada pf 64 bit klasörü döner, fakat çalıştığınız Windows gerçekten 32 bit ise bu durumda bu kod Null döner ve hataya düşer, bu durumuda düzeltmek için if koşulu ile Program Files klasörü çağrılıyor.

IT alanında 16 sene önce donanım ile başlayan tecrübem, network ve sonrasında iş analizi, yazılım geliştirme ve proje yöneticiliği alanlarında devam etmiştir. Endüstriyel yazılımlar, sahadan veri toplama ve analizleri, otomatik etiketleme ve barkod sistemleri, otomatik tartım ve robotik konularında tecrübe sahibiyim. Sanayi 4.0 kapsamında imalat sanayinin dijital dönüşümünde çok fazla projenin hayata geçmesini sağladım. Open Source projelerle uzun süre ilgilendim, analiz ve implementasyonu konularında tecrübe edindim. Bunlar dışında hobi amacıyla başlasam da sonradan ürüne dönüşen, geliştirme kartları ile farklı çalışmalarım olmuştur. Raspberry Pi üzerinde yaptığım donanımsal ve yazılımsal işler ile çok farklı ürünler ortaya çıkartarak tecrübe edindim.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these <abbr title="HyperText Markup Language">HTML</abbr> tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>