Details
Description
This is because meta type ID of "Repository" differs across runs.
The meta type is registered through registerMetaType() method of class Repository when the constructor is called for the first time. If no repositories are configured in config.xml the constructor will not be called until PackageManagerCorePrivate::runInstaller() is executed and a new entry for the offline repository is created. This will result in meta type ID 1039. If the maintenance tool is run the Repository constructor is called much earlier resulting in meta type ID 1029. The entry in the ini-file cannot not be read, then.
Steps to reproduce:
- create installer with no repositories specified in config.xml and using the --offline-only option
- Install using --create-offline-repository option
- run maintenance tool
- select "Update components"
- open "Settings"
- select "Repositories" tab
--> empty/invalid entry in "Default repositories"