Neyi nasıl algılamak için .NET Çerçeve sürümleri ve hizmet paketleri yüklü mü? | Netgez.com
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

  • Electro Posé

    Electro PosÃ

    21 ÅžUBAT 2013
  • fireflame65

    fireflame65

    27 Mart 2007
  • Neil Cicierega

    Neil Ciciere

    22 Mart 2006