Changes

Package dependencies

1,070 bytes added, 15:39, 18 August 2009
Added include
Packages can depend on each other (i.e., you have to install Firefox before installing some Firefox plugin etc.).
There are two three types of dependencies:
<div style="margin-left: 30px">
'''chain''' - chains another specified package to this package.
 
'''include''' - includes another specified package in the overall WPKG process.
</div>
The format is very simple, and similar to the one used for [[profile dependencies]]
The example used in [[Packages.xml]] has been modified to make it dependent on another package called "other-package":
<source lang="xml">
<packages>
'''Attention:''' a chained package might also be installed before the package chaining it. This might happen if the chained package is either already installed (possible by another dependency) or has higher priority than the package which references it by chain. If you need to ensure that a package is installed before another one please specify a dependency (see [[Depending on a package]])
The example used in [[Packages.xml]] has been modified to make it chain another package called "other-package":
<source lang="xml">
<packages>
In general the best practice is that if some main package needs certain other packages (containing components, libraries, frameworks, ...) to be able to work, that main package should depend on the needed other packages.
But if (maybe due to a company policy) the main package always needs to be extended with certain packages (help-files, clipart, ...), then you should chain the extending packages from the main package. Be ware that if you don't want certain application extensions to be installed always (for example firefox developer extensions), you should not chain them from the main package, but let them depend on the main package and then assign them individually to the profiles where needed.
 
== Including a package ==
By using '''include''' you ''include'' a package to the list of packages as specified by the profile, meaning that if you install this package the included package will also be installed. This included package will be installed based on its priority.
So if the included package has high priority it will be installed early during synchronization. If the included package has low priority it will be installed late. If you would like to enforce a certain installation order please consider to specify a dependency (see [[Depending on a package]]) !
 
The example used in [[Packages.xml]] has been modified to make it include another package called "other-package":
<source lang="xml">
<packages>
<package
id="wpkg1"
name="Windows Packager sample 1"
revision="1"
reboot="false"
priority="0">
 
<include package-id="other-package" />
 
...
</source>
 
In this example the chain makes that "other-package" is also installed if the current package "wpkg1" is installed.
[[category:Documentation]]
Anonymous user