Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. api-ms-win-core-rtlsupport-l1-2-0 missing on a windows 7 deployment

api-ms-win-core-rtlsupport-l1-2-0 missing on a windows 7 deployment

Scheduled Pinned Locked Moved Solved General and Desktop
6 Posts 3 Posters 8.0k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Offline
    B Offline
    buckler
    wrote on 6 May 2016, 00:51 last edited by
    #1

    I have successfully built and deployed my Qt app on several Windows 10 systems, but not on Windows 7. On startup, it gives an error api-ms-win-core-rtlsupport-I1-2-0.dll missing. On at least one the systems I tried, I did find a file with a I1-1-0 suffix, but this doesn't seem to help. My build machine is Windows 10.

    R 1 Reply Last reply 6 May 2016, 04:46
    0
    • B buckler
      6 May 2016, 00:51

      I have successfully built and deployed my Qt app on several Windows 10 systems, but not on Windows 7. On startup, it gives an error api-ms-win-core-rtlsupport-I1-2-0.dll missing. On at least one the systems I tried, I did find a file with a I1-1-0 suffix, but this doesn't seem to help. My build machine is Windows 10.

      R Offline
      R Offline
      Ratzz
      wrote on 6 May 2016, 04:46 last edited by
      #2

      @buckler said:
      Are you trying to deploy on windows 7 -64 bit ?
      May be this helps .

      --Alles ist gut.

      1 Reply Last reply
      0
      • B Offline
        B Offline
        buckler
        wrote on 7 May 2016, 21:29 last edited by
        #3

        Many thanks. I have added the redistributables as suggested in two ways: I could add the 2013 and earlier in windows 7, but could not add the 2015 as it indicated it needed later Windows. In the InstallShield redistributable list, I added "Visual C++ 14.0" OpenMP, DebugCRT, and CRT, in various flavors of ARM, x86, and x64. I seem to have changed the symptom, but not much, as it now claims that api-ms-win-crt-runtime-I1-1-0.dll is missing, and I cannot find that file on my build machine either. Along the way, I have upgraded from InstallShield Limited Edition to Express, and with that there is a dependency scanner. When I use that, it does list a number of files with api-ms-win prefixes as missing, but cannot add them, because I cannot seem to find them on my build machine or find them from other sources. Perhaps they are in the redistrivutable packages, but this is not obvious, and so I am still stuck.

        Any further ideas?
        Andy

        1 Reply Last reply
        0
        • H Offline
          H Offline
          hskoglund
          wrote on 8 May 2016, 01:35 last edited by
          #4

          Hi, the functions inside api-ms-win-core-rtlsupport-I1-2-0.dll are all structured exception functions, and some of them do not work on Windows 7 (they need Windows 8 or Windows 10).

          But that dll is just a dummy dll (same for all the other api-ms-win-xxx .dlls) that Windows never loads. They are just an indirection layer, Windows knows that the functions requested actually can be found in ntdll.dll.

          So maybe if you can relink/rebuild your app for Windows 7, that dependency on api-ms-win-core-rtlsupport-l1-2-0.dll can be removed.

          B 1 Reply Last reply 8 May 2016, 21:39
          1
          • H hskoglund
            8 May 2016, 01:35

            Hi, the functions inside api-ms-win-core-rtlsupport-I1-2-0.dll are all structured exception functions, and some of them do not work on Windows 7 (they need Windows 8 or Windows 10).

            But that dll is just a dummy dll (same for all the other api-ms-win-xxx .dlls) that Windows never loads. They are just an indirection layer, Windows knows that the functions requested actually can be found in ntdll.dll.

            So maybe if you can relink/rebuild your app for Windows 7, that dependency on api-ms-win-core-rtlsupport-l1-2-0.dll can be removed.

            B Offline
            B Offline
            buckler
            wrote on 8 May 2016, 21:39 last edited by
            #5

            @hskoglund Thank you!

            I am sorry to ask what seems such a simple question, but how do I relink/rebuild for Windows 7? My latent assumption has been that the exe is the same for 10 as it is for 7, but this may be naive and incorrect. This assumption has driven me to find the right package contents rather than to change the exe, but your mention of relinking/reloading would of course be very important if I am assuming the right thing. A corollary to the question is, can a Windows 7 load be built using a Windows 10 build machine, that is, can I make the two target-specific exeutables both from a common build machine or would I need to come up with a configuration of visual studio on a windows 7 build machine? ...or, confirm that in fact a common exe is possible...

            1 Reply Last reply
            0
            • B Offline
              B Offline
              buckler
              wrote on 14 May 2016, 19:12 last edited by
              #6

              Solved:
              and boy did I learn a lot on the way...
              The basic issue was not win7 as such; it was a more complete understanding of the vagaries of dependencies. The solution was relatively simple, to include the right version of the msvc DLLs. But of course that makes it sound trivial, which it was not. I used dependencywalker but this is as misleading as it is helpful, because the dependencies shift considerably with changes to the top level objects and it took me quite a while to understand that. Also, the difference between 32 and 64 bit objects isn't obvious; sometimes they are in one folder, other times in another from computer to computer. Next was the need for multiple levels of msvc DLLs rather than just one, but not the same objects, some the same and some different. Last but not least was a confusion over InstallShield redistributables and merges, and even that if one isn't careful, the testing is made more opaque because of InstallShield reconfigurations when one is tryign to get the file lists right by specifically inclduign or excluding files on a given target.

              My advice to the forum ends up similar to what most searches on related topics say: you have to know about your actual program dependencies, don't get thrown off the track by the api-ms-win files because they don't have real content, and watch out for both direct and indirect references to 32- vs. 64-bit modules. Watch the file sizes, since the names are the same.

              Many thanks to the forum.

              1 Reply Last reply
              0

              5/6

              8 May 2016, 21:39

              • Login

              • Login or register to search.
              5 out of 6
              • First post
                5/6
                Last post
              0
              • Categories
              • Recent
              • Tags
              • Popular
              • Users
              • Groups
              • Search
              • Get Qt Extensions
              • Unsolved