microdata_field_info_alter sets the microdata-flag even if the module providing the field isn't enabled. This produces incomplete field-info entries, which causes errors in some other modules (I had problems with link and entity_translation). And even if the modules are enabled, it breaks the installation process if microdata is enabled before these modules.

I've created a first patch with a very simple approach. Perhaps another one relying on entity info would be better.