I was also getting the vague “There was an error during installation: Extension is invalid” message and couldn’t pin it down.
I fixed it by changing manifest version to 2 after looking at this article: There was an error during installation: Extension is invalid.
None of the error messages mention this, but it seems pretty straightforward to catch and specify.