Kayıt defteri, Framework'ün belirli bir sürümünün yüklü olup olmadığını algılamanın resmi yoludur .
Hangi kayıt defteri anahtarlarının gerekli olduğu, aradığınız Framework sürümüne bağlı olarak değişir:
Çerçeve Sürümü Kayıt Defteri Anahtarı
-------------------------------------------------- ----------------------------------------
1.0 HKLM \ Yazılım \ Microsoft \ .NETFramework \ İlke \ v1.0 \ 3705
1.1 HKLM \ Yazılım \ Microsoft \ NET Framework Kurulumu \ NDP \ v1.1.4322 \ Yükle
2.0 HKLM \ Yazılım \ Microsoft \ NET Framework Kurulumu \ NDP \ v2.0.50727 \ Yükle
3.0 HKLM \ Yazılım \ Microsoft \ NET Framework Kurulumu \ NDP \ v3.0 \ Setup \ InstallSuccess
3.5 HKLM \ Yazılım \ Microsoft \ NET Framework Kurulumu \ NDP \ v3.5 \ Yükle
4.0 İstemci Profili HKLM \ Yazılım \ Microsoft \ NET Framework Kurulumu \ NDP \ v4 \ İstemci \ Yükle
4.0 Tam Profil HKLM \ Yazılım \ Microsoft \ NET Framework Kurulumu \ NDP \ v4 \ Tam \ Yükle
Genellikle arıyorsunuz:
"Install"=dword:00000001
.NET 1.0 dışında, değer REG_SZ
bir sayı ( REG_DWORD
) yerine bir dize ( ) 'dir.
Hizmet paketi düzeyini belirlemek benzer bir düzen izler:
Çerçeve Sürümü Kayıt Defteri Anahtarı
-------------------------------------------------- ----------------------------------------
1.0 HKLM \ Yazılım \ Microsoft \ Active Setup \ Kurulu Bileşenler \ {78705f0d-e8db-4b2d-8193-982bdda15ecd} \ Sürüm
1.0 [1] HKLM \ Yazılım \ Microsoft \ Active Setup \ Kurulu Bileşenler \ {FDC11A6F-17D1-48f9-9EA3-9051954BAA24} \ Sürüm
1.1 HKLM \ Yazılım \ Microsoft \ NET Framework Kurulumu \ NDP \ v1.1.4322 \ SP
2.0 HKLM \ Yazılım \ Microsoft \ NET Framework Kurulumu \ NDP \ v2.0.50727 \ SP
3.0 HKLM \ Yazılım \ Microsoft \ NET Framework Kurulumu \ NDP \ v3.0 \ SP
3.5 HKLM \ Yazılım \ Microsoft \ NET Framework Kurulumu \ NDP \ v3.5 \ SP
4.0 İstemci Profili HKLM \ Yazılım \ Microsoft \ NET Framework Kurulumu \ NDP \ v4 \ İstemci \ Hizmet
4.0 Tam Profil HKLM \ Yazılım \ Microsoft \ NET Framework Kurulumu \ NDP \ v4 \ Tam \ Hizmet
[1] Windows Media Center veya Windows XP Tablet Edition
Gördüğünüz gibi, Windows Media Center veya Windows XP Tablet Edition üzerinde çalışıyorsanız .NET 1.0 için SP düzeyini belirlemek değişir. Yine, .NET 1.0 bir dize değeri kullanırken diğerlerinin tümü bir DWORD kullanır.
.NET 1.0 için bu anahtarlardan herhangi birinin dize değeri #, #, ####, # biçimindedir. Son #, Hizmet Paketi düzeyidir.
Ben açıkça sormadım, ancak Framework'ün tam sürüm numarasını bilmek istiyorsanız, bu kayıt defteri anahtarlarını kullanırsınız:
Çerçeve Sürümü Kayıt Defteri Anahtarı
-------------------------------------------------- ----------------------------------------
1.0 HKLM \ Yazılım \ Microsoft \ Active Setup \ Kurulu Bileşenler \ {78705f0d-e8db-4b2d-8193-982bdda15ecd} \ Sürüm
1.0 [1] HKLM \ Yazılım \ Microsoft \ Active Setup \ Kurulu Bileşenler \ {FDC11A6F-17D1-48f9-9EA3-9051954BAA24} \ Sürüm
1.1 HKLM \ Yazılım \ Microsoft \ NET Framework Kurulumu \ NDP \ v1.1.4322
2.0 [2] HKLM \ Yazılım \ Microsoft \ NET Framework Kurulumu \ NDP \ v2.0.50727 \ Sürüm
2.0 [3] HKLM \ Yazılım \ Microsoft \ NET Framework Kurulumu \ NDP \ v2.0.50727 \ Artış
3.0 HKLM \ Yazılım \ Microsoft \ NET Framework Kurulumu \ NDP \ v3.0 \ Sürüm
3.5 HKLM \ Yazılım \ Microsoft \ NET Framework Kurulumu \ NDP \ v3.5 \ Sürüm
4.0 İstemci Profili HKLM \ Yazılım \ Microsoft \ NET Framework Kurulumu \ NDP \ v4 \ Sürüm
4.0 Tam Profil HKLM \ Yazılım \ Microsoft \ NET Framework Kurulumu \ NDP \ v4 \ Sürüm
[1] Windows Media Center veya Windows XP Tablet Edition
[2] .NET 2.0 SP1
[3] .NET 2.0 Orijinal Sürümü (RTM)
Yine, .NET 1.0 bir dize değeri kullanırken diğerlerinin tümü bir DWORD kullanır.
ek Notlar
.NET 1.0 için bu anahtarlardan herhangi birinin dize değeri biçimindedir #,#,####,#
. #,#,####
Dize bölümü Çerçeve versiyonudur.
.NET 1.1 için, sürüm numarasını temsil eden kayıt defteri anahtarının adını kullanırız.
Son olarak, bağımlılıklara bakarsanız, .NET 3.0, .NET 2.0'a ek işlevsellik ekler, böylece .NET 2.0'ın ve .NET 3.0'ın her ikisi de yüklü olarak değerlendirilmelidir. Benzer şekilde, .NET 3.5, .NET 2.0 ve .NET 3.0'a ek işlevsellik ekler, bu nedenle .NET 2.0, .NET 3.0 ve .NET 3'ün tümü, .NET 3.5'in yüklü olduğunu doğru şekilde söylemek için yüklendiğini değerlendirmelidir.
.NET 4.0, CLR 2.0 ile yan yana çalışabilecek yeni bir CLR sürümü (CLR sürüm 4.0) yükler.
.NET 4.5 Güncelleştirmesi
v4.5
.NET 4.5 yüklüyse kayıt defterinde bir anahtar olmayacaktır . Bunun yerine HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full
anahtarın adlı bir değer içerip içermediğini kontrol etmeniz gerekir Release
. Bu değer varsa, .NET 4.5 yüklenir, aksi takdirde yüklenmez. Daha fazla ayrıntıyı burada ve burada bulabilirsiniz .