Qt Installer Framework tutorial not working
Hi. I recently found the Qt installer framework and a tutorial ( http://doc.qt.nokia.com/qtifw-1.2/ifw-tutorial.html ).
But it doesn't work for me. When I try to run:
../../bin/binarycreator -c config/config.xml -p packages YourInstaller com.vendor.product
The program prints
Error: You are using an old syntax please add the component name with the include option
Another question: How to install the framework? "make install" doesn't install to /usr/bin or /usr/lib, I copied manually.
The syntax has changed:
../../bin/binarycreator -c config/config.xml -p packages/ YourInstaller --include com.vendor.product
You should first generate the translation files.
I've overcome this problem by building the installer as a static library (adding "CONFIG += staticlib" to the pro file), however my installers all crash right after the start on Mac (both with a static and shared installer lib), here's the stacktrace:
@Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x00007fff8fe1dce2 __pthread_kill + 10
1 libsystem_c.dylib 0x00007fff992297d2 pthread_kill + 95
2 libsystem_c.dylib 0x00007fff9921aa7a abort + 143
3 com.yourcompany.installerbase 0x0000000100817725 qt_message_output(QtMsgType, char const*) + 149
4 com.yourcompany.installerbase 0x00000001008178dd _ZL10qt_message9QtMsgTypePKcP13__va_list_tag + 381
5 com.yourcompany.installerbase 0x0000000100817afd qFatal(char const*, ...) + 141
6 com.yourcompany.installerbase 0x0000000100196c0a qt_init(QApplicationPrivate*, int) + 2218
7 com.yourcompany.installerbase 0x00000001001f8006 QApplicationPrivate::construct() + 182
8 com.yourcompany.installerbase 0x00000001001f8dfd QApplication::QApplication(int&, char**, int) + 95
9 com.yourcompany.installerbase 0x000000010000c96f MyApplication::MyApplication(int&, char**) + 25
10 com.yourcompany.installerbase 0x0000000100005729 main + 2409
11 com.yourcompany.installerbase 0x0000000100004d94 start + 52@
Anyone with a hint what's going wrong?
Ok, I found out that the qt_menu.nib file is missing, however after I copied it manually in the Resources dir of the installer app bundle it's still crashing:
@QCoreApplication::applicationFilePath: Please instantiate the QApplication object first
Error-Exception: "Could not open binary : No file name specified"
Could not open binary : No file name specified@
So I guess the installer framework is quite broken for Mac OS X :-/
Just a random thought, as I do not know QFiW. But there is a nice tool for creating app bundles on Mac: macdeployqt. It makes self-contained packages (including copying qt_menu.nig automatically).
Thanks for the hint sierdzio, in my case I really need the installer (for deploying my own custom library and not a single application) for all three platforms, so the deploy tool is no solution for me.
I currently "re-use" the Qt Maintenance tool which is working fine at the moment, so I don't need to compile the ifq on my own.
As the maintainer of the installer framework I like to know if there is something broken. PLEASE create bugreports: https://bugreports.qt-project.org/browse/QTIFW .
And a crash is a blogger so choose P0 if you still can reproduce it with master.
Thanks for the hint to the bug tracker, after some investigation it turned out that this is a general Qt bug, involving static building of the Qt libraries itself: https://bugreports.qt-project.org/browse/QTBUG-5952