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. Use qt installer framework in a windows docker container
Forum Update on Monday, May 27th 2025

Use qt installer framework in a windows docker container

Scheduled Pinned Locked Moved Unsolved General and Desktop
13 Posts 5 Posters 2.1k 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.
  • SGaistS Offline
    SGaistS Offline
    SGaist
    Lifetime Qt Champion
    wrote on last edited by
    #3

    Hi,

    Just an educated guess but it looks like a full Windows VS a minimal version for server use.

    Interested in AI ? www.idiap.ch
    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

    1 Reply Last reply
    0
    • apalomerA Offline
      apalomerA Offline
      apalomer
      wrote on last edited by
      #4

      Yes, but shouldn't I get an error or something during installation if there is some important dependency from qt installer framework that is missing?

      1 Reply Last reply
      0
      • SGaistS Offline
        SGaistS Offline
        SGaist
        Lifetime Qt Champion
        wrote on last edited by
        #5

        The thing that might be missing is the GUI part but it does not mean that it is something that can be detected easily. You might also want to use the offscreen backend so it might still be a viable solution.

        Interested in AI ? www.idiap.ch
        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

        1 Reply Last reply
        0
        • apalomerA Offline
          apalomerA Offline
          apalomer
          wrote on last edited by
          #6

          I don't know, and have not been able to find, anyting relating offscreen backend neither for server core nor for QTIFW. Could you please point something out about this so I can try to digg deeper into it?
          Thanks!

          1 Reply Last reply
          0
          • SGaistS Offline
            SGaistS Offline
            SGaist
            Lifetime Qt Champion
            wrote on last edited by
            #7

            I meant the Qt QPA backend named offscreen.

            Interested in AI ? www.idiap.ch
            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

            1 Reply Last reply
            0
            • S Offline
              S Offline
              Siriusval
              wrote on last edited by
              #8

              Exit code

              When you execute one of QT IFW binaries in your servercore container, you can get the exit code in powershell.

              Let's take repogen for example.

              > .\repogen.exe
              > $LastExitCode
              -1073741515
              

              It exits with code -1073741515.
              The Microsoft Error Lookup Tool output STATUS_DLL_NOT_FOUND.

              Get missing dll

              Thanks to DUMPBIN (that comes with MSVC Build Tools), you can see the DLLs needed for qt ifw binaries.

              Mine was located at C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\dumpbin.exe.

              dumpbin /DEPENDENTS C:\Qt\QtIFW-4.1.1\bin\repogen.exe 
              

              Note the results, you can then search for each DLL on your OS with this powershell cmd.

              Get-ChildItem -Path C:\Windows\ -Filter dcomp.dll -Recurse -ErrorAction SilentlyContinue -Force
              

              I found out that dcomp.dll was missing.
              Indeed, we know Windows servercore is lacking GUI DLLs.

              Resolve

              As it doesn't come in a package, you can copy it directly in your container.
              Be careful to get a dll from Windows Server version matching your container (here 1809).

              Here the host was Windows Server 2019 Standard (1809).
              Container was mcr.microsoft.com/windows/servercore:1809

              docker stop <image_name>
              docker cp C:\Windows\SysWOW64\dcomp.dll <image_name>:C:\Windows\SysWOW64\dcomp.dll
              

              Now repogen is working.
              Others QT IFW binaries seem to work fine too.

              Much better than the +10Go from a Windows 10 image. 😁

              mrjjM 1 Reply Last reply
              2
              • S Siriusval

                Exit code

                When you execute one of QT IFW binaries in your servercore container, you can get the exit code in powershell.

                Let's take repogen for example.

                > .\repogen.exe
                > $LastExitCode
                -1073741515
                

                It exits with code -1073741515.
                The Microsoft Error Lookup Tool output STATUS_DLL_NOT_FOUND.

                Get missing dll

                Thanks to DUMPBIN (that comes with MSVC Build Tools), you can see the DLLs needed for qt ifw binaries.

                Mine was located at C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\dumpbin.exe.

                dumpbin /DEPENDENTS C:\Qt\QtIFW-4.1.1\bin\repogen.exe 
                

                Note the results, you can then search for each DLL on your OS with this powershell cmd.

                Get-ChildItem -Path C:\Windows\ -Filter dcomp.dll -Recurse -ErrorAction SilentlyContinue -Force
                

                I found out that dcomp.dll was missing.
                Indeed, we know Windows servercore is lacking GUI DLLs.

                Resolve

                As it doesn't come in a package, you can copy it directly in your container.
                Be careful to get a dll from Windows Server version matching your container (here 1809).

                Here the host was Windows Server 2019 Standard (1809).
                Container was mcr.microsoft.com/windows/servercore:1809

                docker stop <image_name>
                docker cp C:\Windows\SysWOW64\dcomp.dll <image_name>:C:\Windows\SysWOW64\dcomp.dll
                

                Now repogen is working.
                Others QT IFW binaries seem to work fine too.

                Much better than the +10Go from a Windows 10 image. 😁

                mrjjM Offline
                mrjjM Offline
                mrjj
                Lifetime Qt Champion
                wrote on last edited by
                #9

                Hi

                So how much space did it end up using ?

                Just tried a Win 11 in a VM and it was 45 GB so if that is any indication, dockers
                seems like more fun than WMs in some years.

                S 1 Reply Last reply
                0
                • mrjjM mrjj

                  Hi

                  So how much space did it end up using ?

                  Just tried a Win 11 in a VM and it was 45 GB so if that is any indication, dockers
                  seems like more fun than WMs in some years.

                  S Offline
                  S Offline
                  Siriusval
                  wrote on last edited by
                  #10

                  @mrjj Our custom Win10 docker image uses 19Go, but there's multiple MSVC installs and softwares we need in our stack.
                  As the Windows ServerCore is only 6Go, you could probably end up with something in between :)

                  mrjjM 1 Reply Last reply
                  1
                  • S Siriusval

                    @mrjj Our custom Win10 docker image uses 19Go, but there's multiple MSVC installs and softwares we need in our stack.
                    As the Windows ServerCore is only 6Go, you could probably end up with something in between :)

                    mrjjM Offline
                    mrjjM Offline
                    mrjj
                    Lifetime Qt Champion
                    wrote on last edited by mrjj
                    #11

                    @Siriusval
                    Hi
                    19GB with multiple VS installed seems pretty good as normally I would hit
                    around 100 GB in a Vm.
                    What do you use for the GUI apps ? VNC or remote desktop ?
                    Or its ONLY compilers and ssh and commanline ?

                    S 1 Reply Last reply
                    0
                    • mrjjM mrjj

                      @Siriusval
                      Hi
                      19GB with multiple VS installed seems pretty good as normally I would hit
                      around 100 GB in a Vm.
                      What do you use for the GUI apps ? VNC or remote desktop ?
                      Or its ONLY compilers and ssh and commanline ?

                      S Offline
                      S Offline
                      Siriusval
                      wrote on last edited by
                      #12

                      Hello @mrjj,

                      This image is only used for CI.
                      It's only command line, no GUI.
                      Even if you wanted to use VNC or remote desktop, I'm not sure you could.
                      The official windows/servercore docker image comes without the "Desktop Experience", so there's no GUI at all.
                      Hence our problem of missing graphic .DLLs like dcomp.

                      Hope this helps 😁.

                      1 Reply Last reply
                      1
                      • apalomerA apalomer

                        I have solved the issue myself. Although I do not understand why, everything works if I use FROM mcr.microsoft.com/windows:20H2 instead of FROM mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2019.

                        R Offline
                        R Offline
                        rodrigoleao
                        wrote on last edited by
                        #13

                        @apalomer said in Use qt installer framework in a windows docker container:

                        I have solved the issue myself. Although I do not understand why, everything works if I use FROM mcr.microsoft.com/windows:20H2 instead of FROM mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2019.

                        I tried that but got this error: (8007052E The user name or password is incorrect)

                        1 Reply Last reply
                        0

                        • Login

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