installation - How do I detect what .NET Framework versions and service packs are installed? -
a similar question asked here, specific .net 3.5. specifically, i'm looking following:
- what correct way determine .net framework versions , service packs installed?
- is there list of registry keys can used?
- are there dependencies between framework versions?
the registry the official way detect if specific version of framework installed.
which registry keys needed change depending on framework version looking for:
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
generally looking for:
"install"=dword:00000001
except .net 1.0, value string (reg_sz
) rather number (reg_dword
).
determining service pack level follows similar pattern:
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
as can see, determining sp level .net 1.0 changes if running on windows media center or windows xp tablet edition. again, .net 1.0 uses string value while of others use dword.
for .net 1.0 string value @ either of these keys has format of #,#,####,#. last # service pack level.
while didn't explicitly ask this, if want know exact version number of framework use these registry keys:
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)
again, .net 1.0 uses string value while of others use dword.
additional notes
for .net 1.0 string value @ either of these keys has format of
#,#,####,#
.#,#,####
portion of string framework version.for .net 1.1, use name of registry key itself, represents version number.
finally, if @ dependencies, .net 3.0 adds additional functionality .net 2.0 both .net 2.0 , .net 3.0 must both evaulate being installed correctly .net 3.0 installed. likewise, .net 3.5 adds additional functionality .net 2.0 , .net 3.0, .net 2.0, .net 3.0, , .net 3. should evaluate being installed correctly .net 3.5 installed.
.net 4.0 installs new version of clr (clr version 4.0) can run side-by-side clr 2.0.
update .net 4.5
there won't v4.5
key in registry if .net 4.5 installed. instead have check if hklm\software\microsoft\net framework setup\ndp\v4\full
key contains value called release
. if value present, .net 4.5 installed, otherwise not. more details can found here , here.
Comments
Post a Comment