Requiring the Installation of Another Network Component
A network component may require the installation of one or more other network components in order to function properly. A network INF file specifies each such dependency with a RequiredAll value. The RequiredAll value is added (through an add-registry-section) to the Ndi key of the network component that requires the installation of another network component.
The following example shows a RequiredAll entry in an add-registry-section:
[ndi.reg] HKR, Ndi, RequiredAll, 0, "component id"
The component ID is the hw-id of the required network component. For more information, see INF Models Section. If a network component requires the installation of more than one other network component, use one RequiredAll entry for each network component that must be installed, as shown in the following example:
HKR, Ndi, RequiredAll, 0, "component1 id, component2 id"
For example, if the INF file for component A specifies, through RequiredAll, a dependency on component B, component B cannot be removed until component A is removed. RequiredAll should therefore install only network components that are absolutely required for the operation of another network component. For example, if an INF file for a Net component (an adapter) uses RequiredAll to specify that TCP/IP must be installed, the user will not be able to remove TCP/IP until that adapter is removed. Since the adapter does not require TCP/IP to operate, the INF for the adapter should not use RequiredAll to specify a dependency on TCP/IP.
The INF file that specifies a RequiredAll dependency must ensure that the INF file for the required network component is present in the inf directory. Typically, this is accomplished with a CopyINF directive. For more information about the CopyINF directive, see INF CopyINF Directive. For more information about copying INF files, see Copying INFs.
If the installation of a network component specified by a RequiredAll entry fails, the installation of the network component that requires the specified component fails as well.