JCD29
1st October 2008 11:12 UTC
how to detect if service pack of dotnet 1.1 has been installed?
dear all
the dotnetfx.exe for 1.1 doesn't install the tool RegAsm.exe needed for some registration..
So I have need to install after the service pack...so how to detect this one has not been installed previously ?
thanks
kukomamasan
4th October 2008 13:31 UTC
Hi, if you know the location where regasm.exe should be installed (my location is C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322), make an
ifexist "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\regasm.exe" good
file "ur location of the regasm.exe"
good:
---
also make sure you $INSTDIR is C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322 , or what ever ur version is.
Well not an expert here by a longshot, but maybe it will make you get ahead by trial and error :-), since no on else did answer yet?(but im sure some expert will now, since my explanation is not the best i guess hehe)
good luck
Animaether
4th October 2008 22:28 UTC
a more appropriate method of checking should be to read the registry value of
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322::SP
The value of SP dictates the service pack installed.
absent = err
0 = no service pack
1 = service pack 1
2 = service pack 2 (or would have been if there was one; MS is at .NET 3.5 SP1 by now)
For the curious, check the following code sample from Aaron Stebner (*tips hat*) for detecting the various .NET framework versions and service packs:
http://astebner.sts.winisp.net/Tools/detectFX.cpp.txt
Some of this detection may already be in an NSIS header, for that matter... didn't spot one, though (saw some disjointed examples for framework 2 / detecting 'framework in general')