summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix replaced component uninstall4.3Katja Marttila2022-03-229-33/+138
| | | | | | | | | | Replaced component was uninstalled when installing other components although no update or install was requested to the component. Fixes also a bug when some components were uninstalled unvisible from user. Task-number: QTIFW-2577 Change-Id: I6a7e9ce4a56991dfbdea53eb376d782dfb5d050a Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Show 'components to be removed' message in updater viewKatja Marttila2022-03-181-10/+7
| | | | | | | | | | | Components might be uninstalled also in updater view, for example if the component is replaced with another components. This was not shown to the user. Task-number: QTIFW-2576 Change-Id: I143324eeb4830d15a718005992b3cb35d0f6696d Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io> Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Do not uninstall needed virtual dependenciesKatja Marttila2022-03-184-7/+50
| | | | | | | | | | | | | | | Virtual dependencies are uninstalled if all dependencies to the component is removed. Virtual dependencies were calculated using recent components in repository, which is wrong as the dependencies may have changed in the repository, causing the dependencies to be uninstalled although those are still needed. Fixed so that the uninstallable virtual components are calculated from repository components if the component is going to be updated, otherwise the dependeny is calculated from the local installed packages. Task-number: QTIFW-2573 Change-Id: If9cc59fa7f453d502ec1883f27273ef604128a6e Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Revert "Simplify QInstaller::generateTemporaryFileName()"Arttu Tarkiainen2022-03-151-11/+21
| | | | | | | | | | | | | This reverts commit 270c5dfd9b6c86bec8eaf34d0a2c3d3b945ed5e5. Reason for revert: This caused a regression when an absolute path pointing to a directory non-writable by current user was used. QTemporaryFile uses its own file engine so we need to use QFile instead to forward the calls to the elevated privilege installer process with the Qt Installer Framework's RemoteFileEngine. Task-number: QTIFW-2575 Change-Id: I47f5bea06f9e1689ee322d972b405d8127967a98 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Update IFW version to 4.3.1Katja Marttila2022-03-155-19/+19
| | | | | Change-Id: Ie4d170f8e84d3154a02882eb8f1ae0655c7c0afe Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Fix 'Execute' operation arguments with Linux separators4.3.0Katja Marttila2022-02-221-8/+5
| | | | | | | | | | | This bug was caused by the previous change which allowed the Windows separators to be saved to dat file without converting to normalized separators Task-number: QTIFW-2501 Change-Id: Iaeb70da0eaaa5c677c72178fcb8b336bc50a6842 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io> Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* CLI: Fix missing warnings when trying to install invalid componentsArttu Tarkiainen2022-02-211-0/+2
| | | | | | | | | | | If there was at least one valid component argument, the installer would silently ignore any invalid component arguments. Instead print the appropriate "cannot install" reason for such components but still don't block installation for others. Change-Id: I7325d151385744ac46fcb5fa04c0eaf6acade3f3 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Fix minor Japanese translationsKatja Marttila2022-02-211-2/+2
| | | | | Change-Id: Id7396eec7cc21e8011c716564adf9c9019eddb84 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Update ChangelogKatja Marttila2022-02-181-0/+28
| | | | | Change-Id: Ia3b612f87a31de15053063a70dfb42816aaabd29 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Fix extracting entries with file paths that contain unicode charactersArttu Tarkiainen2022-02-172-37/+297
| | | | | | | | | | | | Libarchive stores most paths internally in a multistring that can contain a combination of a wide character string, multibyte string in current locale or unicode string encoded as UTF-8. Try to retrieve and set a variant of the string with the correct encoding when converting libarchive strings to/from Qt string classes. Task-number: QTIFW-2506 Change-Id: I7e7c1e3c5709b669df68b2f3918789ad4ebe4f13 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Update Japanese translation fileKatja Marttila2022-02-161-0/+16
| | | | | | Task-number: QTIFW-2436 Change-Id: I9b89eb86c33fbc39b77b96af963f1aaa02051374 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Update Chinese translation fileLiang Qi2022-02-101-10/+17
| | | | | | Task-number: QTIFW-2436 Change-Id: I9f3d81a5eb7c3ae1c5f596a1ba4a992bb99a1b8f Reviewed-by: Liang Qi <liang.qi@qt.io>
* Update Chinese translation fileLiang Qi2022-02-091-32/+48
| | | | | Change-Id: I144d3f1b955b92b8a0f46704016c9fe75f8c3ffa Reviewed-by: Liang Qi <liang.qi@qt.io>
* Update Polish translation fileKrzysztof Guć2022-02-091-108/+147
| | | | | | | All translations with unfinished status have been translated Change-Id: I0c4b0b15c3a1296f2e10cbd5c2dde631e34dc384 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Use of separators in Execute operationKatja Marttila2022-02-033-12/+43
| | | | | | | | | | | | | Execute -operation might be strict with the path separators. If wrong separators are used the Execute -operation might fail. Fixed so that Execute -operations paths are saved to dat file without converting to normalized separators. As the target dir is saved as @RELOCATABLE_PATH@ also for Execute -operation, check from the next available separator which separator should be used for operation. Task-number: QTIFW-2501 Change-Id: Ia9969bbe3177a6b2daab21c026df88d4e2ec2bb0 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Libarchive: include errno code description in error stringsArttu Tarkiainen2022-02-022-20/+37
| | | | | | | | | Sometimes the textual error message returned by archive_error_string() does not reveal enough useful information, add also the error code from archive_errno(). Change-Id: Icc62168bc862484bfa1efc70dd8ca2e341b3394f Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Gain admin rights when user is missing privilege to create symlinksArttu Tarkiainen2022-01-317-7/+155
| | | | | | | | | | | | | | | On Windows, the non-admin users cannot create symbolic links by default. Extracting archives containing symlinks would fail if the installer was no started as administrator. Catch the case and auto-elevate installer to extract such archives. Do not elevate installer if the current user has the privilege for symlink creation, or if the Developer mode is enabled, allowing unprivileged creation of symlinks. Task-number: QTIFW-2428 Change-Id: I0b6b1079daabb9727055dce8a9475c203d7e92b0 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Doc: Update toNativeSeparators/fromNativeSeparators docKatja Marttila2022-01-312-0/+20
| | | | | | | | | | Add information that the predefined variables are not resolved when calling this function. Task-number: QTIFW-2488 Change-Id: Ic6da8323c74c216f09dd54610ee9095d0a32c27c Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Remove extra linebreak from ConsumeOutput operationKatja Marttila2022-01-312-2/+2
| | | | | | | | | ConsumeOutput may be run to fetch a file path. Extra line break in the end will cause problems. Change-Id: I61133a66fb3d3a6961e9f79c11f783b5d103f046 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io> Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Do not check file existence in ConsumeOutput operationKatja Marttila2022-01-311-20/+8
| | | | | | | | | | | ConsumeOutput operation executable might be a system executable. Checking with QFileInfo if the file exists or is an executable does not work then as QFileInfo expects the given path to be full. QProcess might still find the executable although QFileInfo does not. Task-number: QTIFW-2499 Change-Id: I355f24c0c97947f8247667f54f203189b3830ead Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Update license headerKatja Marttila2022-01-2462-119/+119
| | | | | | | Use https instead of http in www.qt.io/licensing Change-Id: I0a2e97afcda03d50fd823be8e11426c2399a3b8f Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Update Russian translation fileKatja Marttila2022-01-241-0/+16
| | | | | | Task-number: QTIFW-2436 Change-Id: Ib1308b78d4e793f9d94bc2b891b7646799b11337 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Fix changeuserinterface exampleKatja Marttila2022-01-243-7/+7
| | | | | | | | Example was setting the value for RejectLicense checkbox which is removed and connecting to pageWidget even when using CLI install Change-Id: Icd8cba2e27e7bc6e081d93f8e125d46fcc7a7ee6 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Doc: update includes listArttu Tarkiainen2022-01-241-1/+1
| | | | | | Change-Id: Ice4d52a6c6c8b84c3b97b3d7faca5c931a69d0c0 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Make 'override' specifier usage consistentArttu Tarkiainen2022-01-2149-357/+359
| | | | | | | | | Add where missing. Replace occurrences of Q_DECL_OVERRIDE macro, building IFW requires a C++11 compatible compiler so the language specifier is preferred. Change-Id: Idb75e2813d26b9da85e03891f0ae9537c6524c56 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Update libarchive sources to 3.5.2 releaseArttu Tarkiainen2022-01-2132-677/+1412
| | | | | | | | | Upstream details: https://github.com/libarchive/libarchive/releases/tag/v3.5.2 Change-Id: I92bc5911bde854c30d0b6515c49b5d512210401f Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* MT: Fix setting incorrect TargetDir value when started as rootArttu Tarkiainen2022-01-201-1/+1
| | | | | | | | | | | | | | | Maintenance tool was using the vendor configured default target directory for system wide installations instead of the actual application path. In addition to possibly several other things breaking as the variable is used extensively by the framework, this would make the installation appear corrupted as the local package hub file could not be read from the incorrect location. Task-number: QTIFW-2486 Change-Id: I31676e57d83409022e6908e64fac636b12d8262d Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* RemoteObject: Fix warning on calling QLocalSocket::waitForDisconnected()Arttu Tarkiainen2022-01-203-6/+63
| | | | | Change-Id: I1d5fdfedaee35c530b383951e6fc69b75bd67d64 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Replace unnecessary includes with forward declarationsArttu Tarkiainen2022-01-2011-24/+37
| | | | | Change-Id: I4e5d627ae1832f6db63decfe1df4309bee938972 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Enable 'Enter' to click Next -button in macOSKatja Marttila2022-01-201-0/+5
| | | | | | | | | | | | | Removing QWizard::NoDefaultButton will enable enter clicking in macos. This will also keep the Spacebar -key press to accept the Next -button. Adding also Qt::StrongFocus to Next -button, otherwise for example the radio buttons in Introduction -page will get the Spacebar -key press, even when those are set invisible, causing the installer to be converted to package manager. Task-number: QTIFW-2409 Change-Id: I2ad0e98b5be635c2f9e53ec1b6262bd37be22cae Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Fix hard restart of maintenance toolArttu Tarkiainen2022-01-201-9/+16
| | | | | | | | | | This was only working when a component containing maintenance tool replacement was updated. For other 'Essential' and 'ForcedUpdate' components nothing happened after clicking the restart button. Task-number: QTIFW-2381 Change-Id: Ie59315b1d7e123af7169dff267ee2e1a4cf6b470 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Make Updater -view checkbox selection fasterKatja Marttila2022-01-194-14/+13
| | | | | | | | | | If there are lot of components installed, querying core from component caused unnecessary performance hit. Also replaced the foreach keyword with the preferred C++ range-based loop Task-number: QTIFW-1021 Change-Id: I961439ba14f26fee21f201769a71319b4b98d14b Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* MT: Disable package manager when forced updates are foundArttu Tarkiainen2022-01-182-0/+17
| | | | | | Task-number: QTIFW-2437 Change-Id: I3c0293550456f36e37e98e97042bf6bfae6ce96d Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Update Arabic translation fileKatja Marttila2022-01-181-0/+16
| | | | | | | Task-number: QTIFW-2436 Change-Id: Ic91ce0a88c78370bec68acd1db35712ad5bd7927 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Add "about application" menu and dialog on macOSArttu Tarkiainen2022-01-187-9/+184
| | | | | | | | | Also enable linking qtimageformats as a static plugin on macOS, it is required to read the .icns file to be shown on the dialog. Task-number: QTIFW-2453 Change-Id: Ib776635167a4c90ffa20a91ecc447d2d73f5aeb9 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* CLI: Add <TreeName> value to 'list' and 'search' command outputsArttu Tarkiainen2022-01-172-69/+100
| | | | | | | | | | | | | Print both 'TreeName' element and 'moveChildren' attribute value with detailed verbosity mode. Also use QXmlStreamWriter to write the output documents with deterministic attribute order, QDomElement stores the attributes internally in a QMultiHash map, which is randomized. Task-number: QTIFW-2452 Change-Id: I8eec64d39394f4092f8505ec99869165c82d11da Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Doc: note the expected image file format for customization elementsArttu Tarkiainen2022-01-171-6/+6
| | | | | | | Task-number: QTIFW-2426 Change-Id: I56ff521c928110977dc6a094d066bcee5145607d Reviewed-by: Iikka Eklund <iikka.eklund@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Fix visibility of warnings when failing to read product imageArttu Tarkiainen2022-01-171-2/+2
| | | | | | | | | These were printed with a logging category that is disabled by default. Task-number: QTIFW-2426 Change-Id: I7e7fd650e32f27e80cd5603c5385d3ff2197be7b Reviewed-by: Iikka Eklund <iikka.eklund@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Update Polish translation fileLukasz Lewandowski2022-01-171-1/+1
| | | | | | | | Adding translation for "Unnable to start installer" Task-number: QTIFW-2377 Change-Id: Ib0a4b2b69f3a53c33da2bc9f1ffe0cf9a7775982 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Use Next as default buttonKatja Marttila2022-01-141-6/+2
| | | | | | | | | Next should be the default selection when use presses Enter. Sometimes the focus was in Settings button. Task-number: QTIFW-1046 Change-Id: Idae996bd5a0c511b9d2595a22b7ea0114f34ade1 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Merge remote-tracking branch 'origin/4.0'Arttu Tarkiainen2022-01-133-9/+8
|\ | | | | | | Change-Id: Ifb02b022312859c2c946ec0debcd77dc90a0ced2
| * Remove IFW tools signing4.0Katja Marttila2021-01-281-9/+0
| | | | | | | | | | | | | | | | | | Signing installerbase will prevent the installer generated with binarycreator to be signed. (error 0x800700C1) Change-Id: I3b27a92c8e943fe0ea1242537961498597e4d93d Reviewed-by: Antti Kokko <antti.kokko@qt.io> Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
| * Embed target language in translation filesKai Köhne2021-01-146-6/+6
| | | | | | | | | | | | | | | | | | | | Fixes lupdate warning ifw_es.ts won't be updated: it contains translation but the target language is not recognized Change-Id: I46973c9583bc9220381780b807b672baba05567d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
| * Don't call toLower() when using the lang for finding the license fileAndy Shaw2021-01-141-1/+1
| | | | | | | | | | | | | | | | | | By calling toLower() it will go against what the expected format is for a language such as zh-CN and as a result not find the license file which is matching this language. Change-Id: Ibdf7d57d3d2761db7b68edcabf5599b9404f3b7e Reviewed-by: Katja Marttila <katja.marttila@qt.io>
| * Doc: Note the unique name requirement for files referred in config.xmlArttu Tarkiainen2020-12-211-0/+4
| | | | | | | | | | | | | | Task-number: QTIFW-2077 Change-Id: Ie5a21cb73dc41135e20e5059644d22c31275b49d Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
| * Open the top treeview item after pressing 'Filter'Katja Marttila2020-12-211-0/+1
| | | | | | | | | | | | | | | | | | | | Topmost treeview item should be open by default, but this was not the case after categories were fetched. Task-number: QTIFW-2058 Change-Id: If64126623bd7b783524b8bd16771ede574be3b97 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io> Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
| * Doc: Mark <InstallerWindowIcon> as Linux and Windows only elementArttu Tarkiainen2020-12-101-0/+1
| | | | | | | | | | | | Task-number: QTIFW-2077 Change-Id: I0298f2a3ec2eeb74536d27c172b9e84527bddf80 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
| * Remove references to <Icon> elementArttu Tarkiainen2020-12-102-8/+2
| | | | | | | | | | | | | | | | | | | | The element is marked as deprecated and does not work correctly anymore so mentions should be removed from documentation and code accordingly. Replaced with <InstallerApplicationIcon> and <InstallerWindowIcon>. Task-number: QTIFW-2076 Change-Id: I33c60321e468852b6ae20b44ed72a3e7a2119b75 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Update Portuguese translation fileKatja Marttila2022-01-121-0/+16
| | | | | | | | | | | | Task-number: QTIFW-2436 Change-Id: I5d478d2275dc8393c168796d0af4308af46c5282 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Fix executing tests when configured without libarchive supportArttu Tarkiainen2022-01-111-3/+3
| | | | | | | | | | Change-Id: Iaac72aa3d856a10c830f018ceb5c6ad87f4f28a5 Reviewed-by: Katja Marttila <katja.marttila@qt.io>