Have requirement to detect windows 10 or greater version on install time. For that I have create following function.It gives me 603 (AS VersionNT value) in windows 10 and windows 8.1. That is wrong.Is there any other way to achieve this? Function BOOL isWindows10OrGreaterSTRING svWindowsValue;NUMBER nWindowsValue;NUMBER nBuffer;begintrynBuffer = 256;MsiGetProperty(ISMSIHANDLE,'VersionNT',svWindowsValue,nBuffer);StrToNum(nWindowsValue,svWindowsValue);return (nWindowsValue = 603);catchreturn FALSE;endcatch;end. Windows 10 - A Version OddityDisclaimer: this information is to the best of my knowledge as of now (check last edit date). This issue is sort of a 'moving target' - things seem to change slightly for every OS release.This is news to me as well, but it seems detecting Windows 10 is now a rather peculiar affair due to how core Win32 calls no longer are guaranteed to report the actual Windows version - and neither do VersionNT or VersionNT64 on my box.
Oct 17, 2015 - With new Windows 10 Operating System, when you use a version of InstallShield older than version 2015 – you won't be able to use the.
They both report 603 (which is Win 8 SP1). The explanation is here:.Manifests & Versions: Whether your application is manifested or not is crucial here. Rather than repeating the explanation, I will link to this one (essential reading):.' Evergreen Versionlessness': On the Microsoft rationale to do this (fight version checks - link to specific comment):. So I suppose the question is if you should do such a version check at all - or so they want use to believe.Installshield 2015 / 2018I don't have Installshield available to test these features:.
![Errors Errors](/uploads/1/2/5/5/125587198/468358582.png)
![Installshield Check Operating System Installshield Check Operating System](/uploads/1/2/5/5/125587198/587584150.png)
with a note stating ' This member is applicable to event-based InstallScript code; it is not applicable to InstallScript custom actions.' . (scroll down until you see the entry highlighted. Same for above link). I assume this means that these structures and features only work in Installscript projects.Workarounds?I want to emphasize that these are workarounds and nothing else. We are supposed to check functionality these days and not OS versions. Test thoroughly please.
I want to cross-link a similar answer with some 'intel':.OS File Version: MSDN suggests getting the version of a key OS file to determine if you are on Windows 10:. There seems to be (untested).WindowsBuild property: It looks like the might be useable. It reports 9600 on my Windows 10 system. With the different values for different OS versions. Remember that this value will increment with new releases, so you can't do an equal compare condition.
You must do equal or higher. This is all to the best of my knowledge as of now.Registry: Maybe it is also an option to read these new registry values in order to determine if you are on Window 10 or not? Heaven knows what they will do with these keys in the future though? Are they 'stable'?.HKEYLOCALMACHINESOFTWAREMicrosoftWindows NTCurrentVersion. CurrentMajorVersionNumber = 10. CurrentMinorVersionNumber = 0.WMI: (not properly tested by me - just listing all possible options for those who have the test machines available to verify).LinksHere are some further links.
They are not recommendations, as much as a bunch of links used to assemble the above information - so they are here for 'safekeeping'. I will leave them as they are. There may be some inaccuracies here and there:.