Salesforce

How to determine the Windows 8 and 10 versions from ABL at runtime ?

« Go Back

Information

 
TitleHow to determine the Windows 8 and 10 versions from ABL at runtime ?
URL NameHow-to-determine-the-Windows-8-and-10-versions-from-ABL-at-runtime
Article Number000180992
EnvironmentProduct: OpenEdge
Version: All Supported Versions
OS: Windows 8+
Question/Problem Description
As it's sometimes necessary to determine which Windows version an ABL application is running on, article 000020185 explains the use of  the WIN API GetVersionEx function to obtain extended information about the version and service pack of the operating system.

However, in Windows 8.1 and higher, this function returns the same major version and minor version as in Windows 8, namely: 6.2

The MSDN page regarding OS version explains the following:
In Windows 8.1 and Windows 10, the GetVersion and GetVersionEx functions have been deprecated.
Applications not manifested for Windows 8.1 or Windows 10 will return the Windows 8 OS version value (6.2).
 
Steps to Reproduce
Clarifying Information
How to determine the Windows 8 and 10 versions from ABL at runtime ?
Error Message
Defect Number
Enhancement Number
Cause
Resolution
While you can still call the deprecated functions, if your application does not specifically target Windows 8.1 or Windows 10, you will get Windows 8 version (6.2.0.0).

Thus in order to target Windows 8.1 or Windows 10, it is necessary to include the app manifest in the source file.

To do so, add the following tag in the 'prowin.exe.manifest' or 'prowin32.exe.manifest'-file. 

<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> 
<application> 
<!-- Windows 10 --> 
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/> 
<!-- Windows 8.1 --> 
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/> 
<!-- Windows Vista --> 
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/> 
<!-- Windows 7 --> 
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/> 
<!-- Windows 8 --> 
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/> 
</application> 
</compatibility> 
Workaround
Notes
Keyword Phrase
Last Modified Date11/20/2020 7:06 AM

Powered by