Important: Please read the Qt Code of Conduct -

Updating the framework with an auto-updater

  • Hello everybody,

    I'm currently adding an auto-updater to my Qt application and I think it would be better if I could update the framework too.
    I started with two executables, one for the application and the another to update it. The major problem is that if I use Qt for the update application, I would not be able to update the Qt DLLs.

    Is there a trick to be able to update the application and the Qt DLLs while your update application is using those DLLs or should I use pure C++ to do the update application ?

    Thanks for your help !

  • Hi, IMHO the easiest way to use Qt for your updater is if you just ship it with its own Qt framework or statically link it if you can. The updater or any other apps for that matter doesn't have to use the latest DLL to run as long as they are compatible :)

    Why do you think most compilers are written in their own language, with your logic that would be a paradox to compile a newer version of the compiler with its own compiler, if that makes any sense haha (I hope you understand what I am saying here lol)

  • Thanks for your reply.
    I was thinking about this solution too, and your answer confirmed it :).

    If I really need to update the updater (inception), my application could do it, and the updater could update my application for example.

    I think I'll go this way.

    Thank you again ! :)

  • I've never written my own updater so far, but I am sure there is a solution for self updating updaters, if you really need that. I really don't know if an app can replace itself so easily while its running, yeah that is like inception :D

  • I know this is easily possible with shell scripts for example, as they are interpreted and executed directly from the memory, you can update the shell file itself.
    With compiled binaries, I'm not sure if this is possible.

Log in to reply