Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. [SOLVED] Windows 7 deployement problem

[SOLVED] Windows 7 deployement problem

Scheduled Pinned Locked Moved Installation and Deployment
10 Posts 3 Posters 7.8k 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.
  • C Offline
    C Offline
    cho7kipu
    wrote on last edited by
    #1

    Hi all,

    I'm trying to run a programm I wrote using Qt5 beta 2, and while everything runs fine on my computer, I'm unable to start the program from another computer :(

    for now, I tried to identify all the DLL that my program requires. Here is the list :

    D3DCOMPILER_43.DLL
    ICUDT49.DLL
    ICUIN49.DLL
    ICUUC49.DLL
    LIBEGL.DLL
    LIBGLESV2.DLL
    QTCORE5.DLL
    QTGUI5.DLL
    QTMULTIMEDIA5.DLL
    QTMULTIMEDIAWIDGETS5.DLL
    QTNETWORK5.DLL
    QTOPENGL5.DLL
    QTPRINTSUPPORT5.DLL
    QTQML5.DLL
    QTQUICK5.DLL
    QTSQL5.DLL
    QTV85.DLL
    QTWEBKITWIDGETS5.DLL
    QTWIDGETS5.DLL

    But, while I'm able to start my program with these libs from my computer without having qt libs on my PATH (C:\Qt5.0.0beta2\5.0.0-beta2\msvc2010\bin), the program still doesn't start on another computer.

    I tried to but the whole bin directory content on the other computer, the result is always the same, although Dependency walker says that everything seems ok (no dll is missing)

    When I double-click on the .exe file, simply nothing happens !

    So I don't understand what I am missing here :(

    Please help me before I hang myself !!

    Thank you

    PS : using windows 7 64bits and compiling in 32bits using msvc2010

    1 Reply Last reply
    0
    • C Offline
      C Offline
      cho7kipu
      wrote on last edited by
      #2

      Some additional information...

      I just discover the Profiling feature of Dependency Walker, and found that my program doesn't find a valid plugin platform (??!!), see the output below :

      bq.

      Starting profile on 10/12/2012 at 15:17:21

      Operating System: Microsoft Windows NT/2000/XP/2003/Vista based Server, Enterprise (64-bit), version 6.01.7600
      Program Executable: c:\qcss\qcss\qcss\QCSS.EXE
      Program Arguments:
      Starting Directory: C:\QCss\QCss\QCss
      Search Path: C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\IBM\WebSphere\AppServer\java\bin;C:\ClamWin\bin

      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.
      Automatically open and profile child processes.

      Started "QCSS.EXE" (process 0x2194) at address 0x00C60000. Successfully hooked module.
      Loaded "NTDLL.DLL" at address 0x76EA0000. Successfully hooked module.
      Loaded "KERNEL32.DLL" at address 0x763D0000. Successfully hooked module.
      Loaded "KERNELBASE.DLL" at address 0x76A10000. Successfully hooked module.

      [...]

      GetProcAddress(0x763D0000 [KERNEL32.DLL], "FlsAlloc") called from "LIBEGL.DLL" at address 0x7392D3B7 and returned 0x763E1F22.
      GetProcAddress(0x763D0000 [KERNEL32.DLL], "FlsGetValue") called from "LIBEGL.DLL" at address 0x7392D3C4 and returned 0x763E123D.
      GetProcAddress(0x763D0000 [KERNEL32.DLL], "FlsSetValue") called from "LIBEGL.DLL" at address 0x7392D3D1 and returned 0x763E18E4.
      GetProcAddress(0x763D0000 [KERNEL32.DLL], "FlsFree") called from "LIBEGL.DLL" at address 0x7392D3DE and returned 0x763E3954.
      DllMain(0x73920000, DLL_PROCESS_ATTACH, 0x0028F7D0) in "LIBEGL.DLL" returned 1 (0x1).
      DllMain(0x6D530000, DLL_PROCESS_ATTACH, 0x0028F7D0) in "QTWEBKITWIDGETS5.DLL" called.
      DllMain(0x6D530000, DLL_PROCESS_ATTACH, 0x0028F7D0) in "QTWEBKITWIDGETS5.DLL" returned 1 (0x1).
      LoadLibraryW("ADVAPI32.DLL") called from "MSVCR100.DLL" at address 0x6F0BB4AD.
      LoadLibraryW("ADVAPI32.DLL") returned 0x765E0000.
      GetProcAddress(0x765E0000 [ADVAPI32.DLL], "SystemFunction036") called from "MSVCR100.DLL" at address 0x6F0BB4D6 and returned 0x765E1919.
      *Failed to load platform plugin "windows". Available platforms are: *

      DllMain(0x752D0000, DLL_PROCESS_DETACH, 0x00000001) in "IMM32.DLL" called.
      DllMain(0x752D0000, DLL_PROCESS_DETACH, 0x00000001) in "IMM32.DLL" returned 1 (0x1).
      DllMain(0x762D0000, DLL_PROCESS_DETACH, 0x00000001) in "MSCTF.DLL" called.

      [...]

      Exited "QCSS.EXE" (process 0x2194) with code 1 (0x1).
      bq.

      1 Reply Last reply
      0
      • sierdzioS Offline
        sierdzioS Offline
        sierdzio
        Moderators
        wrote on last edited by
        #3

        Copy the plugin together with libraries (IIRC, it should reside in <exe root>/plugins/platform, but my memory is not good in that respect).

        (Z(:^

        1 Reply Last reply
        0
        • C Offline
          C Offline
          cho7kipu
          wrote on last edited by
          #4

          my program doesn't have any plugin (and so there isn't any plugins directory within my exe output root directory :-/ )

          1 Reply Last reply
          0
          • sierdzioS Offline
            sierdzioS Offline
            sierdzio
            Moderators
            wrote on last edited by
            #5

            It is Qt platform plugin for Windows, needed by all Qt5 apps. I'm on Linux, for me the path to find this beast is: <Qt dir>/qtbase/plugins/platforms/libxcb.so. For you it will probably be windows.dll or so.

            (Z(:^

            1 Reply Last reply
            0
            • C Offline
              C Offline
              cho7kipu
              wrote on last edited by
              #6

              Oh, it seems that my program is almost working now. After copying windows.dll I was still having some problem (no icon in my toolbar for example) so I copied some other plugins (iconengines, imageformats, etc) and now the program is running but only if I launch it via Dependecy Walker Profiles menu

              Very weird

              1 Reply Last reply
              0
              • sierdzioS Offline
                sierdzioS Offline
                sierdzio
                Moderators
                wrote on last edited by
                #7

                Wow. Now this has got really strange :)

                (Z(:^

                1 Reply Last reply
                0
                • C Offline
                  C Offline
                  cho7kipu
                  wrote on last edited by
                  #8

                  OK. I succeed to start the application without Depency Walker... I had to create a qt.conf file then :

                  bq. [Paths]
                  Plugins = plugins

                  I don't know why, though....

                  Thank you so much for your help sierdzio !

                  1 Reply Last reply
                  0
                  • sierdzioS Offline
                    sierdzioS Offline
                    sierdzio
                    Moderators
                    wrote on last edited by
                    #9

                    Pleasure, happy coding. Please mark the thread as [Solved] if you consider the matter to be clear.

                    (Z(:^

                    1 Reply Last reply
                    0
                    • E Offline
                      E Offline
                      electrohamster
                      wrote on last edited by
                      #10

                      I've used the Windows Event Viewer before to identify missing dependencies. (Control Panel-> System and Security -> Administrative Tools ->Event Viewer)
                      When you run an executable and a dependency is missing frequently you'll get an event log specifying exactly what you are missing.

                      I've used this before when building installers for DirectX projects, though I don't know if this would work for Qt.

                      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