Version plug-in: Difference between revisions
From NSIS Wiki
Jump to navigationJump to search
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
{{PageAuthor|denis_gorbunov | {{PageAuthor|denis_gorbunov|TeeWeTee}} | ||
== Links == | == Links == |
Revision as of 16:31, 20 February 2013
Author: denis_gorbunov (talk, contrib) |
Links
Version 0.3 (20. feb 2013)
NSIS_version_plugin_03.zip (69 KB)
Release builds with VS2010 Premium (only older 0.2 release)
ANSI: http://db.tt/cbyN0KJh Unicode: http://db.tt/OfllzHW7
Description
With this plugin you are able to determine which version of windows you are running. Technically it is using the GetVersionEx() method from the "kernel32.dll".
Features:
- check for a specific windows version:
- IsWindows95
- IsWindows98
- IsWindowsME
- IsWindowsNT351
- IsWindowsNT40
- IsWindows2000
- IsWindowsXP
- IsWindows2003
- IsWindowsXPx64
- IsWindowsVista
- IsWindowsServer2008
- IsWindows7
- IsWindowsServer2008R2
- IsWindows8
- IsWindowsServer2012
- get all relevant windows versioning information by calling the 'GetWindowsVersion' method:
- major version
- minor version
- build number
- platform id
- service pack name
- product type
- detect the windows platform type by calling 'IsWindowsPlatformNT()' or 'IsWindowsPlatform9x'
Usage Example
; if "version.dll" copied in NSIS plugin sub-directory ; this line is not necessary !addplugindir "plugins" ; it is not example ; it is for this empty intallation only OutFile "example_Version_NSIS_plugin.exe" Section Dummy ; it is not example ; it is for this empty intallation only SectionEnd ; variables declaration var TempResult var MajorVersion var MinorVersion var BuildNumber var PlatformID var CSDVersion Function .onInit ; detect Windows XP ; it is simply ; call plugin dll function Version::IsWindowsXP ; get result Pop $TempResult ; check result StrCmp $TempResult "1" ItIsWindowsXP IsIsNotWindowsXP ItIsWindowsXP: MessageBox MB_OK "This OS is Windows XP" Goto Go2 IsIsNotWindowsXP: MessageBox MB_OK "This OS is not Windows XP" Goto Go2 ; get Windows OS version info Go2: ; call plugin dll function Version::GetWindowsVersion ; get result Pop $MajorVersion Pop $MinorVersion Pop $BuildNumber Pop $PlatformID Pop $CSDVersion ; show result MessageBox MB_OK "$PlatformID-platform, version $MajorVersion.$MinorVersion, build $BuildNumber, $CSDVersion" FunctionEnd