![]() |
How to detect Windows 8 ?
Hello,
can somebody please tell me how can i detect if a NSIS 2.46 setup file is running under Windows 8 ? I have made a context menu dll for the windows explorer and want to install the Visual C++ 2012 redistributable packages only if Windows 8 is installed. I know the rest,i simply do not know how to detect the version of Windows. Thank you ! |
Use WinVer.nsh. The documentation and usage examples are included in the header. But the one that comes with v2.46 doesn't support Win 8 so replace it with the updated version linked here (Ansi; tell me if you need the version for Unicode NSIS):
http://forums.winamp.com/showpost.ph...7&postcount=71 |
the windows version should be 6.3 for 8.1 and 6.2 for 8 I think, and 6.1 for 7.
|
Quote:
See here: http://msdn.microsoft.com/en-us/libr.../dn302074.aspx Without this manifest GetVersion(Ex) will return version 6.2.2900 and not 6.3.9431 that is the version for the current public preview version. |
2 Attachment(s)
I already compile my scripts with code that adds Win 8 compatibility to the manifest. With 8.1 added, it's:
code: I also updated WinVer.nsh. Now if only someone would actually test this. :D |
You can add whatever GUID you want to the manifest in the alpha and the next alpha version has "real" support
|
Quote:
Quote:
|
Quote:
|
Lovely jubbly. Thanks for testing and for pointing out the issue in the first place.
|
Quote:
|
You're seeing it from NSIS dev perspective. His is that of a person who uses NSIS to package products. Alpha/beta suffix is a scarecrow for users who take their business seriously. 3.0a may be perfectly stable but it won't really matter until it's officially released as such.
|
ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
Seam to do the trick from me. |
| All times are GMT. The time now is 17:29. |
Copyright © 1999 - 2010 Nullsoft. All Rights Reserved.