The problem
I have a Qt IFW installer with an online repository, from which users fetch data to install and update the software.
My installer has a "root script" defined in config.xml
:
<Installer>
<!-- ... -->
<ControlScript>controllerscript.qs</ControlScript>
</Installer>
Now I want to change the content of controllerscript.qs
and deploy it on the online repository.
- when a new user installs the software for the first time, it works as expected
- when a user updates its software from a previous version using
MaintenanceTool.exe
, it does not get the update
Possible solution
I realized that when you create the installer, it generates a file named MaintenanceTool.dat
which seems to contain controllerscript.qs
(+ other things). I managed to manually copy that file and push it to the online repository (inside a package). That way, the maintenance tool is able to see the package update, and correctly gets the new MaintenanceTool.dat
. After that, the maintenance tool is indeed using the new code from controllerscript.qs
.
Question
- Is there another (cleaner) way to achieve that?
- If not, is it really safe to provide a manual update to
MaintenanceTool.dat
? That file contains many other things, so is there a risk to interfere with the rest?
Thanks,