Systems and methods for applying both profile and user customizations to
an application user interface are provided. Profile customizations,
created for a specialized use or field, are adapted to an application
user interface, which has command-menu-toolbar contributions from various
add-in modules. The user has access to the customizations through a user
interface. Then, as a user is customizing the application, through
commands, toolbars, and menus, the user customizations are tagged. A
priority and group is assigned to each customization to allow for
relative positioning of each customization. The difference between the
user's final desired state and a reset state is computed. This difference
computation is used to track the changes made to the application and to
assist in resets of the customizations.