|Id||String||Dependency requirement identity. If this attribute is not specified, an identifier will be generated automatically. If this element is not authored under a Provides element, this attribute is required.|
|IncludeMaximum||YesNoType||Set to "yes" to make the range of dependency provider versions required include the value specified in Maximum.|
|IncludeMinimum||YesNoType||Set to "yes" to make the range of dependency provider versions required include the value specified in Minimum.|
|Maximum||VersionType||The maximum version of the dependency provider required to be installed. The default is unbound.|
|Minimum||VersionType||The minimum version of the dependency provider required to be installed. The default is unbound.|
|ProviderKey||String||The unique registry key name for the dependency provider to require during installation of this product.||Yes|
This element declares a dependency on any product that uses the Provides element. If that product is uninstalled before a product that requires it, the uninstall will err or warn the user that other products are installed which depend on that product. This behavior can be modified by changing the attribute values on the Requires element.
If you do not nest this element under a Provides element, you must specify the @Id attribute so that it can be referenced by a RequiresRef element nested under a Provides element.