Algúns meses atrás, mentres traballaba nun proxecto para un cliente, I created a feature. Among other things, esa característica definida unha acción personalizada (estas aparecen baixo a configuración da web). The only purpose for this custom action was to demonstrate to me that the feature activation was working as expected. Basicamente, I used it as a crude form of debugging.
Much to my embarrassment, this debugging artifact made its way from dev to UAT and to production before someone got around to asking, "what is this xyzzy link?"
Ata agora, we’re in production and I really don’t want to uninstall the feature, fix elements.xml and then reinstall.
Todd Bleaker pointed out an easy way to handle it. In his words:
"CustomActions are not copied into the database, they are read directly from the Elements.xml file and copied into application state at runtime. Así, you don’t need to deactivate, uninstall, reinstall, and reactivate the Feature to remove the CustomAction. Just remove it from the Elements.xml file and recycle the application pool(s) effected. The next time the Feature is in scope, you won’t see the CustomAction anymore."
I followed his instructions and, claro, they work.
No meu caso, this is a department level installation with just a single WFE. If you find yourself with this problem in future and with multiple WFE’s, I believe you’ll have to make the change in each.
</final>