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. The windeployqt tool that comes with Qt 5.2

The windeployqt tool that comes with Qt 5.2

Scheduled Pinned Locked Moved General and Desktop
34 Posts 7 Posters 35.9k Views 1 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.
  • X Offline
    X Offline
    Xander84
    wrote on last edited by
    #3

    Doesn't really work for me!? I always get this:

    bq. MyApp.exe: 32bit, release executable[QML]
    Unable to locate ICU library icuin51.dll

    even when I specify the bin dir myself (icuin51.dll is in there!)
    @
    C:\Qt\5.2.1\mingw48_32\bin\windeployqt.exe --dir C
    :\Qt\5.2.1\mingw48_32\bin MyApp.exe
    @

    am I using it wrong? I don't see much doc but it doen't work for me, I rather stick to manual deployment then haha

    1 Reply Last reply
    0
    • Chris KawaC Offline
      Chris KawaC Offline
      Chris Kawa
      Lifetime Qt Champion
      wrote on last edited by
      #4

      Yeah, because it suffers from exactly the problems I described ;)
      It's PATH dependent. If you do
      @
      set PATH=C:\Qt\5.2.1\mingw48_32\bin;%PATH%
      @
      before you use it it will work. Of course if you have different Qt in the path it will mess up your app ;) I guess it's meant to be run from an IDE that sets these paths for you (probably it's meant for WinRT deployment).
      Apart from that it doesn't handle plugins well (it just tosses them all in) and doesn't handle compiler runtime at all.
      But I guess it can be a starting point for a deployment script. I didn't know it existed. It's nice to see someone is working on that.

      1 Reply Last reply
      0
      • hskoglundH Offline
        hskoglundH Offline
        hskoglund
        wrote on last edited by
        #5

        Hi, in Qt5.3 windeployqt gets a slight boost: it will also copy in the compiler runtime DLLs (both MinGW- and VS-flavor).

        Also for the PATH fiddling, when you install Qt on Windows, it will create a .bat file in C:\Qt\5.2.1\mingw48_32\bin called qtenv2.bat. (I.e. an easy way to set the path to your Qt.)

        1 Reply Last reply
        0
        • Q Offline
          Q Offline
          qxoz
          wrote on last edited by
          #6

          this is a good news :)

          1 Reply Last reply
          0
          • L Offline
            L Offline
            Leon
            wrote on last edited by
            #7

            I got exactly the same error
            @Unable to locate ICU library icuin52.dll@

            In this thread am i blind or is there a solution in an answer?
            I mean what are the steps to fix the problem?

            I have run qtenv2.bat, same error

            I have Win8.1, qt 5.3.2 and its bin folder is located at C:\Qt\5.3\mingw482_32\bin, and my .exe released file is located at C:\Users\Leon\Desktop\applib\app.exe

            P.S newbie on deploying here

            1 Reply Last reply
            0
            • L Offline
              L Offline
              Leon
              wrote on last edited by
              #8
              This post is deleted!
              1 Reply Last reply
              0
              • Chris KawaC Offline
                Chris KawaC Offline
                Chris Kawa
                Lifetime Qt Champion
                wrote on last edited by
                #9

                Two choices:
                1)
                open command prompt
                execute: C:\Qt\5.3\mingw482_32\bin\qtenv2.bat
                execute C:\Qt\5.3\mingw482_32\bin\windeployqt X:/path/to/your/app.exe

                You might need to play around with windeployqt parameters if you don't need everything eg. translations, plugins etc.

                go to C:\Qt\5.3\mingw482_32\bin
                manually copy any dlls you need to X:/path/to/your/app/directory/

                1 Reply Last reply
                0
                • Chris KawaC Offline
                  Chris KawaC Offline
                  Chris Kawa
                  Lifetime Qt Champion
                  wrote on last edited by
                  #10
                  This post is deleted!
                  1 Reply Last reply
                  0
                  • hskoglundH Offline
                    hskoglundH Offline
                    hskoglund
                    wrote on last edited by
                    #11

                    Also, you could have some remnants of Qt 5.2 in your Win8.1 PC, because Qt 5.3.2 uses icuin52.dll, not icuin51.dll.

                    So also perhaps check, what version of Qt windeployqt you have, type:
                    windeployqt -v

                    1 Reply Last reply
                    0
                    • hskoglundH Offline
                      hskoglundH Offline
                      hskoglund
                      wrote on last edited by
                      #12
                      This post is deleted!
                      1 Reply Last reply
                      0
                      • Chris KawaC Offline
                        Chris KawaC Offline
                        Chris Kawa
                        Lifetime Qt Champion
                        wrote on last edited by
                        #13

                        @hskoglund - nice catch!

                        1 Reply Last reply
                        0
                        • Chris KawaC Offline
                          Chris KawaC Offline
                          Chris Kawa
                          Lifetime Qt Champion
                          wrote on last edited by
                          #14
                          This post is deleted!
                          1 Reply Last reply
                          0
                          • hskoglundH Offline
                            hskoglundH Offline
                            hskoglund
                            wrote on last edited by
                            #15

                            @chris: thanks, I did some compiling/testing of those icu*.dll chaps this summer because of this "bug":https://bugreports.qt-project.org/browse/QTBUG-39640

                            It won't be fixed, but now that VS2015 is upon us, VS2012 is kind of obsolete anyway :-)

                            1 Reply Last reply
                            0
                            • hskoglundH Offline
                              hskoglundH Offline
                              hskoglund
                              wrote on last edited by
                              #16
                              This post is deleted!
                              1 Reply Last reply
                              0
                              • Chris KawaC Offline
                                Chris KawaC Offline
                                Chris Kawa
                                Lifetime Qt Champion
                                wrote on last edited by
                                #17

                                This sounds scary to debug if you don't know what to look for. I'm glad it's not me who had to deal with that :P
                                And yeah, the split in VS2015 will undoubtedly cause some problems for people deploying their apps and looking for that MSVCR140 that is no longer there.

                                1 Reply Last reply
                                0
                                • Chris KawaC Offline
                                  Chris KawaC Offline
                                  Chris Kawa
                                  Lifetime Qt Champion
                                  wrote on last edited by
                                  #18
                                  This post is deleted!
                                  1 Reply Last reply
                                  0
                                  • L Offline
                                    L Offline
                                    Leon
                                    wrote on last edited by
                                    #19

                                    Chris Kawa
                                    2) I have actually managed to gather every dll needed, one by one, in order to run my .exe in another Pc not having qt installed. But it took me 20 minutes to delete one by one and my final folder should look like this:
                                    "http://i.imgur.com/wmyXybO.png":http://i.imgur.com/wmyXybO.png

                                    1. Didn't know i must run the dat from command, a lot of plugins got copied that was not neccesarry for running the .exe... (but they total 4mb) .. Is it for other version of Windows? I mean for example why do i need windowsprintersupport.dll? I don't use any kind of printing functions.. So which method is correct?

                                    hskoglund
                                    I edited my answer, it was icuin52.dll, i copied the error from google.

                                    1 Reply Last reply
                                    0
                                    • L Offline
                                      L Offline
                                      Leon
                                      wrote on last edited by
                                      #20
                                      This post is deleted!
                                      1 Reply Last reply
                                      0
                                      • Chris KawaC Offline
                                        Chris KawaC Offline
                                        Chris Kawa
                                        Lifetime Qt Champion
                                        wrote on last edited by
                                        #21

                                        If you open qtenv2.bat in a text editor you will see that it just sets the PATH environment variable like I mentioned in one of previous posts. But this change is local to that batch environment so yeah, you need to run it from command prompt, some script or build system. And if you run two command prompts you would need to run it in both. It doesn't propagate (which is good!).

                                        You might not need all the stuff windeployqt copies over. It can't know what's gonna be loaded at runtime so it just plays it safe and copies everything. Just throw out what you don't use. Some can be skipped via command params, type "windeployqt" without params to see help.

                                        As for manual copying - it took me something like 20 minutes the first time too, then about 3 the second time and then I just wrote a .bat that does it for me and it takes me <1 second ever since. Such is coders life ;)

                                        Btw. Do you really use multimedia, webkit, widgets, qml, sensors, positioning and sql all in one app?

                                        1 Reply Last reply
                                        0
                                        • Chris KawaC Offline
                                          Chris KawaC Offline
                                          Chris Kawa
                                          Lifetime Qt Champion
                                          wrote on last edited by
                                          #22
                                          This post is deleted!
                                          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