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. [SOLVED] Problem with release
QtWS25 Last Chance

[SOLVED] Problem with release

Scheduled Pinned Locked Moved General and Desktop
13 Posts 4 Posters 4.4k 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
    bareil76
    wrote on last edited by
    #1

    Hi,

    I finished my application. It is debugged on win 7. However, when I try it on win xp, the Icons (copy, cut, paste, etc) do not show up and some function makes the app crash.

    I tried to compile the application on win 7, and I found something! When I installed the msvc2008 and msvc2010 on the other computer... the program compiled with win 7 started to work completely.

    I think that my problem is that I need some sort of installer to installer the libraries along with the program on win xp. Where do I begin with that?

    thanks for your help

    1 Reply Last reply
    0
    • J Offline
      J Offline
      john_god
      wrote on last edited by
      #2

      With some 3rd party installer software, like inno setup, setup factory, installshield, ..., google will give plenty more :)

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

        You can use
        "Qt installer framework":http://qt.gitorious.org/installer-framework
        "Doc":http://doc-snapshot.qt-project.org/qtifw-1.2/index.html

        1 Reply Last reply
        0
        • B Offline
          B Offline
          bareil76
          wrote on last edited by
          #4

          Ok.. thanks guys... I will try that!

          1 Reply Last reply
          0
          • B Offline
            B Offline
            bareil76
            wrote on last edited by
            #5

            How do I know what are the required libraries? I mean which ones?

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

              For Windows with this tool "http://dependencywalker.com/":http://dependencywalker.com/

              1 Reply Last reply
              0
              • B Offline
                B Offline
                bareil76
                wrote on last edited by
                #7

                Thanks... it is of great help!

                1 Reply Last reply
                0
                • B Offline
                  B Offline
                  bareil76
                  wrote on last edited by
                  #8

                  When I run my app on windows xp, the icons on the toolbar do not show and when I click on of the buttons... the app crash.

                  Windows generate a debug report which is an xml file.. how do I identify the missing dll from that?

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

                    Missing icons usually mean missing image format plugin like qico4.dll. those should be placed in <your app dir>\imageformats<plugin name>.dll.
                    Dependency walker does not show dynamically loaded libraries (plugins) by default. You need to use the "profile" feature for that.

                    App crashing is not something I would suspect Qt of and is not caused by missing dll. It's more likely a bug in your code, eg. trying to do something with icon without checking if it actually loaded.

                    1 Reply Last reply
                    0
                    • B Offline
                      B Offline
                      bareil76
                      wrote on last edited by
                      #10

                      Ok.. you are right.

                      When I do profile, on a computer where it works, I get Dependency Walker to output

                      @LoadLibraryW("C:\QtSDK\Desktop\Qt\4.8.1\msvc2010\plugins\iconengines\qsvgicon4.dll") called from "QTCORE4.DLL" at address 0x670ECF66.
                      Loaded "QSVGICON4.DLL" at address 0x10000000. Successfully hooked module.
                      Unloaded "QSVGICON4.DLL" at address 0x10000000.@

                      However, when I add the dll in the Files section in Inno like so...
                      @Source: "C:\QtSDK\Desktop\Qt\4.8.1\msvc2010\plugins\iconengines\qsvgicon4.dll"; DestDir: "{app}";@

                      and install in a "virgin" computer, Dependency Walker jump to the next dll (without any error showing)
                      @LoadLibraryW("C:\WINDOWS\system32\gdi32.dll") called from "QTCORE4.DLL" at address 0x670EDA6E.
                      LoadLibraryW("C:\WINDOWS\system32\gdi32.dll") returned 0x77F10000.
                      GetProcAddress(0x77F10000 [GDI32.DLL], "GetCharWidthI") called from "QTGUI4.DLL" at address 0x65253C78 and returned 0x77F3DF75.
                      LoadLibraryW("C:\WINDOWS\system32\wintab32.dll") called from "QTCORE4.DLL" at address 0x670EDA6E.@

                      1 Reply Last reply
                      0
                      • B Offline
                        B Offline
                        bareil76
                        wrote on last edited by
                        #11

                        Do I NEED to put them into a different folder ? \imageformats\

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

                          Basically you should put them in a structure that is below the "plugins" directory in your Qt installation, so if DW shows you "C:\QtSDK\Desktop\Qt\4.8.1\msvc2010\plugins\iconengines\qsvgicon4.dll" you should put it in <app dir>\iconengines\qsvgicon4.dll. In inno this would be "{app}\iconengines" I think.

                          1 Reply Last reply
                          0
                          • B Offline
                            B Offline
                            bareil76
                            wrote on last edited by
                            #13

                            It works perfectly.. thank you!

                            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