Important: Please read the Qt Code of Conduct -

installer.executeDetached() behaves differently between Mac & Linux

  • Hello: I have used QtInstaller to package my application. I tried launching it on Linux and Mac respectively. In both cases, the UI portion comes up just fine.
    At the very end of the UI installer, I have the directive to:


    It should execute a bash script. On Linux, it did launch.
    On mac, when I clicked on, it launches UI but won't execute my bash script at the end.

    Does executeDetached() behaves differently between Mac and Linux?

  • Lifetime Qt Champion


    Might be a silly question but are you sure that your script can run on macOS ?
    What does that script do ?

  • yes, bash script runs fine on Mac. I can execute it manually, I just cannot launch it from executeDetached() for some reason.
    The script fires off a bunch of docker containers, using docker command.

  • Lifetime Qt Champion

    Did you check your system logs ?
    I am suspecting that you are changing users to install your package and that one does not have access to the Docker daemon.

  • @SGaist I did check logs, nothing stands out...No errors.

    I did notice something. From terminal, I cd into the directory and under Contents/MacOS to locate the actual binary.
    I then run it manually. That works too.

    That led me to think, what does executeDetached() do? Is it a full shell environment?

  • Lifetime Qt Champion

    No it is not. It will try to execute whatever you ask but it does not mean you have a shell.

  • @SGaist If I did not sign my Mac app, the one i used binarycreator to create. Do you think that may have caused "executeDetached()" to fail?

    I did not sign my app and did not know I have to

  • Lifetime Qt Champion

    Depending on the macOS version you may have to also notarize it.

    I currently do not know whether there's any relation between the two but I would not find it surprising.

Log in to reply