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. windeployqt question
Forum Updated to NodeBB v4.3 + New Features

windeployqt question

Scheduled Pinned Locked Moved Unsolved Qt Creator and other tools
6 Posts 4 Posters 516 Views 2 Watching
  • 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.
  • PerdrixP Offline
    PerdrixP Offline
    Perdrix
    wrote on last edited by Perdrix
    #1

    windeployqt always places these four dlls in the output directory:

    19/10/2022 14:45 4,916,712 d3dcompiler_47.dll
    04/06/2020 07:50 20,633,208 opengl32sw.dll
    22/09/2022 08:58 1,407,888 Qt6Network.dll
    23/09/2022 03:17 358,800 Qt6Svg.dll

    I use neither OpenGL nor Direct3D, nor SVG, so can I omit those three dlls from the installer?

    I do use QNetworkRequest and QNetworkReply, so believe that I need Qt6Network.dll. Is that correct?

    A similar question about vc-redist.x64.exe: Do I need ship that as part of the installer. If so what makes the decision to run it? Or should I just include:

    28/07/2022 13:57 5,814,528 mfc140u.dll
    28/07/2022 13:57 675,984 msvcp140.dll
    28/07/2022 13:57 153,840 vcomp140.dll
    28/07/2022 13:57 89,248 vcruntime140.dll
    05/10/2022 22:36 49,488 vcruntime140_1.dll

    Thanks
    David

    D J.HilkJ 2 Replies Last reply
    0
    • PerdrixP Perdrix

      windeployqt always places these four dlls in the output directory:

      19/10/2022 14:45 4,916,712 d3dcompiler_47.dll
      04/06/2020 07:50 20,633,208 opengl32sw.dll
      22/09/2022 08:58 1,407,888 Qt6Network.dll
      23/09/2022 03:17 358,800 Qt6Svg.dll

      I use neither OpenGL nor Direct3D, nor SVG, so can I omit those three dlls from the installer?

      I do use QNetworkRequest and QNetworkReply, so believe that I need Qt6Network.dll. Is that correct?

      A similar question about vc-redist.x64.exe: Do I need ship that as part of the installer. If so what makes the decision to run it? Or should I just include:

      28/07/2022 13:57 5,814,528 mfc140u.dll
      28/07/2022 13:57 675,984 msvcp140.dll
      28/07/2022 13:57 153,840 vcomp140.dll
      28/07/2022 13:57 89,248 vcruntime140.dll
      05/10/2022 22:36 49,488 vcruntime140_1.dll

      Thanks
      David

      D Offline
      D Offline
      DerReisende
      wrote on last edited by DerReisende
      #2

      @Perdrix According to the Qt doc you should use Dependency Walker to check which DLLs your app uses and copy those.

      Regarding opengl sw rasterizer: I omitted this on some deployments but found later that especially older Intel integrated GPU drivers were not entirely useful for Qt and it somehow fell back to using the SW rasterizer. Therefore I just opted to deliver it by default.
      There is also somewhere an explanation about dynamic loading of OpenGL somewhere in the doc but I couldnt find it anymore. Also note as this lib is loaded dynamically you will not see a dependency in Dependency Walker normally.

      I do not deploy the D3D dynamic compiler and never had problems with a plain Qt Widgets app. There is also a param to skip deployment with windeployqt.

      1 Reply Last reply
      1
      • D Offline
        D Offline
        DerReisende
        wrote on last edited by
        #3

        I am also using Dependencies as a replacement for Dependency Walker as I had problems running it on windows 11.

        1 Reply Last reply
        3
        • PerdrixP Offline
          PerdrixP Offline
          Perdrix
          wrote on last edited by
          #4

          Thanks, that's what I suspected - I had used Dependencies and it didn't report that I needed the others, but I didn't know if (e.g.) Qt6Network.dll got loaded dynamically.

          Any thoughts on vc-redistx64?

          1 Reply Last reply
          0
          • PerdrixP Perdrix

            windeployqt always places these four dlls in the output directory:

            19/10/2022 14:45 4,916,712 d3dcompiler_47.dll
            04/06/2020 07:50 20,633,208 opengl32sw.dll
            22/09/2022 08:58 1,407,888 Qt6Network.dll
            23/09/2022 03:17 358,800 Qt6Svg.dll

            I use neither OpenGL nor Direct3D, nor SVG, so can I omit those three dlls from the installer?

            I do use QNetworkRequest and QNetworkReply, so believe that I need Qt6Network.dll. Is that correct?

            A similar question about vc-redist.x64.exe: Do I need ship that as part of the installer. If so what makes the decision to run it? Or should I just include:

            28/07/2022 13:57 5,814,528 mfc140u.dll
            28/07/2022 13:57 675,984 msvcp140.dll
            28/07/2022 13:57 153,840 vcomp140.dll
            28/07/2022 13:57 89,248 vcruntime140.dll
            05/10/2022 22:36 49,488 vcruntime140_1.dll

            Thanks
            David

            J.HilkJ Offline
            J.HilkJ Offline
            J.Hilk
            Moderators
            wrote on last edited by J.Hilk
            #5

            @Perdrix

            A similar question about vc-redist.x64.exe: Do I need ship that as part of the installer.

            If you compiled your application with msvc then yes, you need to ship it and execute it during installation

            If you only ship the vc dlls you will have cases where those are not enough


            Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


            Q: What's that?
            A: It's blue light.
            Q: What does it do?
            A: It turns blue.

            1 Reply Last reply
            2
            • cristian-adamC Offline
              cristian-adamC Offline
              cristian-adam
              wrote on last edited by
              #6

              Have a look at https://learn.microsoft.com/en-us/cpp/windows/deployment-in-visual-cpp?view=msvc-170

              You can do a central deployment via vc-redistx64 or local deployment where you copy the dlls alongside your executable.

              1 Reply Last reply
              1

              • Login

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