|Concepts of installation|
|Written by Administrator|
|Monday, 11 May 2009 09:52|
Each program is based on the concepts, on the way the developers see the problem which is going to be solved by their product. Naturally, deployment software cannot be called exception from this rule, so we are going to talk about concepts that were used when Ghost Installer was created.
First of all, the primary objective of deployment software is to install files, registry values and shortcuts. Ghost Installer uses the following objects to organize these items: packages and components.
A package is an installation unit compiled into a separate (.gip) file, packages include components. Packages also include plug-ins, so if there are specific plug-ins that are required for installation of some components, they can be included in the package.
A component includes files, shortcuts and registry values. Component has its destination folder so all files, included in the component have paths relative to component's path. Shortcuts and registry entries have absolute paths.
Installation needs to be broken into components to implement partial deployment. Components can be later linked to features, which are included in installation types. A feature is linked to components (several features may be linked to the same component), features define required features and excepting features. Features are shown to user when he chooses "Custom" installation type or goes to "Add/Remove components" mode.
To make it possible for end-user to choose components to install, you have to create Custom installation type, and specify, that this installation type is custom.
To make it possible for user to choose installation types and features, you have to add "Installation types" and "Features" dialogs to Installation sequence and specify "IsActiveInstallTypeCustom" condition for "Features" dialog. But the best way is to use Advanced project template, where all these actions had already been performed.
Installation can be broken into packages for several reasons, but the most popular one is that packages can be web-deployed. When a package is web-deployed, it can be placed on a web site or an intranet server, and will be downloaded only if end-user wants to install features, that are linked to components, included in the package. Creating web-deployed installations is described in another article.
|Last Updated on Sunday, 07 June 2009 04:30|