PDA

View Full Version : Unable to launch exe from release folder



rawfool
9th May 2013, 14:40
I've created a QSharedMemory Image loader example application. I built it in release mode.

If I copy the application(.exe) into C:\Qt\Qt5.0.2\5.0.2\mingw4-32\bin, the application is running.
Now I added all the necessary DLLs to the release folder by doing a dependency check in "Dependency Walker". But still I'm unable to open the application.

When I try to launch the application by double-clicking it, it's giving following error message.

The application has requested Rutime to terminate it in an unusual way. Please contact application's support team for more information.

And if I run the dependency check after adding the necessary DLLs, still the dependency walker is showing the names of below mentioned 3 DLLs in red color.

SHLWAPI.dll
IEFRAME.dll
URLMON.dll

Kindly help me. Thank you.

amleto
9th May 2013, 22:43
how many Qt dlls are on your path?

rawfool
10th May 2013, 06:52
I took a copy of my release folder and deleted all the moc & .o files and added the following DLLs. Three Qt DLLs are added(highlighted in bold). I've created an application similar to the Image Loader application example in IPC. I'm using Qt5.0.2

Qt5Core.dll
Qt5Gui.dll
Qt5Widgets.dll
D3DCompiler_43.dll
icudt49.dll
icuin49.dll
icuuc49.dll
ieframe.dll
IEShims.dll
libgcc_s_sjlj-1.dll
libGLESv2.dll
libstdc++-6.dll
libwinpthread-1.dll
shlwapi.dll

Thank you.

amleto
10th May 2013, 23:28
use the windows event logger and sxs (side by side) tools to find out which lib is giving problem.

ChrisW67
12th May 2013, 04:53
Creating the Application Package (http://qt-project.org/doc/qt-5.0/qtdoc/deployment-windows.html#creating-the-application-package)

You are missing the Qt Windows platform plugin:. platforms\qwindows.dll
You are probably missing Qt plugins for image formats, icon formats, SQL drivers, etc. but this will not stop your program starting: just working.
You are missing the MingW runtime library: MINGWM10.DLL (I assume it is still part of Ming 4.7.2)
If your Qt was built to use ANGLE then you are missing: libEGL.dll (otherwise you don't need those DLLS at all)

You have Windows DLLs that are not part of Qt but are part of target Windows installs: ieframe.dll, IEShims.dll, shlwapi.dll

rawfool
13th May 2013, 06:18
Thank you for the replies Amleto & ChrisW67.

I've added qwindows.dll, qico.dll, qjpeg.dll & MINGWM10.DLL. I didn't use ANGLE so, I didn't add libEGL.dll but still the application is not getting opened.


You have Windows DLLs that are not part of Qt but are part of target Windows installs: ieframe.dll, IEShims.dll, shlwapi.dllDo you mean including these DLLs isn't necessary?

I've checked with Windows Event Logger and it's showing some error regarding Qt5Core.dll

Log Name: Application
Source: Application Error
Date: 5/13/2013 10:17:48 AM
Event ID: 1000
Task Category: (100)
Level: Error
Keywords: Classic
Description:
Faulting application name: ImgLoader.exe, version: 0.0.0.0, time stamp: 0x51906bd7
Faulting module name: Qt5Core.dll, version: 5.0.2.0, time stamp: 0x5163676c
Exception code: 0x40000015
Fault offset: 0x0000dc95
Faulting process id: 0xb3c
Faulting application start time: 0x01ce4f9503b785e0

chriskon149
28th August 2013, 03:31
Thank you for the replies Amleto & ChrisW67.

I've added qwindows.dll, qico.dll, qjpeg.dll & MINGWM10.DLL. I didn't use ANGLE so, I didn't add libEGL.dll but still the application is not getting opened.

Do you mean including these DLLs isn't necessary?

I've checked with Windows Event Logger and it's showing some error regarding Qt5Core.dll

I have the same issues with Qt5Core. Did you find a resolution?

Chris

ChrisW67
28th August 2013, 04:46
Tell us exactly what you have deployed with your executable, which Qt version you used, whether Qt was the ANGLE or OpenGL build, and what compiler you used. Without that we are only guessing.

It is all in the docs

chriskon149
28th August 2013, 20:11
Compiler: MinGW32 4.8
Qt Version: 5.1
Graphics: the default settings for the Qt 5.1 SDK, which I believe is ANGLE

Deployed with App:

icudt51.dll
icuin51.dll
icuuc51.dll
libgcc_s_dw2-1.dll
libstdc++-6.dll
libwinpthread-1.dll
MyApplication.exe
Qt5Core.dll
QtGui.dll
Qt5Network.dll
Qt5OpenGL.dll
Qt5PrintSupport.dll
Qt5Qml.dll
Qt5Quick.dll
Qt5Sensors.dll
Qt5Sql.dll
Qt5V8.dll
Qt5WebKit.dll
Qt5WebKitWidgets.dll
Qt5Widgets.dll
SDL.dll
sdl-config

It runs just fine with those DLLs in the executable's folder on my machine, but it cannot run on other machines (it crashes with MSVC Runtime Library error). If I change the directory name of my Qt directory, my app will not run on my machine, even with those DLLs in the folder, which makes me think that it's trying to load something from my Qt directory. Dependency Walker says that I'm missing:


DCOMP.dll
IESHIMS.dll
API-MS-WIN-CORE-COM-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL
API-MS-WIN-SHCORE-SCALING-L1-1-0.DLL


If I put the "platforms" folder (from QtDir/mingw32_48/plugins) into my executable's folder, then my application appears to be running in Task Manager, but no UI appears. What am I missing?

Thanks for the help,

Chris