UltraEdit and UEStudio 2024.1 no longer supported on Windows 7 and Windows 8

UltraEdit and UEStudio 2024.1 no longer supported on Windows 7 and Windows 8

27
Basic UserBasic User
27

    15:56 - Aug 28#1

    The version 2024.1.0.32 (31.1.0.32) requires api-ms-win-shcore-scaling-l1-1-1.dll, which does not come with Windows 7.

    I will email support and ask if 2024.1 (31.1) is no longer supported on Win7, or if the file was simply missing, and if missing, where would that file go once I fetch it.

    6,672577
    Grand MasterGrand Master
    6,672577

      16:49 - Aug 28#2

      Here is what I reported by email to UltraEdit support during beta testing regarding to compatibility with Windows 7/8.

      Subject: No compatibility anymore with Windows 7 because of GetScaleFactorForMonitor in SHCore.dll

      I wanted to test 64-bit UE/UES 2024.1.0.16 also on 64-bit Windows 7. The installation was successful on the Windows 7 PC for both applications.

      But on start is just shown a message box with executable file name and - System Error in the title and the text:

      The program can't start because
      api-ms-win-shcore-scaling-l1-1-1.dll is missing from your
      computer. Try reinstalling the program to fix the problem.

      See attached Windows7_SystemError_UE.webp and Windows7_SystemError_UES.webp.

      This DLL is not available for Windows 7.

      I viewed uedit64b.exe with the Total Command plugin FileInfo on Windows 11 which can display a DLL dependency tree. The DLL is missing also on my Windows 11 23H2 PC, see attached image Windows11_MissingDLL.webp. I could not believe it and searched on all local drives of Windows 11 for that DLL with including hidden files and folders. The DLL file does definitely not exist on my Windows 11 PC.

      The Total Commander FileInfo plugin displays on tab "Image File Header" which functions are used from which libraries which shows for this DLL:

      Code: Select all

      IMPORTS TABLE:
         api-ms-win-shcore-scaling-l1-1-1.dll
          Import Lookup Table RVA:      026BAEE0h     (Unbound IAT)
          TimeDateStamp:     00000000h
          ForwarderChain:     00000000h
          DLL Name RVA:     026BB6ACh
          Import Address Table RVA:     01D3A350h
          First thunk RVA:     01D3A350h
          Ordn      Name
          -----    -----
             4     GetScaleFactorForMonitor
      
      There is only used the function GetScaleFactorForMonitor which is used most likely just for the information 100% scaling (on my Windows 11 PC) in the body of a support request email created with the new command Start support request.

      Please remove that function and with it also the dependency on this DLL for getting UltraEdit and UEStudio again compatible with Windows 7/8.

      It would be also possible to load the library only on execution of the command Start support request with function LoadLibraryExW and if that fails assume 100% as scaling factor. I have seen in world wide web that some other applications use that also as workaround for compatibility with older versions of Windows like Windows 7 and Windows 8 which do not have the library file api-ms-win-shcore-scaling-l1-1-1.dll.

      Well, even my Windows 11 23H2 PC does not have it installed by default.

      The Microsoft documentation for the function GetScaleFactorForMonitor describes that Windows 8.1 is the minimum supported Windows client.

      The function is in %SystemRoot%\System32\SHCore.dll on Windows 11 which is the reason why starting UltraEdit 2024.1.0.16 works on Win 11 at all.

      I find Get actual monitor DPI scaling factor very interesting. A VBScript writer wanted to get the scale factor for the monitor whether DPI awareness is on or off and wanted to avoid the usage of GetScaleFactorForMonitor for compatibility with Windows 7/8 which definitely do not have SHCore.dll as I could verify with my PC with Windows 7. The solution required just a few lines of VBScript code which call Windows functions existing also in older Windows versions. The few lines can be easily written also in C++ in my opinion if you really need the DPI scaling factor in the support request email.

      I searched in the meantime  for SHCore.dll for Windows 7 and it looks like there can be downloaded this DLL for Windows 7. But I have not yet found a download location which I trust.

      I still hope that enough UE/UES users request a compatibility of UE/UES with Windows 7/8 by removing this function call just used on running the command Start support request for creation of an email to UltraEdit support with the scaling factor as information. It is a pity that the compatibility of UE/UES with Windows 7/8 is completely lost just because of that function call no UltraEdit user needs. I would understand a loss of compatibility with Windows 7/8 because of a fundamental change which is a big benefit for UE/UES users using Windows 10/11 like an integrated AI support, but I have a problem with a Windows 7/8 compatibility loss because of just that really not important function call not used by UE/UES at all when a user works with text and source code files.
      Best regards from an UC/UE/UES for Windows user from Austria

      1
      NewbieNewbie
      1

        9:48 - 9 days ago#3

        I had written a void api-ms-win-shcore-scaling-l1-1-1.dll, and it works well.
        Just unpack and place it into ultraedit installation folder.
        api-ms-win-shcore-scaling-l1-1-1.7z (9.09 KiB)   0

        27
        Basic UserBasic User
        27

          16:00 - 9 days ago#4

          All the ones I found ((at sites like DLLHell, DLLs-R-Us, etc, etc.) are 2.5K.

          Why is this one so large?