How can I find out if SP1 has been installed on a server which has .NET 3.5?
相关问题
- How does the setup bootstrapper detect if prerequi
- How to make a .svc file write to asp.net Trace.axd
- Installation of Leiningen 2.X in Mac OS X
- Error when installing TDA package on R
- Magento Fatal error: Maximum execution error solut
相关文章
- Getting errors / failing tests when installing Pyt
- How do you make an installer for your python progr
- Installing the R interpeter and R as a shared libr
- How to get path of the php binary on server where
- Looking for documentation on the “right” way to in
- What Component IDs should I search for to detect w
- Error in LINQ Left JOIN
- Error in LINQ Left JOIN
Use Add/Remove programs from the Control Panel.
I came to this page while trying to figure out how to detect the framework versions installed on a server without access to remote desktop or registry, so Danny V's answer worked for me.
Look at
HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5\
. One of these must be true:Version
value in that key should be 3.5.30729.01SP
value in the same key should be 1In C# (taken from the first comment), you could do something along these lines:
Take a look at this article which shows the registry keys you need to look for and provides a .NET library that will do this for you.
First, you should to determine if .NET 3.5 is installed by looking at HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.5\Install, which is a DWORD value. If that value is present and set to 1, then that version of the Framework is installed.
Look at HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.5\SP, which is a DWORD value which indicates the Service Pack level (where 0 is no service pack).
To be correct about things, you really need to ensure that .NET Fx 2.0 and .NET Fx 3.0 are installed first and then check to see if .NET 3.5 is installed. If all three are true, then you can check for the service pack level.
Check is the following directory exists:
In 64bit machines: %SYSTEMROOT%\Microsoft.NET\Framework64\v3.5\Microsoft .NET Framework 3.5 SP1\
In 32bit machines: %SYSTEMROOT%\Microsoft.NET\Framework\v3.5\Microsoft .NET Framework 3.5 SP1\
Where %SYSTEMROOT% is the SYSTEMROOT enviromental variable (e.g. C:\Windows).
Assuming that the name is everywhere "Microsoft .NET Framework 3.5 SP1", you can use this: