A computer-readable medium having stored computer-executable instructions that, when executed by a computer system, cause the computer system to perform a method for determining if an add-in component available to an application is qualified for use with the application, the method comprising: access one or more identified properties for a candidate add-in component that is available to an application, the one or more identified properties indicative of functionality associated with the candidate add-in component, the add-in component represented in an add-in component entry of an add-in component index that also includes add-in component entries for other add-in components of the computer system and the candidate add-in component being installed on the computer system, wherein the identified properties indicate an entry point protocol used to implement an interface for the candidate add-in component; receive a request from the application for add-in components that satisfy one or more qualification constraints, the one or more qualification constraints indicating that an add-in component is to utilize a specified entry point protocol; compare the one or more qualification constraints and the one or more identified properties; determine if the candidate add-in component is qualified for use with the application based on the results of comparing the one or more qualification constraints to the one or more identified properties; receive a request from the candidate add-in that the application satisfies one or more other qualification constraints, the one or more other qualification constraints constraining the application to running the candidate add-in component in an application domain used only by the candidate add-in component; compare the one or more other qualification constraints to properties of the application; and determine if the application is qualified for use with the candidate add-in component based on the results of comparing the one or more other qualification constraints to the properties of the application. access one or more identified properties for a candidate add-in component that is available to an application, the one or more identified properties indicative of functionality associated with the candidate add-in component, the add-in component represented in an add-in component entry of an add-in component index that also includes add-in component entries for other add-in components of the computer system and the candidate add-in component being installed on the computer system, wherein the identified properties indicate an entry point protocol used to implement an interface for the candidate add-in component; receive a request from the application for add-in components that satisfy one or more qualification constraints, the one or more qualification constraints indicating that an add-in component is to utilize a specified entry point protocol; compare the one or more qualification constraints and the one or more identified properties; determine if the candidate add-in component is qualified for use with the application based on the results of comparing the one or more qualification constraints to the one or more identified properties; receive a request from the candidate add-in that the application satisfies one or more other qualification constraints, the one or more other qualification constraints constraining the application to running the candidate add-in component in an application domain used only by the candidate add-in component; compare the one or more other qualification constraints to properties of the application; and determine if the application is qualified for use with the candidate add-in component based on the results of comparing the one or more other qualification constraints to the properties of the application.