Zope features an undo mechanism, you can access it from the ZMI via the Undo tab in the portal root or directly with the http://your.site.url/manage_UndoForm
.
The committed transactions are listed chronologically (latest on top), you need to identify the transaction in which you installed the problem addon (usually something like /[portal_id]/prefs_install_products_form
).
After you identify the transaction you will need to select it and all the transactions since then. So
[-] Transaction 10
[-] Transaction 9
[-] Transaction 8 <-- broke everything
[-] Transaction 7
will become
[x] Transaction 10
[x] Transaction 9
[x] Transaction 8 <-- broke everything
[-] Transaction 7
If the transaction that broke things is older and doesn't fit in the first batch (can't select all transactions), you can extend it by rewriting some URL parameters. For example
http://your.site.url/manage_UndoForm?first_transaction:int=0&last_transaction:int=100&PrincipiaUndoBatchSize:int=100
will give you the latest 100 transactions on a single page.
The url with all the parameters can be obtained by clicking on the Earlier Transactions > link on the top right of the listing.