Why is OpenEdge Explorer reporting OS version wrongly? - Forum - OpenEdge General - Progress Community

Why is OpenEdge Explorer reporting OS version wrongly?

 Forum

Why is OpenEdge Explorer reporting OS version wrongly?

This question is answered

Hi All,

My fathom server is running on Windows Server 2008 R2 Enterprise, but it is showing as Windows Vista (refer to attached). May I know what could be the problem? I suspect is the programming language API call retrieving the wrong value.

Please advise.

Thank you.

Verified Answer
  • The short answer is that it's a bug. It looks like the code that displays the OS version wasn't updated when Windows 7 and Windows Server 2008 R2 were released.

    The long answer is that Windows doesn't provide a simple way to retrieve this information. There's no function that just returns a string that tells you what version of Windows you're running. You have to construct it yourself from the version information you can get, which is a set of numbers that don't always seem to relate to the actual version you're using. For example, Windows Vista is version 6.0. Windows 7 is version 6.1. Windows Server 2008 R2 is also version 6.1 but there's a flag in the version information that tells you that it's a server product so you know that it's Windows Server 2008 R2 instead of Windows 7.

    They keep trying to make it easier but they only seem to make it worse. Windows 8 is version 6.2. Windows 8.1 is also version 6.2 unless you build your application a certain way, in which case you get to use a whole new set of functions with names like IsWindows8OrGreater and IsWindows8_1OrGreater.

All Replies
  • The short answer is that it's a bug. It looks like the code that displays the OS version wasn't updated when Windows 7 and Windows Server 2008 R2 were released.

    The long answer is that Windows doesn't provide a simple way to retrieve this information. There's no function that just returns a string that tells you what version of Windows you're running. You have to construct it yourself from the version information you can get, which is a set of numbers that don't always seem to relate to the actual version you're using. For example, Windows Vista is version 6.0. Windows 7 is version 6.1. Windows Server 2008 R2 is also version 6.1 but there's a flag in the version information that tells you that it's a server product so you know that it's Windows Server 2008 R2 instead of Windows 7.

    They keep trying to make it easier but they only seem to make it worse. Windows 8 is version 6.2. Windows 8.1 is also version 6.2 unless you build your application a certain way, in which case you get to use a whole new set of functions with names like IsWindows8OrGreater and IsWindows8_1OrGreater.

  • This is interesting, as I just noticed a similar thing with our SONIC MQ broker machine.  Also running same OS as you - Windows server 2008 R2.  I noticed this after I applied a PATCH to our SONIC MQ broker yesterday.  The other change we made recently was to change the java version used by Sonic to SUN's java vs IBM's java..when started as a windows service.  Turns out the default java apparently was pointing to IBM's java, even though we had installed SUN's java for Sonic MQ - and pointed all scripts that started sonic up to that version of java...but someone forgot to let us know that when starting as a service - it falls back on a DEFAULT java setting...that we had to set via the SMC for the broker.
     
    I'll have to look at some older broker logs to see if prior to the java change & upgrade, the OS was being reported correctly.
     
    Stephanie Seney
  • Matt,
     
    I just checked our Windows Sever 2008 r2 installation of Sonic MQ - and the OS version returned when using the IBM java was correct, however, the SUN java appears to be not returning the correct OS version.  Are you saying it is a bug with java? or with Progress? or in our case, a bug with Sonic (Aurea)?
     
    I looked at a log that contained the broker startup using IBM java, and then after we changed to make sure it was using SUN's java - and that's when the OS version appeared incorrect.
     
    Prior to that, it was reporting NT as the OS - I kinda thought that was odd, as well...so maybe it's a Windows bug?
     
    Steph

     
  • My answer was more to explain why it's hard to get this right than to point to a specific component as being at fault. Since Windows doesn't provide the version information in the form of a character string, programs which display version information have to generate the strings themselves based on the version numbers provided by Windows. This means that when Microsoft releases a new version of Windows existing software can't report its name until the software is updated.

    If changing which Java you use changes the reported version of Windows it sounds like it's an issue in Java, but I can't say that for sure.

  • Sonic gets the OS info in a different way than OEM does. If you want report a bug for Sonic, you would need to do it with Aurea. But they are 100% java product, so the bug is most likely java related. You can try that yourself using different versions of java and see what os.version is being reported there. Also FYI - bugs.java.com/view_bug.do

    With regards to OP (eg OEM) as Matt said, this is a bug. It's being planned to be addressed (all the caveats etc apply here) in 11.4.

  • Hi All,

    Thanks for all your explanations, testing and suggestions.

    I know OE does came with its own bundled set of JRE. Does OpenEdge Explorer uses JRE in OE directory? (Have not studied "\OEManage\bin\fathom.bat" thoroughly.)

    Assuming so, I have done a test on my development environment (Windows 7) with OE JRE (1.5.0_11) and system JRE (1.5.0_22)(installed this version deliberately), refer to screenshot below:

    Since JRE (1.5.0_22) works correctly, can I safely replace the whole of OE JRE folder with JRE (1.5.0_22) to solve the OS version issue?

    Thanks.

  • You can. But I don't believe it will help. There is a processing behind prior displaying the OS in the OEM console.

  • I have shutdown fathom, replaced OE JRE with JRE (1.5.0_22), startup fathom, using browser private browsing, but still displaying the wrong OS version. Have not tried restarting the server though.

  • Tai Li, maybe I wasn't clear in my previous entry - my apologies - it won't help, it is a bug and until it gets fixed, there's I am afraid not much you can do about that.

  • Hi , you're very clear in your entry, just that I would want to try and find out myself. Seems like I'll have to wait for the bug fixes then. Thank you.

  • Any idea when this bug will be fixed? Or where can I find the link to bug tracker for Progress?

    Many thanks.

  • Actually the bug I was talking about is related Windows 8.1 (it would still say Windows 8). In your case (since you are not on Windows 8.1) this has been already fixed in 11.2+, so upgrading to 11.3 (or 11.2) would display the OS version correctly.

  • Hi , thank you.

  • I have tested with OE 11.3 (evaluation), and the OE Explorer 11.3 works as expected (refer to screenshot below):

    Now the question is, can I install just the updated (OpenEdge Manager) OEM 11.2+ component? Or I must upgrade to OE 11.2+ entirely?

    Thank you.

  • I believe you just installed it :) The question is - what is it you intent/plan/want to do with it ? Is this only one machine? Or do you plan to manage more machines (remotely) with it? If so, what versions do you have on the remotes ... etc. A bit more info about your goal and setup is needed to answer your question.

    Maybe you can open a new thread for that as well, so the problems/questions won't get mixed up.