NSIS-OS plug-in
From NSIS Wiki
Jump to navigationJump to search
| Author: rainwater (talk, contrib) |
Download Links
Nsisos.zip (4 KB)
Description
This plug-in allows you to detect the OS version or platform.
Plug-in's Readme
NSIS-OS 1.1
Copyright (C) 2001 Robert Rainwater <rrainwater@yahoo.com>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute
it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented;
you must not claim that you wrote the original software.
If you use this software in a product, an acknowledgment in the
product documentation would be appreciated but is not required.
2. Altered versions must be plainly marked as such,
and must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any distribution.
OS Version Usage Information
----------------------------
Step 1:
Call osversion
Step 2:
The major version is returned to $0 and the minor version
is returned to $1. See below for details on version numbers.
OS Platform Usage Information
-----------------------------
Step 1:
Call osplatform
Step 2:
The platform is returned into $0. Possible values
are: "win31", "win9x", "winnt", and "unknown".
Interpreting The Version Numbers
--------------------------------
Major Version:
Windows 95 4
Windows 98 4
Windows Me 4
Windows NT 3.51 3
Windows NT 4.0 4
Windows 2000 5
Windows XP 5
Windows Server 2003 5 (including R2 update)
Windows Vista 6
Windows Server 2008 6 (including R2 update)
Windows 7 6
Minor Version
Windows 95 0
Windows 98 10
Windows Me 90
Windows NT 3.51 51
Windows NT 4.0 0
Windows 2000 0
Windows XP 32-bit 1
Windows XP 64-bit 2
Windows Server 2003 2 (including R2 update)
Windows Server 2008 0
Windows Server 2k8 R2 1
Windows Vista 0
Windows 7 1
(note: Windows XP x64 and Windows Server 2003 will both return version 5.2)
Example
-------
# Get the OS version
nsisos::osversion
StrCpy $R0 $0
StrCpy $R1 $1
# Check our version
StrCmp $R0 "5" WindowsXPPlatform
StrCmp $R0 "6" WindowsVistaPlatform
WindowXPPlatform:
MessageBox MB_OK|MB_ICONSTOP "Installation failed: Windows XP or earlier not supported."
Abort
WindowVistaPlatform:
Also, see example.nsi
Thanks rainwater again!