thanks for creating this issue. we tried to fix this but the same code is also used during installing TYPO3 and everything tightly coupled together this won't change in future. copy from gerrit
Problem here is that the middleware is also used for the first install where the requirements are different. No LocalConfiguration and FIRST_INSTALL file required.
This behaviour breaks by throwing the Exceptions, because in this case the information about how to create FIRST_INSTALL should be shown. So it's fine if everything is FALSE in this scenario.
On the other side in the Install Tool (after the first installation) the same scenario should trigger the Exceptions.
So without any evidence in which context we are currently, I see no possibility to throw exceptions here as this would break the first install.
Bit more detailed:
Scenario 1 (First install):
No FIRST_INSTALL, No LocalConfiguration -> Fine, shows "create FIRST_INSTALL"
Scenario 2 (First install):
FIRST_INSTALL file created, No LocalConfiguration -> Fine, starts the install
Scenario 3 (Install tool):
No FIRST_INSTALL, No LocalConfiguration -> Error as LocalConfiguration is required
Scenario 4 (Install tool):
FIRST_INSTALL file created, No LocalConfiguration -> (current behaviour) Fine, starts the install
Please correct me if I misunderstood something, but many different approaches failed in at least one scenario.