Sunjammer
13th June 2002 02:16 UTC
Extension DLL for OS, DLL and file version information
This is something I put together for my own use but that other people might find useful. It's an extension dll that can get things like the Service Pack number installed on the system, the Windows build number, all kinds of version information from DLLs and exe files (the sort of thing you see on the Version tab of the file properties dialog in Windows 2000.
You can find it on my NSIS web page with my other dlls here :
http://www.clantpa.co.uk/nsis/
There is a demo .nsi file with it that dumps lots of information into the detail view about the system and about two files I chose to look at, batmeter.dll (which does not support the DllGetVersion mechanism) and comctl32.dll (which does). Its quite dumb, it expects them to be in c:\winnt\system32 and if they're not you'll get blank strings back for those files.
cjs
12th November 2003 22:26 UTC
Is this script still availible? If someone has a copy around please email me at
cs@micadmarine.com
kichik
12th November 2003 22:30 UTC
This has been replaced by the Archive which is open source. You can find the source code in CVS.
cjs
12th November 2003 22:32 UTC
What I was looking to accomplish was a getwindowsversion with service pack information.
If service pack is not greater then or equal to sp3 then report a message to the user. otherwise, continue installation.
How would I do that using getwindowsversion function?
kichik
12th November 2003 22:33 UTC
Oh, oops... Thought this message was about the original NSIS Archive. The plug-in you are talking about is available in the Archive with an example script.
cjs
12th November 2003 22:37 UTC
The example looks too complicated! How would I run a comparison value based on the output of "getwindowsversion"
thanks alot for your help, you guys are the best. :)
kichik
12th November 2003 22:42 UTC
Like everything else in NSIS, using StrCmp or IntCmp. IntCmp is probably the on you are looking for because it can test if it's greater or smaller and not just different. As for specific values to compare to, you'd have to find it out on your own unless someone else has the answer.