We need to read the marker on our own, BinaryContent::binaryLayout()
throws cause it cannot read the full layout in case of maintenance
tool binary (part of the stuff is inside the .dat file).
To be able to read the layout from the .dat file, we need to open it.
Pass the right file to relace, in both cases the executable.
Change-Id: Ic76e78a2ee289f3d59d51cc8984d84ab5edf5b46
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Move BinaryLayout into its own file. Calculate the segment
offsets in place instead of letting the caller do the work.
Adjust autotest to match the new behavior. Adjust uses to
the new behavior.
Change-Id: Iba7a4398bd097f1768c33f0c528efd12b7458541
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Based on the former patches, split the installer base into its
own class. Use the new binary content read functions. Adjust uses
to match the new classes. Adjust installer base /update checker
signature and inheritance. Remove all now superfluous functions
from binary content. Core engine instantiates the operations now,
makes reading and writing more generic. Move product key check
into QInstaller namespace. Make use of the new command line parser.
Change-Id: I00aff79085b69ce627906881b43f374681ea7e91
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Saves some ugly looking call convention, as we need to find
the cookie anyway, pass the cookie instead of the position.
Change-Id: I2227576a8ad251fac5312fc477f8381287b0d36d
Reviewed-by: Niels Weber <niels.weber@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
It is really needed only once.
Change-Id: I0b2231432541c2781afe55105f88809db4fe19e1
Reviewed-by: Niels Weber <niels.weber@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Adjust some minor implementation details. Some renaming of member
variables and function names is left out but will follow in later
patches. Add some documentation.
Change-Id: I929dcbe13fa701be5224b9e5fdf8d19bfff81235
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Niels Weber <niels.weber@digia.com>
Supports dump binary content, run operation and update existing
binary with new installer base. The support for starting with
binary data of a different installer got dropped completely, use
update and run instead.
Change-Id: I41073d0bfc9a4c4da18fbb9f49fd3e65bb54b501
Reviewed-by: Kai Koehne <kai.koehne@digia.com>