Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Qt Creator and other tools
  4. dll's missing when launch on win7_32, runs fine on win8.1_32 (and win10_64) ?

dll's missing when launch on win7_32, runs fine on win8.1_32 (and win10_64) ?

Scheduled Pinned Locked Moved Unsolved Qt Creator and other tools
21 Posts 5 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.
  • D Offline
    D Offline
    davecotter
    wrote on 15 Aug 2017, 16:28 last edited by
    #10

    okay but i don't know what this means. am i expected to include all these DLLs in my exe directory? sorry i'm just learning about all this stuff

    0_1502814449573_Screen Shot 2017-08-15 at 9.26.58 AM.png

    1 Reply Last reply
    0
    • H Online
      H Online
      hskoglund
      wrote on 15 Aug 2017, 17:34 last edited by
      #11

      Hi, I recently deployed one of my Qt programs (with MSVC2015 runtimes) to about a dozen Windows 7 SP1 computers, using the same method of including ucrtbase.dll, vcruntime140.dll and msvcp140.dll along with the usual Qt5core.dll, platform subdir etc.
      On all of them except one this worked like a charm, but one PC gave a similar error like yours. I solved it by downloading and installing the VS2015 VCRedist package.
      So it seems that (contrary to prior versions of VS) that the VCRedist package does some more fiddling behind the curtains than just copying those 3 dlls mentioned above to C:\Windows\SysWOW64...

      P.S. Also, as others probably have mentioned, those API-MS-WIN- dlls are dummy files (i.e. false positives from Dependency Walker) that are a part of Microsoft's refactoring efforts on Windiows, they shouldn't be copied and are not a part of the deployment problem.

      D 1 Reply Last reply 15 Aug 2017, 18:05
      0
      • H hskoglund
        15 Aug 2017, 17:34

        Hi, I recently deployed one of my Qt programs (with MSVC2015 runtimes) to about a dozen Windows 7 SP1 computers, using the same method of including ucrtbase.dll, vcruntime140.dll and msvcp140.dll along with the usual Qt5core.dll, platform subdir etc.
        On all of them except one this worked like a charm, but one PC gave a similar error like yours. I solved it by downloading and installing the VS2015 VCRedist package.
        So it seems that (contrary to prior versions of VS) that the VCRedist package does some more fiddling behind the curtains than just copying those 3 dlls mentioned above to C:\Windows\SysWOW64...

        P.S. Also, as others probably have mentioned, those API-MS-WIN- dlls are dummy files (i.e. false positives from Dependency Walker) that are a part of Microsoft's refactoring efforts on Windiows, they shouldn't be copied and are not a part of the deployment problem.

        D Offline
        D Offline
        davecotter
        wrote on 15 Aug 2017, 18:05 last edited by
        #12

        @hskoglund i tried that, sadly no dice. same exact error as in the first screen shot. note i had installed KB2999226 previously, but i don't see how that could interfere. should i attempt a clean wipe of the OS and reinstall from scratch, and then ONLY install the VCRedist pkg? (i loathe that only because doing all the software updates AFTER the install takes a long time and much babysitting). also note i have Windows 7 "Enterprise", though that shouldn't make a diff (and yes, SP1 is installed). also this is a tryout OS (not yet activated), though that TOO shouldn't interfere?

        1 Reply Last reply
        0
        • H Online
          H Online
          hskoglund
          wrote on 15 Aug 2017, 19:53 last edited by
          #13

          Hi, no, different versions of Win7 like "Enterprise" or activation or not shouldn't matter. And a wipe (shudder) is also a waste of time I think.

          I looked a bit more into my .zip file that I used to deploy, apart from the usual Qtxxx.dlls I also have D3Dcompiler_47.dll, opengl32sw.dll, libGLESV2.dll and libEGL.dll. Assume you have the same files, right?

          Some more tips: on that troublesome Win7 PC, try loading your program into Dependency Walker and hit F7 to begin profiling it. When it aborts with the error, Dependency Walker's log window might show some hints of why.
          Also, try to see if you can reproduce the error on that PC with a simple test program, like an empty Widgets program. BTW: your program is Widget flavored and no QML, just checking?

          1 Reply Last reply
          0
          • D Offline
            D Offline
            davecotter
            wrote on 15 Aug 2017, 20:12 last edited by
            #14

            yes i have the same extra 4 dlls you mention.
            yes widgets
            here's the log:

            --------------------------------------------------------------------------------
            Starting profile on 8/15/2017 at 1:11:37 PM
            
            Operating System: Microsoft Windows NT/2000/XP/2003/Vista based Enterprise (32-bit), version 6.01.7601 Service Pack 1
            Program Executable: z:\users\davec\developer\depot\kjams\development\qt\build\win_32\kjams 2.app\contents\windows\KJAMS 2.EXE
            Program Arguments: 
            Starting Directory: Z:\Users\davec\Developer\depot\kJams\Development\qt\build\win_32\kJams 2.app\Contents\Windows\
            Search Path: C:\Program Files\Parallels\Parallels Tools\Applications;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\
            
            Options Selected:
                 Simulate ShellExecute by inserting any App Paths directories into the PATH environment variable.
                 Log DllMain calls for process attach and process detach messages.
                 Hook the process to gather more detailed dependency information.
                 Log LoadLibrary function calls.
                 Log GetProcAddress function calls.
                 Log debug output messages.
                 Use full paths when logging file names.
                 Automatically open and profile child processes.
            --------------------------------------------------------------------------------
            
            Started "z:\users\davec\developer\depot\kjams\development\qt\build\win_32\kjams 2.app\contents\windows\KJAMS 2.EXE" (process 0xF00) at address 0x00AD0000.  Successfully hooked module.
            Loaded "c:\windows\system32\NTDLL.DLL" at address 0x77360000.  Successfully hooked module.
            Loaded "c:\windows\system32\KERNEL32.DLL" at address 0x76470000.  Successfully hooked module.
            Loaded "c:\windows\system32\KERNELBASE.DLL" at address 0x75320000.  Successfully hooked module.
            DllMain(0x75320000, DLL_PROCESS_ATTACH, 0x00000000) in "c:\windows\system32\KERNELBASE.DLL" called.
            DllMain(0x75320000, DLL_PROCESS_ATTACH, 0x00000000) in "c:\windows\system32\KERNELBASE.DLL" returned 1 (0x1).
            DllMain(0x76470000, DLL_PROCESS_ATTACH, 0x00000000) in "c:\windows\system32\KERNEL32.DLL" called.
            DllMain(0x76470000, DLL_PROCESS_ATTACH, 0x00000000) in "c:\windows\system32\KERNEL32.DLL" returned 1 (0x1).
            Injected "c:\program files\dependency walker\DEPENDS.DLL" at address 0x08370000.
            DllMain(0x08370000, DLL_PROCESS_ATTACH, 0x00000000) in "c:\program files\dependency walker\DEPENDS.DLL" called.
            DllMain(0x08370000, DLL_PROCESS_ATTACH, 0x00000000) in "c:\program files\dependency walker\DEPENDS.DLL" returned 1 (0x1).
            Loaded "c:\windows\system32\SHELL32.DLL" at address 0x755E0000.  Successfully hooked module.
            Loaded "c:\windows\system32\MSVCRT.DLL" at address 0x76A40000.  Successfully hooked module.
            Loaded "c:\windows\system32\SHLWAPI.DLL" at address 0x77300000.  Successfully hooked module.
            Loaded "c:\windows\system32\GDI32.DLL" at address 0x76F50000.  Successfully hooked module.
            Loaded "c:\windows\system32\USER32.DLL" at address 0x76E50000.  Successfully hooked module.
            Loaded "c:\windows\system32\LPK.DLL" at address 0x765A0000.  Successfully hooked module.
            Loaded "c:\windows\system32\USP10.DLL" at address 0x76DB0000.  Successfully hooked module.
            Loaded "z:\users\davec\developer\depot\kjams\development\qt\build\win_32\kjams 2.app\contents\windows\CFLITE.DLL" at address 0x6C390000.  Successfully hooked module.
            Loaded "z:\users\davec\developer\depot\kjams\development\qt\build\win_32\kjams 2.app\contents\windows\ICUUC40.DLL" at address 0x6C2A0000.  Successfully hooked module.
            Loaded "z:\users\davec\developer\depot\kjams\development\qt\build\win_32\kjams 2.app\contents\windows\ICUDT40.DLL" at address 0x69B70000.  Successfully hooked module.
            Loaded "c:\windows\system32\ADVAPI32.DLL" at address 0x77250000.  Successfully hooked module.
            Loaded "c:\windows\system32\SECHOST.DLL" at address 0x774D0000.  Successfully hooked module.
            Loaded "c:\windows\system32\RPCRT4.DLL" at address 0x77500000.  Successfully hooked module.
            Loaded "c:\windows\winsxs\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4940_none_d08cc06a442b34fc\MSVCR80.DLL" at address 0x6D0A0000.  Successfully hooked module.
            Loaded "z:\users\davec\developer\depot\kjams\development\qt\build\win_32\kjams 2.app\contents\windows\ICUIN40.DLL" at address 0x69A70000.  Successfully hooked module.
            Loaded "z:\users\davec\developer\depot\kjams\development\qt\build\win_32\kjams 2.app\contents\windows\LIBSSL-43.DLL" at address 0x71C80000.  Successfully hooked module.
            Loaded "z:\users\davec\developer\depot\kjams\development\qt\build\win_32\kjams 2.app\contents\windows\LIBCRYPTO-41.DLL" at address 0x69910000.  Successfully hooked module.
            Loaded "c:\windows\system32\WS2_32.DLL" at address 0x755A0000.  Successfully hooked module.
            Loaded "c:\windows\system32\NSI.DLL" at address 0x774B0000.  Successfully hooked module.
            Loaded "c:\windows\system32\OLE32.DLL" at address 0x76760000.  Successfully hooked module.
            Loaded "c:\windows\system32\OLEAUT32.DLL" at address 0x76B70000.  Successfully hooked module.
            Loaded "z:\users\davec\developer\depot\kjams\development\qt\build\win_32\kjams 2.app\contents\windows\VCRUNTIME140.DLL" at address 0x71EB0000.  Successfully hooked module.
            Loaded "c:\windows\system32\API-MS-WIN-CRT-RUNTIME-L1-1-0.DLL" at address 0x74050000.  Successfully hooked module.
            Loaded "z:\users\davec\developer\depot\kjams\development\qt\build\win_32\kjams 2.app\contents\windows\UCRTBASE.DLL" at address 0x697F0000.  Successfully hooked module.
            Loaded "c:\windows\system32\API-MS-WIN-CORE-TIMEZONE-L1-1-0.DLL" at address 0x72000000.  Successfully hooked module.
            Loaded "c:\windows\system32\API-MS-WIN-CORE-FILE-L2-1-0.DLL" at address 0x71EA0000.  Successfully hooked module.
            Loaded "c:\windows\system32\API-MS-WIN-CORE-LOCALIZATION-L1-2-0.DLL" at address 0x71F40000.  Successfully hooked module.
            Loaded "c:\windows\system32\API-MS-WIN-CORE-SYNCH-L1-2-0.DLL" at address 0x6DB80000.  Successfully hooked module.
            Loaded "c:\windows\system32\API-MS-WIN-CORE-PROCESSTHREADS-L1-1-1.DLL" at address 0x71190000.  Successfully hooked module.
            Loaded "c:\windows\system32\API-MS-WIN-CORE-FILE-L1-2-0.DLL" at address 0x71C70000.  Successfully hooked module.
            Loaded "c:\windows\system32\API-MS-WIN-CRT-STRING-L1-1-0.DLL" at address 0x71120000.  Successfully hooked module.
            Loaded "c:\windows\system32\API-MS-WIN-CRT-HEAP-L1-1-0.DLL" at address 0x71180000.  Successfully hooked module.
            Loaded "c:\windows\system32\API-MS-WIN-CRT-STDIO-L1-1-0.DLL" at address 0x710D0000.  Successfully hooked module.
            Loaded "c:\windows\system32\API-MS-WIN-CRT-CONVERT-L1-1-0.DLL" at address 0x710E0000.  Successfully hooked module.
            Exited "z:\users\davec\developer\depot\kjams\development\qt\build\win_32\kjams 2.app\contents\windows\KJAMS 2.EXE" (process 0xF00) with code -1073741515 (0xC0000135).
            
            
            1 Reply Last reply
            0
            • D Offline
              D Offline
              davecotter
              wrote on 15 Aug 2017, 20:15 last edited by
              #15

              in case it matters, here's my exe directory:

              0_1502828134603_Screen Shot 2017-08-15 at 1.15.12 PM.png

              1 Reply Last reply
              0
              • D Offline
                D Offline
                davecotter
                wrote on 15 Aug 2017, 20:17 last edited by
                #16

                i notice it never did load 'msvcp140.dll'
                ?

                1 Reply Last reply
                0
                • H Online
                  H Online
                  hskoglund
                  wrote on 15 Aug 2017, 21:36 last edited by
                  #17

                  Indeed, 'msvcp140.dll' should be there in the log pretty close to 'vcruntime140.dll' and 'ucrtbase.dll'. I think the culprit is the loading of 'msvcr80.dll' (runtime for Visual Studio 2005) together with the positively ancient icu40xx.dll files. Perhaps that runtime DLL for VS2005 prevents msvcp140.dll from loading.
                  Any chance you could upgrade those files to icu59?

                  1 Reply Last reply
                  0
                  • D Offline
                    D Offline
                    davecotter
                    wrote on 15 Aug 2017, 21:41 last edited by
                    #18

                    @hskoglund said in dll's missing when launch on win7_32, runs fine on win8.1_32 (and win10_64) ?:

                    Perhaps that runtime DLL for VS2005

                    a very good call. i shall thy this forthwith!

                    H 1 Reply Last reply 15 Aug 2017, 21:43
                    0
                    • D davecotter
                      15 Aug 2017, 21:41

                      @hskoglund said in dll's missing when launch on win7_32, runs fine on win8.1_32 (and win10_64) ?:

                      Perhaps that runtime DLL for VS2005

                      a very good call. i shall thy this forthwith!

                      H Online
                      H Online
                      hskoglund
                      wrote on 15 Aug 2017, 21:43 last edited by
                      #19

                      @davecotter Note this's just a guess, because your app works fine on Win8 and Win10, but it's worth a shot...

                      1 Reply Last reply
                      0
                      • D Offline
                        D Offline
                        davecotter
                        wrote on 16 Aug 2017, 15:31 last edited by
                        #20

                        okay same story :(
                        i got it running with icu75 (the only dist with both 32 and 64 binaries)
                        i had to install the vs2010 runtimes, but after that, same exact error message as in first screenshot.
                        here's the new logs from depwalker:

                        --------------------------------------------------------------------------------
                        Starting profile on 8/16/2017 at 8:29:38 AM
                        
                        Operating System: Microsoft Windows NT/2000/XP/2003/Vista based Enterprise (32-bit), version 6.01.7601 Service Pack 1
                        Program Executable: z:\users\davec\developer\depot\kjams\development\qt\build\win_32\kjams 2.app\contents\windows\KJAMS 2.EXE
                        Program Arguments: 
                        Starting Directory: Z:\Users\davec\Developer\depot\kJams\Development\qt\build\win_32\kJams 2.app\Contents\Windows\
                        Search Path: C:\Program Files\Parallels\Parallels Tools\Applications;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\
                        
                        Options Selected:
                             Simulate ShellExecute by inserting any App Paths directories into the PATH environment variable.
                             Log DllMain calls for process attach and process detach messages.
                             Hook the process to gather more detailed dependency information.
                             Log LoadLibrary function calls.
                             Log GetProcAddress function calls.
                             Log debug output messages.
                             Use full paths when logging file names.
                             Automatically open and profile child processes.
                        --------------------------------------------------------------------------------
                        
                        Started "z:\users\davec\developer\depot\kjams\development\qt\build\win_32\kjams 2.app\contents\windows\KJAMS 2.EXE" (process 0x940) at address 0x00270000.  Successfully hooked module.
                        Loaded "c:\windows\system32\NTDLL.DLL" at address 0x77360000.  Successfully hooked module.
                        Loaded "c:\windows\system32\KERNEL32.DLL" at address 0x76470000.  Successfully hooked module.
                        Loaded "c:\windows\system32\KERNELBASE.DLL" at address 0x75320000.  Successfully hooked module.
                        DllMain(0x75320000, DLL_PROCESS_ATTACH, 0x00000000) in "c:\windows\system32\KERNELBASE.DLL" called.
                        DllMain(0x75320000, DLL_PROCESS_ATTACH, 0x00000000) in "c:\windows\system32\KERNELBASE.DLL" returned 1 (0x1).
                        DllMain(0x76470000, DLL_PROCESS_ATTACH, 0x00000000) in "c:\windows\system32\KERNEL32.DLL" called.
                        DllMain(0x76470000, DLL_PROCESS_ATTACH, 0x00000000) in "c:\windows\system32\KERNEL32.DLL" returned 1 (0x1).
                        Injected "c:\program files\dependency walker\DEPENDS.DLL" at address 0x08370000.
                        DllMain(0x08370000, DLL_PROCESS_ATTACH, 0x00000000) in "c:\program files\dependency walker\DEPENDS.DLL" called.
                        DllMain(0x08370000, DLL_PROCESS_ATTACH, 0x00000000) in "c:\program files\dependency walker\DEPENDS.DLL" returned 1 (0x1).
                        Loaded "c:\windows\system32\SHELL32.DLL" at address 0x755E0000.  Successfully hooked module.
                        Loaded "c:\windows\system32\MSVCRT.DLL" at address 0x76A40000.  Successfully hooked module.
                        Loaded "c:\windows\system32\SHLWAPI.DLL" at address 0x77300000.  Successfully hooked module.
                        Loaded "c:\windows\system32\GDI32.DLL" at address 0x76F50000.  Successfully hooked module.
                        Loaded "c:\windows\system32\USER32.DLL" at address 0x76E50000.  Successfully hooked module.
                        Loaded "c:\windows\system32\LPK.DLL" at address 0x765A0000.  Successfully hooked module.
                        Loaded "c:\windows\system32\USP10.DLL" at address 0x76DB0000.  Successfully hooked module.
                        Loaded "z:\users\davec\developer\depot\kjams\development\qt\build\win_32\kjams 2.app\contents\windows\CFLITE.DLL" at address 0x6C390000.  Successfully hooked module.
                        Loaded "z:\users\davec\developer\depot\kjams\development\qt\build\win_32\kjams 2.app\contents\windows\ICUUC57.DLL" at address 0x4A800000.  Successfully hooked module.
                        Loaded "c:\windows\system32\ADVAPI32.DLL" at address 0x77250000.  Successfully hooked module.
                        Loaded "c:\windows\system32\SECHOST.DLL" at address 0x774D0000.  Successfully hooked module.
                        Loaded "c:\windows\system32\RPCRT4.DLL" at address 0x77500000.  Successfully hooked module.
                        Loaded "z:\users\davec\developer\depot\kjams\development\qt\build\win_32\kjams 2.app\contents\windows\ICUDT57.DLL" at address 0x66E50000.  Successfully hooked module.
                        Loaded "c:\windows\system32\MSVCR100.DLL" at address 0x6C1D0000.  Successfully hooked module.
                        Loaded "z:\users\davec\developer\depot\kjams\development\qt\build\win_32\kjams 2.app\contents\windows\ICUIN57.DLL" at address 0x00410000.  Successfully hooked module.
                        Loaded "c:\windows\system32\MSVCP100.DLL" at address 0x6A9C0000.  Successfully hooked module.
                        Loaded "z:\users\davec\developer\depot\kjams\development\qt\build\win_32\kjams 2.app\contents\windows\LIBSSL-43.DLL" at address 0x6C340000.  Successfully hooked module.
                        Loaded "z:\users\davec\developer\depot\kjams\development\qt\build\win_32\kjams 2.app\contents\windows\LIBCRYPTO-41.DLL" at address 0x69B90000.  Successfully hooked module.
                        Loaded "c:\windows\system32\WS2_32.DLL" at address 0x755A0000.  Successfully hooked module.
                        Loaded "c:\windows\system32\NSI.DLL" at address 0x774B0000.  Successfully hooked module.
                        Loaded "c:\windows\system32\OLE32.DLL" at address 0x76760000.  Successfully hooked module.
                        Loaded "c:\windows\system32\OLEAUT32.DLL" at address 0x76B70000.  Successfully hooked module.
                        Loaded "z:\users\davec\developer\depot\kjams\development\qt\build\win_32\kjams 2.app\contents\windows\VCRUNTIME140.DLL" at address 0x71D20000.  Successfully hooked module.
                        Loaded "c:\windows\system32\API-MS-WIN-CRT-RUNTIME-L1-1-0.DLL" at address 0x71D10000.  Successfully hooked module.
                        Loaded "z:\users\davec\developer\depot\kjams\development\qt\build\win_32\kjams 2.app\contents\windows\UCRTBASE.DLL" at address 0x69A70000.  Successfully hooked module.
                        Loaded "c:\windows\system32\API-MS-WIN-CORE-TIMEZONE-L1-1-0.DLL" at address 0x71D00000.  Successfully hooked module.
                        Loaded "c:\windows\system32\API-MS-WIN-CORE-FILE-L2-1-0.DLL" at address 0x71CC0000.  Successfully hooked module.
                        Loaded "c:\windows\system32\API-MS-WIN-CORE-LOCALIZATION-L1-2-0.DLL" at address 0x71C70000.  Successfully hooked module.
                        Loaded "c:\windows\system32\API-MS-WIN-CORE-SYNCH-L1-2-0.DLL" at address 0x6DB80000.  Successfully hooked module.
                        Loaded "c:\windows\system32\API-MS-WIN-CORE-PROCESSTHREADS-L1-1-1.DLL" at address 0x71120000.  Successfully hooked module.
                        Loaded "c:\windows\system32\API-MS-WIN-CORE-FILE-L1-2-0.DLL" at address 0x70200000.  Successfully hooked module.
                        Loaded "c:\windows\system32\API-MS-WIN-CRT-STRING-L1-1-0.DLL" at address 0x701F0000.  Successfully hooked module.
                        Loaded "c:\windows\system32\API-MS-WIN-CRT-HEAP-L1-1-0.DLL" at address 0x701E0000.  Successfully hooked module.
                        Loaded "c:\windows\system32\API-MS-WIN-CRT-STDIO-L1-1-0.DLL" at address 0x701D0000.  Successfully hooked module.
                        Loaded "c:\windows\system32\API-MS-WIN-CRT-CONVERT-L1-1-0.DLL" at address 0x6FFD0000.  Successfully hooked module.
                        Exited "z:\users\davec\developer\depot\kjams\development\qt\build\win_32\kjams 2.app\contents\windows\KJAMS 2.EXE" (process 0x940) with code -1073741515 (0xC0000135).
                        
                        
                        1 Reply Last reply
                        0
                        • H Online
                          H Online
                          hskoglund
                          wrote on 16 Aug 2017, 18:17 last edited by
                          #21

                          Hi, hmmm got 2 suggestions:
                          try a simple vanilla Widgets program to make sure your Win7 isn't out of whack,
                          and to completely stamp out the possibility of the different VC runtimes clobbering each other, you don't happen to have an old copy of Visual 2010 around? If so, you could download Qt 5.5.1 (the last version that had prebuilt binaries for MSVC2010) and test your app on it. That way, both your code and the ICU dlls would depend on just msvcr100.dll and msvcp100.dll.

                          1 Reply Last reply
                          0

                          19/21

                          15 Aug 2017, 21:43

                          • Login

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