Hooking up sub-processes with different Qt and Squish package

Last edited on

Overview

Hooking up Qt sub-processes that use a different Qt version than the Qt process which launched them is possible, but requires some extra setup steps. This articles describes how to set this up.

Qt Sub-Processes on Microsoft Windows

Step #1 - Rename sub-process executable

Rename...

    C:\Program Files\MyAUT\mysubprocess.exe

...to...

    C:\Program Files\MyAUT\mysubprocess_.exe

Step #2 - Install "starter.exe" as sub-process executable replacement

a) From starter-latest.zip copy...

    squish_for_qt/starter.exe

...into...

    C:\Program Files\MyAUT

...and rename it to...

    C:\Program Files\MyAUT\mysubprocess.exe

b) From starter-latest.zip copy...

    squish_for_qt/starter.exe.js

...into...

    C:\Program Files\MyAUT

...and rename it to...

    C:\Program Files\MyAUT\mysubprocess.exe.js

Step #3 - Configure "starter"

In...

    mysubprocess.exe.js

...adjust the value of...

    squishQtPath

...to contain the installation path of the Squish for Qt installation that should be used for the sub-process:

// PLEASE CONFIGURE:
var squishQtPath = "C:\\Users\\myuser\\squish-7.1.1-qt65x-win64-msvc142";

[...]
mysubprocess.exe.js

Caveats

Background Information

The approach outlined here is based on changes, that can be implemented in the parent process, too. Since it may be a more compatible, the required changes are described here as well.

To hook up a Qt sub-process that uses a different Qt version or an incompatible (but for which a compatible Squish for Qt package is already available) Qt version, the following changes are required for the launched sub-process (this means that the parent process must implement them - except for the Built-in Hook):