


Understanding Rootholds in Windows Installer
Roothold is a term used in the context of Windows Installer to refer to a specific type of dependency relationship between two packages.
In Windows Installer, a package can have dependencies on other packages, which means that it requires those packages to be installed before it can be installed or updated. A roothold is a special type of dependency that is used to specify a dependency on a package that is not a direct dependency, but rather a dependency that is inherited from another package.
To illustrate this, consider the following example:
Suppose we have two packages, A and B, where package A depends on package B, and package B depends on package C. In this case, package A has a direct dependency on package B, but package B has an indirect dependency on package C through its own dependencies. This indirect dependency is called a roothold.
When installing or updating these packages, Windows Installer will first install package C, then package B, and finally package A. This order is necessary because package A depends on package B, which in turn depends on package C. If we installed package A before package B, it would not be able to find the required files from package B, since they would not yet be installed.
In summary, a roothold is a special type of dependency that is used to specify a dependency on a package that is not a direct dependency, but rather an indirect dependency that is inherited from another package. It is used to ensure that packages are installed in the correct order to satisfy all dependencies.



