Вы находитесь на странице: 1из 4

InstallScape Internals

A Cadence White Paper

Cadence Design Systems, Inc.

White Paper: InstallScape Internals

Introduction
InstallScape is a network enabled installer that can be used to download and install Cadence products over the Internet. Products are downloaded and installed in parallel thereby minimizing the overall installation time. Downloads are done at the product level and not at the release level. This minimizes the data that needs to be downloaded and optimizes the download times and bandwidth requirements. This paper describes the internal architectural details of InstallScape.

InstallScape Hierarchy
InstallScape is a Java based application. The installation hierarchy contains a few scripts and the Java Runtime Environment (JRE). Descriptions of a few important files in the InstallScape hierarchy are as following:. ./iscape/bin/iscape.sh: This is a BOURNE shell script that is used to start up InstallScape. This script sets a few environment variables, detects the execution platform and starts InstallScape using the correct JRE. ./iscape.sh/lib/InstallScape.jar: This jar file contains about 1000 class files that provide all the functionality related to downloading and installing Cadence products. ./iscape.sh/lib/script.unx: This script is used by InstallScape to determine the disk space available on the partition being used for installation. It is also used to determine the location of the Internet browser. ./iscape/runtime: This directory contains the Java Runtime Environment for a particular platform.

InstallScape Architecture
InstallScape can be used in the GUI mode or in the command-line batch mode. Both the interfaces use the same underlying installer classes that perform the download, installation, configuration, removal, updates and so on. InstallerUI is a wizard-based GUI that walks the user through the installation tasks. It uses the Installer class to accomplish the actual task. The BatchView class provides the command line batch mode interface. Users can perform the major installation tasks noninteractively using this interface. BatchView also uses the Installer classes to perform actual tasks. BatchView and InstallerUI are the two views of the Installer class. BatchView is the command-line batch mode view. InstallerUI is a wizard-based graphical view of the Installer. Revision: 1.1 Date: 9/13/2006 Cadence Design Systems, Inc. http://downloads.cadence.com Page 2

White Paper: InstallScape Internals


Figure 1: InstallScape Architecture

InstallerUI

BatchView

1 Installer 1 1

Installer
The Installer is the main class that downloads, installs, configures, uninstalls, updates, and tests. It uses a number of other classes to accomplish these tasks. As seen in the Figure 2, the installer contains a TargetLocation and one or more SourceLocations. There are two types of SourceLocations : local and remote. Remote SourceLocations are the ones that are only accessible over the Internet (http or ftp). Local SourceLocations are ones that are on the user's local hard drive or network drive and are accessible as a local directory. When users select an SDL file, a remote SourceLocation is instantiated. When users select an installation directory, a TargetLocation is instantiated. When users select an archive directory, a local SourceLocation is created. A local SourceLocation is also instantiated when a user chooses to install from an archive and specifies an existing archive directory.
Figure 2: Installer - Static Structure

Installer 1

1 TargetLocation

* SourceLocation

Revision: 1.1 Date: 9/13/2006

Cadence Design Systems, Inc. http://downloads.cadence.com

Page 3

White Paper: InstallScape Internals Download involves transferring the products from a remote SourceLocation to a local SourceLocation. LocalizeThread performs the download. Installation involves transferring bits from a local SourceLocation to the installation directory. InstallThread performs the installation. ConfigureThread and RemoveThread perform configuration and uninstallation, respectively. LocalizeThread and InstallThread run in parallel. LocalizeThread downloads a product and InstallThread installs the product as soon as it is downloaded. UpdateThread assists in the task of updating an installation hierarchy. As shown in Figure 3, the Installer uses a number of threads to accomplish its tasks.
Figure 3: Installer - Dynamic Interaction

Installer

LocalizeThread

Installthread

ConfigureThread

RemoveThread

UpdateThread

Web update happens in two steps. In the first pass, the update releases that are available for the installation hierarchy are retrieved. The user selects an update release to install. LocalizeThread and InstallThread then take over and update the installation hierarchy.

Contact Information
For more information, contact Paul Smith at psmith@cadence.com

Revision: 1.1 Date: 9/13/2006

Cadence Design Systems, Inc. http://downloads.cadence.com

Page 4