Windows 11 Support

Forums Desktop Info Windows 11 Support

Viewing 8 reply threads
  • Author
    Posts
    • #4542
      Nathan_K
      Participant

      I’m playing with the Windows Insider build for Windows 11 and everything seems to work pretty well with the exception of the OSBUILD variables. The Major Version (%2) variable is still showing “10” for Windows 11. I think this due to the CurrentVersion number in the registry (HKLM\SOFTWARE\Microsoft\Windows NT) still being “6.3”.

    • #4547
      Glenn
      Keymaster

      OSBUILD uses the GetVersionEx api call. I just looked this up and it says the following:

      With the release of Windows 8.1, the behavior of the GetVersionEx API has changed in the value it will return for the operating system version. The value returned by the GetVersionEx function now depends on how the application is manifested.

      Applications not manifested for Windows 8.1 or Windows 10 will return the Windows 8 OS version value (6.2). Once an application is manifested for a given operating system version, GetVersionEx will always return the version that the application is manifested for in future releases.

      It appears to be answering the question of “What is the OS version?” with “What would you like it to be?”

      So maybe it’s time to find something a little more deterministic

      • #4552
        Nathan_K
        Participant

        Maybe you should go back to the actual version number for that function (6.3 in this case)?

        Side Note: I do find it funny that looking at registry keys, Windows 11 looks to be Windows 10 21H2, with an entirely new skin as part of the feature release. I mean, look at some of the info in the “CurrentVersion” key.

    • #4594
      cmd
      Participant

      Hi Nathan,

      You think it’s funny that it still looks like Windows 10 — look at the ReleaseId key — the second half of 2020, despite your DisplayId showing 21H2! 🙂

      Anyways, here’s my solution to get all the build info so far. It’s a bit verbose, but works on all the machines I’m using it on!

      It grabs most things it can from WMI, the OS display name, arch, version (this is the main one, will be the 10.0.xxxxx), install date.
      Then it gets the release ID from the registry. (This is the ‘feature set’ that will be the 1903/20H1/21H1, etc.) It gets it from the key DisplayVersion. However that key wasn’t the one that windows used to use, having moved from the ReleaseId key. So later it will check to see if the value it got from DisplayVersion is empty, and if so, get the value from ReleaseId
      Lastly, it gets the UBR key. The UBR is the .xxx that gets added on to the version shown in winver and the sort. That’s another key that wasn’t always there (can’t quite remember when it was added), so if it’s empty I let it stay empty. Otherwise the last IF sets it to it’s value with the preceding ., so it looks nice tacked onto the osbuild printout.

      I’ve attached a screenshot of what the output looks like.

      Attachments:
      • #4599
        Nathan_K
        Participant

        Oh, I’m well aware of the fact that it’s Windows 10 with a facelift. Best thing in 11 I’ve found so far is that they got rid of Internet Explorer. The interface seems snappy, and since I run an Intel processor and not a Ryzen I’m not affected by the nasty L3 cache bug.

      • #4604
        Glenn
        Keymaster

        That might be the kind of thing I end up doing under the hood.

        As of now VirtualBox won’t load Win11 so I can’t even test it.

        • This reply was modified 1 month, 2 weeks ago by Glenn.
        • #4607
          Nathan_K
          Participant

          Why won’t it load? TPM and Secure Boot? If so, just rename the “\sources\appraiserres.dll” file in the install media with a trailing “_bak” and re-run the setup. Bypasses all the checks.

          • This reply was modified 1 month, 2 weeks ago by Nathan_K.
          • #4610
            Glenn
            Keymaster

            It doesn’t support TPM apparently. I tried your suggestion of renaming the dll but it still says the machine doesn’t meet the spec requirements.

            • #4611
              Nathan_K
              Participant

              When I renamed the file to “appraiserres.dll_bak” it worked fine to disable the checks. I even installed it on an older 3rd Gen Intel Core-i5 with a TPM 1.2 without issue. You do have to make sure that you completely close and re-launch the installer. I ran it from a USB drive.

      • #4627
        Glenn
        Keymaster

        Just as an FYI:

        those four WMI queries which are all the same except retrieving a different property can be handled by a single query:

        • #4629
          Nathan_K
          Participant

          Can something similar to this be done with REG keys too? Something like the example below:

          REG=interval:0,value:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion,set:MajorVersion=%CurrentVersion% CurrentBuild=%CurrentBuild% MinorBuild=%UBR% DisplayVersion=%DisplayVersion%,hidden:1

          • #4631
            Glenn
            Keymaster

            hrmm….

          • #4661
            Glenn
            Keymaster

            Done. if the key ends with a * instead of a value name, then all values in the key are returned. eg.

            HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\*

            that is, all string and integer values.

    • #4609
      Nathan_K
      Participant

      Here is the custom Operating System and Build# section I’m using. Feel free to use what you want.

    • #4628
      Glenn
      Keymaster

      Ok, I’ve added a new item called OSBUILD2 which basically encompasses all of this.

      • #4646
        Nathan_K
        Participant

        Darn, found a bug. Triple curly brackets “{{{ %variable }}}” don’t work in OSBUILD2.

        • #4653
          Glenn
          Keymaster

          fixed.

    • #4642
      rtruss
      Participant

      Got it and loving it so far. One question is there a way to remove the Microsoft from the OSDBUILD2 %1 variable? We know its microsoft already so.. Just trying to keep it more concise to fit in smaller widnows

      OSBUILD2=display:%1 %18 (%17)
      Displays; Microsoft Windows 11 Enterprise 21H2 (22000)

      looking for; Windows 11 Enterprise 21H2 (22000)

      at least without doing other types of wmi calls like like i am now:

      # OS info lookup table
      REG=value:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CurrentBuild, set:currentbuild, hidden:1
      REG=value:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductName, set:productname, hidden:1
      REG=value:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ReleaseId, set:releaseid, hidden:1
      #This line item only applies to WIN10 Workstations
      REG=value:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DisplayVersion, set:displayversion, hidden:1

      WMI=Text:Operating System,namespace:root\cimv2,query:Win32_OperatingSystem,display:%ProductName% %DisplayVersion% (%CurrentBuild%)

      I also attached an example of what I used to get and what the OSBUILD2 shows

      • #4654
        Glenn
        Keymaster

        I’ll add the ProductName field from the registry so you can choose which one to use.

    • #4644
      Nathan_K
      Participant

      I’m good with the new functionality.

      This:

      Verses this:
      OSBUILD2=interval:0,color:ffdd99,text:Operating System,display:%1 (%2)|%15.%17.%16 (%18)

      I’d call that a vast improvement. Thanks Glenn!

      • This reply was modified 1 month, 1 week ago by Nathan_K.
    • #4647
      rtruss
      Participant

      So tell me is any of you are seeing this. On initial load I get the first pic and then after it refreshes/reloads I get what I think should be correct. It also happens with previous versions and have not yet confirmed the behavior on other hardware, right now Surface book 3 is what I am on.

      • This reply was modified 1 month, 1 week ago by rtruss. Reason: forgot to rename the ini file
      • #4652
        Nathan_K
        Participant

        I can honestly say I’ve never seen mine do that, but I’ve never tried it on a SurfaceBook either. It may have to do with the screen scaling. I always keep my systems at 100%, so I’m not a good test for that.

      • #4655
        Glenn
        Keymaster

        I don’t have access to a Surface Pro so I don’t have any way of addressing that. Windows scaling is an absolute nightmare and I’m regretting ever going down that rabbit hole.

      • #4662
        Glenn
        Keymaster

        I might have accidentally found that bug. Fingers crossed!!

    • #4667
      Glenn
      Keymaster

      Finally got Win 11 installed on VirtualBox 6.1.28 using the following:

      https://forums.virtualbox.org/viewtopic.php?f=6&t=104042&p=507881&hilit=windows+11#p507881

      Basically, there is a registry snippet on the Guest Additions iso that bypasses the machine check.

      • This reply was modified 1 month ago by Glenn.
      Attachments:
Viewing 8 reply threads
  • You must be logged in to reply to this topic.
Glenn's Page