We too migrated from 7 to 9 recently. Though we followed the upgrade script approach for the databases as a whole, we have also created packages from 7 and installed in SC 9, as and when needed and it worked fine most of the time. Just once I had encountered an error for a custom multi list with search field whose values were being stored in a custom database table which was missing in the new environment. Adding that in the new database fixed the issue for me. So, to point out the exact issue here would be difficult unless we get more specific log details . But some quick checks to narrow down the cause are as below:
1. Check the templates you installed, is there any template or field ( could be custom) which looks erroneous? If yes check the core database for that field and associated code as well.
2. Even though you are getting an error message , check if any of the items got installed and just few are missing. This happens at time though you see the error message you will see some of the items been installed. This will help to get a hold of exactly which template is causing the issue then.
3. Issue could be with the renderings or layouts associated with the items too.
4. Usually for items installation, you can also check these two settings which sometimes create issues:
InvalidItemNameChars and ItemNameValidation
Hope this helps!