Skip to content
QtWS25 Last Chance
  • 0 Votes
    4 Posts
    1k Views
    K
    @Yash001 That is beyond my experience level. No help possible from my side.
  • 0 Votes
    3 Posts
    1k Views
    R
    @Tim.Jenssen Thanks Tim! Don't know how I missed that. Very much appreciated.
  • 0 Votes
    1 Posts
    526 Views
    No one has replied
  • 0 Votes
    21 Posts
    8k Views
    A
    @KMKT Hi, and sorry for the late reply. libarchive support is enabled in the official Qt IFW binaries, and for the upcoming 4.3 release it does the handling of all archive formats including 7zip. The reason it's behind a separate config feature is that libarchive requires linking against additional libraries in comparison to the LZMA SDK distributed with the Installer Framework, so we didn't want to force the changes to the users' build environments. However, even after migrating the 7z format to libarchive, there have still been some findings about occasional memory allocation failures when extracting large archives. Moving the IFW binaries to 64-bit on Windows should hopefully finally fix these issues. The user story is tracked here QTIFW-2544, and is something targeted for Qt IFW 4.4.
  • Instalación de Qt, debo incluir MinGW ya instalado?

    Solved Spanish installer win10 mingw
    6
    0 Votes
    6 Posts
    3k Views
    Pablo J. RoginaP
    @A-Trujillo si tu problema está solucionado, por favor no te olvides de marcar tu pregunta como tal. Muchas gracias.
  • 1 Votes
    7 Posts
    4k Views
    V
    As I mentioned earlier I was pretty interested in this as nothing else with sufficiently good end-user experience exists in the Qt world. There is the Qt Installer Framework, but from what I've seen in Qt Creator, that is designed for developers - pulling people through wizards is not the way to go in 2017. I've implemented DBLSQD in Mudlet, an open-source project (code available). We use DBLSQD handle the server-side part of running an updater - provide a feed clients can check for new versions, and parts of the client-side as well. On the client-side, it handles downloading of the new binaries, showing the update window, and a changelog window post-update. Installing updates is complemented by Squirrel on Windows and since we use AppImage on Linux, no installation is necessary there. I did find it too difficult to integrate with Sparkle on macOS given by lack of Objective-C knowledge that Sparkle required, on macOS we use Sparkle entirely and DBLSQD provides the feed for Sparkle to work with. So, overall, I'm super happy with this! Finally been able to add an updater to our application and @pentacent has been super helpful throughout the process. He's super responsive in communication, he adapted dblsqd to fit our needs, and he was also happy to include contributions we made to the clientside code. If I need an update solution for a commercial project, I would be more than happy to purchase a plan - the tech is good and support is top-notch.
  • Contract job - Windows installer for Qt App

    Unsolved Jobs job installer
    2
    0 Votes
    2 Posts
    2k Views
    claysolC
    Hello Graham, We have expertise on Qt development can you please drop a mail mahesh@claysol.com
  • 0 Votes
    3 Posts
    1k Views
    S
    @SamiN This seemed to be quite straight forward to solve. I created my shortcuts under user desktop area, but when running maintenance tool from service using qtservice it most probably didn't have that 'user' setup in place so trying to add shortcut to desktop failed. Changed location of the shortcut to c:\users\public\desktop seems to help on this one. Br, -sami
  • 0 Votes
    12 Posts
    4k Views
    A
    @Eeli-K That would mean you can't use github at all then since it isn't under your control. If github is considered "under your control" you can just fork Qt to your github account though. I mean along these lines though no web server you don't actually own is truly under your control. And even then you are at the mercy of your internet provider even if it is physically your system. My company has quite a few web servers, but since things like AWS came around I don't buy actual hardware any more. AWS is not technically under my control even though I have root access to all the systems that are "mine". You're right though. I don't think it would really be an issue, but people have sued over smaller things. The safe way is definitely throw up a copy on your own web server. Knowing it will never be downloaded by anyone just seems to make it such a waste of resources though.
  • 0 Votes
    4 Posts
    2k Views
    V
    @patpatpat Might be Internet issue.
  • Qt Server offline

    Solved Installation and Deployment server offline installer
    9
    0 Votes
    9 Posts
    3k Views
    mrjjM
    @HenrikSt. Nice day to you too: Please mark as solved :)
  • 0 Votes
    3 Posts
    2k Views
    H
    For new comers: I think you will have to build it from source in order to disable that option Go to the function void PackageManagerCore::writeMaintenanceTool() and and the function void PackageManagerCorePrivate::writeMaintenanceToolBinary() and just add a return in the beginning of the function to disable it and the maintenance tool won't be included. Worked for me, but it didn't reduce the size of the resulting installer as I was expecting though.
  • 0 Votes
    20 Posts
    10k Views
    crisosphinxC
    The issue is officially solved. Below are a list of issues I encountered along the way and the full resolution I came to after long hours of debugging... Issues: Windows 10 Anniversary Update killed the environment variables. It may be important to reconfigure / link / delete the current entries / paths for compilation. Link for where to find your Environment Variables. Windows 10 Anniversary Update also created a hang up in some drivers that led to stalling of the code execution for QT Creator and Designer. Be aware of some conflicting drivers or programs (even if they are unrelated to QT / do not use QML or GUI provided by QT). If you are an artist or utilize Wacom Tablets and their software for navigating your desktop (as opposed to a mouse). Please be aware that having more than one Tablet software installed, regardless of it running or being disabled, will cause conflicts. In addition to the above issue, be aware that the Windows 10 Anniversary Update also created a glitch (at least in my installation) that caused the Tablet software to stall on boot of my computer. By failing, it caused a memory leak issue that resulted in QT not functioning. So, if you are experiencing issues similar to mine, uninstall all Tablet software and reinstall the one you use the most, be it Cintiq, Bamboo, Intuos, etc. Fix: I rolled back my Win10 installation. It still had hang ups. I redirected the Environment Variables to the correct locations and uninstalled QT (all forms of it), uninstalled my Tablet softwares, re-installed my Win10 Anniversary Update, installed only my Cintiq software, installed QT, double-checked the environment variables, fixed my boot manager to only include processes I knew I needed and rebooted. It appears to be working fine. A few of my compilers went missing along the way and so did a few brain cells. ;) I had more than a few programs not working, so it took about a weeks worth of effort to figure out which programs were causing problems with other programs. It originally looked like a Windows Defender problem, then the Tablets, then the Realtek drivers, then Visual Studio, then the Tablets again. Sorry for the lengthy post, but hopefully it will assist some people in the near future. Most of my issues stemmed from the Update and I expect that there will be more people with problems.
  • How install Qt from tmp in Ubuntu?

    Installation and Deployment installer
    3
    0 Votes
    3 Posts
    2k Views
    feniks_fireF
    @raven-worx Ehh I know that is also offline installer but as I said "Well I have limit for internet and I want to ask a question." Maybe I must better explain my problem. I also said " I see in '/tmp' folder in Ubuntu I have all files" for qt installation. So I have for example "5.7.0-1qt-everywhere-opensource-src-5.7.0 .7z" from "http://download.qt.io/online/qtsdkrepository/linux_x64/desktop/qt5_57_src_doc_examples/qt.57.src/", I have "4.0.3-0qtcreator.7z" from "https://download.qt.io/online/qtsdkrepository/linux_x64/desktop/tools_qtcreator/qt.tools.qtcreator/" and like this I have all other package. I can extract "4.0.3-0qtcreator.7z" and I have full working Qt Creator but these packages is few hundred and I don't know where I must extract each package and probably it must not work. Each folder have also "installscript.qs". I think there must be some way to install them as it does after the installer online downloading files. Maybe someone know how to run in Linux *.qs files similar to this: installscript.qs for 4.0.3-0qtcreator.7z: /**************************************************************************** ** ** Copyright (C) 2015 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the tools applications of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and Digia. For licensing terms and ** conditions see http://qt.digia.com/licensing. For further information ** use the contact form at http://qt.digia.com/contact-us. ** ** GNU Lesser General Public License Usage ** Alternatively, this file may be used under the terms of the GNU Lesser ** General Public License version 2.1 as published by the Free Software ** Foundation and appearing in the file LICENSE.LGPL included in the ** packaging of this file. Please review the following information to ** ensure the GNU Lesser General Public License version 2.1 requirements ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. ** ** In addition, as a special exception, Digia gives you certain additional ** rights. These rights are described in the Digia Qt LGPL Exception ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. ** ** GNU General Public License Usage ** Alternatively, this file may be used under the terms of the GNU ** General Public License version 3.0 as published by the Free Software ** Foundation and appearing in the file LICENSE.GPL included in the ** packaging of this file. Please review the following information to ** ensure the GNU General Public License version 3.0 requirements will be ** met: http://www.gnu.org/copyleft/gpl.html. ** ** ** $QT_END_LICENSE$ ** ****************************************************************************/ var native_path_separator = "/"; // constructor function Component() { component.loaded.connect(this, Component.prototype.loaded); installer.installationFinished.connect(this, Component.prototype.installationFinishedPageIsShown); installer.finishButtonClicked.connect(this, Component.prototype.installationFinished); installer.valueChanged.connect(this, Component.prototype.reactOnTargetDirChange); if (installer.value("os") == "win") { // Creator needs vcredist 32bit on windows component.addDependency("qt.tools.vcredist_msvc2013_x86"); } if (installer.value("os") == "x11") { // set installation directory installer.setValue("EmbeddedInstallationRootDir", "/usr/local/Trolltech"); installer.setValue("EmbeddedToolchainDir", "/usr/local/angstrom/arm"); } // set the default values to SDKToolBinary and QtCreatorInstallerSettingsFile Component.prototype.reactOnTargetDirChange("TargetDir", installer.value("TargetDir")); } Component.prototype.loaded = function() { try { if (installer.value("os") == "win" && installer.isInstaller()) installer.addWizardPageItem(component, "AssociateCommonFiletypesForm", QInstaller.TargetDirectory); } catch(e) { print(e); } } Component.prototype.beginInstallation = function() { if (installer.value("os") === "win") component.addStopProcessForUpdateRequest(component.qtCreatorBinaryPath); } Component.prototype.reactOnTargetDirChange = function(key, value) { if (key == "TargetDir") { component.qtCreatorBinaryPath = value; if (installer.value("os") == "win") { installer.setValue("QtCreatorInstallerSettingsFile", value + "//Tools/QtCreator/share/qtcreator/QtProject/QtCreator.ini"); installer.setValue("SDKToolBinary", value + "\\/Tools/QtCreator\\bin\\sdktool.exe"); component.qtCreatorBinaryPath = value + "\\/Tools/QtCreator\\bin\\qtcreator.exe"; component.qtCreatorBinaryPath = component.qtCreatorBinaryPath.replace(/\//g, "\\"); } else if (installer.value("os") == "mac") { installer.setValue("QtCreatorInstallerSettingsFile", value + "//Tools/QtCreator/Qt Creator.app/Contents/Resources/QtProject/QtCreator.ini"); installer.setValue("SDKToolBinary", value + "//Tools/QtCreator/Qt Creator.app/Contents/Resources/sdktool"); component.qtCreatorBinaryPath = value + "//Tools/QtCreator/Qt Creator.app/Contents/MacOS/Qt Creator"; // fix duplicate forward slashes in path component.qtCreatorBinaryPath = component.qtCreatorBinaryPath.replace(/\/+/g, "/"); } else { installer.setValue("QtCreatorInstallerSettingsFile", value + "//Tools/QtCreator/share/qtcreator/QtProject/QtCreator.ini"); installer.setValue("SDKToolBinary", value + "//Tools/QtCreator/libexec/qtcreator/sdktool"); component.qtCreatorBinaryPath = value + "//Tools/QtCreator/bin/qtcreator"; // fix duplicate forward slashes in path component.qtCreatorBinaryPath = component.qtCreatorBinaryPath.replace(/\/+/g, "/"); } } } registerCommonWindowsFileTypeExtensions = function() { var headerExtensions = new Array("h", "hh", "hxx", "h++", "hpp"); for (var i = 0; i < headerExtensions.length; ++i) { component.addOperation("RegisterFileType", headerExtensions[i], component.qtCreatorBinaryPath + " -client \"%1\"", "C++ Header file", "text/plain", component.qtCreatorBinaryPath + ",3", "ProgId=QtProject.QtCreator." + headerExtensions[i]); } var cppExtensions = new Array("cc", "cxx", "c++", "cp", "cpp"); for (var i = 0; i < cppExtensions.length; ++i) { component.addOperation("RegisterFileType", cppExtensions[i], component.qtCreatorBinaryPath + " -client \"%1\"", "C++ Source file", "text/plain", component.qtCreatorBinaryPath + ",2", "ProgId=QtProject.QtCreator." + cppExtensions[i]); } component.addOperation("RegisterFileType", "c", component.qtCreatorBinaryPath + " -client \"%1\"", "C Source file", "text/plain", component.qtCreatorBinaryPath + ",1", "ProgId=QtProject.QtCreator.c"); } registerWindowsFileTypeExtensions = function() { component.addOperation("RegisterFileType", "ui", component.qtCreatorBinaryPath + " -client \"%1\"", "Qt UI file", "text/plain", component.qtCreatorBinaryPath + ",4", "ProgId=QtProject.QtCreator.ui"); component.addOperation("RegisterFileType", "pro", component.qtCreatorBinaryPath + " -client \"%1\"", "Qt Project file", "text/plain", component.qtCreatorBinaryPath + ",5", "ProgId=QtProject.QtCreator.pro"); component.addOperation("RegisterFileType", "pri", component.qtCreatorBinaryPath + " -client \"%1\"", "Qt Project Include file", "text/plain", component.qtCreatorBinaryPath + ",6", "ProgId=QtProject.QtCreator.pri"); component.addOperation("RegisterFileType", "qbs", component.qtCreatorBinaryPath + " -client \"%1\"", "Qbs Project file", "text/plain", component.qtCreatorBinaryPath + ",5", "ProgId=QtProject.QtCreator.qbs"); component.addOperation("RegisterFileType", "qs", component.qtCreatorBinaryPath + " -client \"%1\"", "Qt Script file", "text/plain", component.qtCreatorBinaryPath + ",0", "ProgId=QtProject.QtCreator.qs"); component.addOperation("RegisterFileType", "qml", component.qtCreatorBinaryPath + " -client \"%1\"", "Qt Quick Markup language file", "text/plain", component.qtCreatorBinaryPath + ",7", "ProgId=QtProject.QtCreator.qml"); } Component.prototype.createOperations = function() { // Call the base createOperations and afterwards set some registry settings component.createOperations(); var maintenanceToolPath; if (installer.value("os") == "win") { component.addOperation("CreateShortcut", component.qtCreatorBinaryPath, "@StartMenuDir@\\Qt Creator (Community).lnk", "workingDirectory=@homeDir@"); registerWindowsFileTypeExtensions(); if (component.userInterface("AssociateCommonFiletypesForm").AssociateCommonFiletypesCheckBox.checked) registerCommonWindowsFileTypeExtensions(); maintenanceToolPath = installer.value("TargetDir") + "/MaintenanceTool.exe"; } if (installer.value("os") == "x11") { component.addOperation("InstallIcons", installer.value("TargetDir") + "/Tools/QtCreator/share/icons" ); component.addOperation("CreateDesktopEntry", "DigiaQt-qtcreator-community.desktop", "Type=Application\nExec=" + component.qtCreatorBinaryPath + "\nName=Qt Creator (Community)\nGenericName=The IDE of choice for Qt development.\nIcon=QtProject-qtcreator\nTerminal=false\nCategories=Development;IDE;Qt;\nMimeType=text/x-c++src;text/x-c++hdr;text/x-xsrc;application/x-designer;application/vnd.qt.qmakeprofile;application/vnd.qt.xml.resource;text/x-qml;text/x-qt.qml;text/x-qt.qbs;"); maintenanceToolPath = installer.value("TargetDir") + "/MaintenanceTool"; } if (installer.value("os") == "mac") { maintenanceToolPath = installer.value("TargetDir") + "/MaintenanceTool.app/Contents/MacOS/MaintenanceTool"; } var settingsFile = installer.value("QtCreatorInstallerSettingsFile"); if (!installer.isOfflineOnly()) { // Configure UpdateInfo plugin component.addOperation("Settings", "path="+settingsFile, "method=set", "key=Updater/MaintenanceTool", "value="+maintenanceToolPath); } } function isRoot() { if (installer.value("os") == "x11" || installer.value("os") == "mac") { var id = installer.execute("/usr/bin/id", new Array("-u"))[0]; id = id.replace(/(\r\n|\n|\r)/gm,""); if (id === "0") { return true; } } return false; } Component.prototype.installationFinishedPageIsShown = function() { isroot = isRoot(); try { if (component.installed && installer.isInstaller() && installer.status == QInstaller.Success && !isroot) installer.addWizardPageItem( component, "LaunchQtCreatorCheckBoxForm", QInstaller.InstallationFinished ); } catch(e) { print(e); } } Component.prototype.installationFinished = function() { try { if (component.installed && installer.isInstaller() && installer.status == QInstaller.Success && !isroot) { var isLaunchQtCreatorCheckBoxChecked = component.userInterface("LaunchQtCreatorCheckBoxForm").launchQtCreatorCheckBox.checked; if (isLaunchQtCreatorCheckBoxChecked) installer.executeDetached(component.qtCreatorBinaryPath, new Array(), "@homeDir@"); } } catch(e) { print(e); } }
  • Huge download/update problem with Qt SDK?

    Unsolved Qt.io webservices sdk installer update
    3
    0 Votes
    3 Posts
    1k Views
    S
    @JKSH Thanks I will look into all the link you have provided and try to reach the concerned parties so that we can find a long term solution to this problem.
  • Qt Installer and 7z Format

    Unsolved Qt Creator and other tools installer 7z format ifw
    3
    0 Votes
    3 Posts
    2k Views
    Chris KawaC
    Just my guess, but I would say it's something as simple as popularity? xz is not widely used on Windows and 7z is kinda universally used/recognized at this point so... I'm guessing it's just a coin-flip decision.
  • Auto update and Qt Installer Framework

    Unsolved General and Desktop installer
    2
    0 Votes
    2 Posts
    1k Views
    Joel BodenmannJ
    As far as I can tell the Qt installer framework doesn't provide that feature. Personally, I wrote a piece of code that manually retrieves the Updates.xml file from the repository and checks the version numbers. If there's an update available, I simply present a QDialog to the user.
  • QT 5.6 unattended/silent install

    Unsolved Installation and Deployment windows installer
    3
    0 Votes
    3 Posts
    8k Views
    Emil PalmE
    Hi I am also working on this case. Is there any way of automating the uninstall as well? Thanks
  • 5.6.0-1qtconnectivity-OSX Connection closed

    Unsolved Installation and Deployment installer
    3
    0 Votes
    3 Posts
    1k Views
    yuenchihoY
    Hi, finally i can install the QT by unselect Android and IOS portions since I want to learn C / C++ to program the desktop applications. Thank you for your support!
  • 0 Votes
    2 Posts
    1k Views
    SGaistS
    Hi, Even if not through the App Store, it's better to sign your application so people know where it comes from. What's not clear is why would you need to do a second signing of your application with e.g. a Symantec certificate. What did make you think that ?