SORU
13 EKİM 2008, PAZARTESİ


Neyi nasıl algılamak için .NET Çerçeve sürümleri ve hizmet paketleri yüklü mü?

Benzer bir soru here ama özel olduğunu sordu .NET 3.5. Özellikle, aşağıdaki arıyorum:

  1. Ne belirlemek için doğru yoldur .NET Çerçeve sürümleri ve hizmet paketleri yüklü mü?
  2. Kullanılan kayıt defteri anahtarları listesi var mı?
  3. Çerçeve sürümleri arasında herhangi bir bağımlılık var mı?

CEVAP
14 EKİM 2008, Salı


Kayıt the official way Çerçeve belirli bir sürümü yüklü olup olmadığını tespit etmektir.

enter image description here

Anahtarları Değişikliği Çerçeve sürümüne ihtiyaç duyulan arıyoruz:

Framework Version  Registry Key
------------------------------------------------------------------------------------------
1.0                HKLM\Software\Microsoft\.NETFramework\Policy\v1.0\3705 
1.1                HKLM\Software\Microsoft\NET Framework Setup\NDP\v1.1.4322\Install 
2.0                HKLM\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727\Install 
3.0                HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.0\Setup\InstallSuccess 
3.5                HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.5\Install 
4.0 Client Profile HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Client\Install
4.0 Full Profile   HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full\Install

Genellikle arıyoruz:

"Install"=dword:00000001

hariç .NET değeri bir dize (REG_SZ) yerine bir numara (REG_DWORD) nerede 1.0,.

Hizmet paketi düzeyini belirleyen benzer bir yol izler:

Framework Version  Registry Key
------------------------------------------------------------------------------------------
1.0                HKLM\Software\Microsoft\Active Setup\Installed Components\{78705f0d-e8db-4b2d-8193-982bdda15ecd}\Version 
1.0[1]             HKLM\Software\Microsoft\Active Setup\Installed Components\{FDC11A6F-17D1-48f9-9EA3-9051954BAA24}\Version 
1.1                HKLM\Software\Microsoft\NET Framework Setup\NDP\v1.1.4322\SP 
2.0                HKLM\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727\SP 
3.0                HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.0\SP 
3.5                HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.5\SP 
4.0 Client Profile HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Client\Servicing
4.0 Full Profile   HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full\Servicing

[1] Windows Media Center or Windows XP Tablet Edition

Gördüğünüz gibi, SP belirlenmesi için seviye .Eğer Windows Media Center veya Windows XP Tablet Edition çalıştırıyorsanız NET 1.0 değiştirir. Yine .NET 1.0 Diğerleri hepsi bir DWORD kullanırken dize değeri kullanır.

İçin .NET 1.0 bu anahtar, ya da bir dize değeri bir biçimi vardır #,#,####,#. Hizmet Paketi düzeyi son#.

Eğer Çerçeve tam sürüm numarasını öğrenmek istiyorsan açıkça bu iste, ben bile bu kayıt defteri anahtarları kullanabilirsiniz:

Framework Version  Registry Key
------------------------------------------------------------------------------------------
1.0                HKLM\Software\Microsoft\Active Setup\Installed Components\{78705f0d-e8db-4b2d-8193-982bdda15ecd}\Version 
1.0[1]             HKLM\Software\Microsoft\Active Setup\Installed Components\{FDC11A6F-17D1-48f9-9EA3-9051954BAA24}\Version 
1.1                HKLM\Software\Microsoft\NET Framework Setup\NDP\v1.1.4322 
2.0[2]             HKLM\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727\Version 
2.0[3]             HKLM\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727\Increment
3.0                HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.0\Version 
3.5                HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.5\Version 
4.0 Client Profile HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Version 
4.0 Full Profile   HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Version 

[1] Windows Media Center or Windows XP Tablet Edition
[2] .NET 2.0 SP1
[3] .NET 2.0 Original Release (RTM)

Yine .NET 1.0 Diğerleri hepsi bir DWORD kullanırken dize değeri kullanır.

Ek Notlar

  • için .NET 1.0 bu anahtarların her iki dize değeri #,#,####,# bir biçimi vardır. String #,#,#### bölümü Çerçeve sürümüdür.

  • için .NET kayıt defteri anahtarını kendisi adına kullanıyoruz, sürüm numarasını temsil eden 1.1,.

  • Eğer bağımlılıkları bakınca sonunda .NET 3.0 işlevselliği ekler, ek .NET 2.0 hem de çok .NET 2.0 ve .NET 3.0 doğru söylemek yüklü olarak incelemek gerekir .NET 3.0 yüklü. Aynı şekilde .NET 3.5 ekler ek işlevler için .NET 2.0 ve .NET 3.0,.NET 2.0, .NET 3.0 ve .NET 3. tüm doğru söylemek yüklü olmak için değerlendirmelidir .NET 3.5 yüklü.

  • .NET 4.0 yan yana CLR 2.0 ile çalışan CLR (CLR sürüm 4.0) yeni bir sürümünü yükler.

Güncelleme için .NET 4.5

Kayıt defterinde v4.5 eğer anahtar olmayacak .NET 4.5 yüklü. Bunun yerine eğer HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full anahtar değeri Release adlı içeriyorsa kontrol etmelisiniz. Eğer bu değer varsa, .NET 4.5 yüklü, aksi takdirde değildir. Daha fazla detay here here bulunabilir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 1881 Animation

    1881 Animati

    5 EKİM 2013
  • Hey Nadine

    Hey Nadine

    24 Kasım 2006
  • Wronchi Animation

    Wronchi Anim

    9 Mayıs 2011