ANALOG DEVICES EE-273 Service Manual

Engineer-to-Engineer Note EE-273
a
Technical notes on using Analog Devices DSPs, processors and development tools
Contact our technical support at processor.support@analog.com and dsptools.support@analog.com Or vi sit our o n-li ne r esou rces htt p:/ /www.analog.com/ee-notes and http://www.analog.com/processors
Using the VisualDSP++® Command-Line Installer
Contributed by Alex Gray Rev 1 – July 11, 2005

Introduction

Analog Devices VisualDSP++® 4.0 includes a command-line interface to the installer. It offers advanced features that may be beneficial to users and/or administrators in environments that:
Demand rigorous version control Automated installation/build/test harnesses The maintenance of multiple update/patch levels on the same PC
It is expected that only a minority of customers will use these features.
This document is relevant to VisualDSP++ 4.0 and later. This installer is not available for earlier
versions of VisualDSP++.

Overview and Command-Line Usage

For most users, software installation is a simple matter of selecting the default installation options offered by a graphical installation utility that ships with the product. Installer tools may provide minimal customizations, such as allowing the user to specify the installation directory. The VisualDSP++ installer is the recommended tool for performing installations for the majority of customers. However, some customers have a development process that demands more control over the installation of VisualDSP++. This document details the command-line of the installer and describes several advanced installation options that may be beneficial to some users’ workflow.

Install_CL

The command-line installer is called Install_CL. Setup is the graphical wrapper around Install_CL.
Setup itself does not modify the user’s system; it shells to Install_CL for all “write” actively. Thus,
nothing can be done with performs actions. This log is written to standard out ( prompt’s “>” operator. Fatal errors and a few high-level warnings are written to both stdout and standard error (
stderr).
Table 3 in the Appendix summarizes the command-line summary of
switches are mandatory (Table 1).
Copyright 2005, Analog Devices, Inc. All rights reserved. Analog Devices assumes no responsibility for customer product design or the use or application of customers’ products or for any infringements of patents or rights of others which may result from Analog Devices assistance. All trademarks and logos are property of their respective holders. Information furnished by Analog Devices applications and development tools engineers is believed to be accurate and reliable, however no responsibility is assumed by Analog Devices regarding technical accuracy and topicality of the content provided in Analog Devices Engineer-to-Engineer Notes.
Setup that cannot be done with Install_CL. Install_CL generates a log as it
stdout) and may be captured with the command
Install_CL. Several of these
Switch Description
-action <value>
-dir <value>
-hklm <value>
-manifest <value>
Specifies the fundamental action to be performed by the installer. The new, update, and remove actions are the most basic operations. insitu is detailed later in this document. drysys32 and sys32 are primarily for the GUI’s benefits, allowing the GUI to update the
PC’s \Windows\System32 files as an independent step, before placing application files. Command-line use of these options is not expected.
The directory in which files are to be installed. The HKEY_LOCAL_MACHINE registry key to be used. This location be must unique for
each installation of VisualDSP++, otherwise installations will “cross-talk” with each other and an uninstallation may damage other installations.
Indicates the “manifest” file to drive the installation’s actions. The manifest is an XML-format file that defines all files associated with an installation and special attributes associated with any file (registry settings, start menu items, etc.). Although manifests are text files and are easily modifiable, modification of a manifest file is highly discouraged.
-stage <value>
The directory in which files will be installed from. This switch is not required when removing an installation.
Any version/variant of VisualDSP++ installed with a modified manifest will not be support by Analog Devices.
a
Table 1. Mandatory Command-Line Switches for Install_CL
Install_CL

Advanced Switches

issues a return code indicating success or failure. See Listing 1 in the Appendix for summary.
Advanced command-line switches are described below. Any other switch not discussed here either has obvious usage or is not expected to use used by the customer base.
Switch Description
-scrub-hku
-scrub-inf
-use-date
Causes the installer to remove any registry keys that match the pattern HKEY_USERS/*/$HKLM, where
$HKLM is the value specified by the –hklm switch. Windows’ HKEY_USERS hive is used to persist settings on a per-user basis (window layouts, most-recently used files lists, etc.) for product removal to ensure that the PC is left in as clean a state as possible. It also prevents per-user settings from “reappearing” if the product is later reinstalled.
Causes the installer to search the \Windows\INF directory for the previous version of emulator and/or EZ-KIT Lite INF files, and moves them to the Recycling Bin. This occurs before the installation of new INF files. This ensures that only the latest INF files are present. This resolves some issues with Windows 2000’s tendency to not always select the most up-to-date INF file when multiple INF files are available for the same hardware. By default, Setup uses the –scrub_inf switch; it is recommend that command­line users use this switch.
Indentifies the HKEY_LOCAL_MACHINE registry key to use. It is imperative that this location be unique for each installation of VisualDSP++. Otherwise, installations will “cross-talk” with each other and one uninstallation may likely damage other installations.
1
. This switch is intended
Table 2. Advanced Command-line Switches for Install_CL
1
HKEY_LOCAL_MACHINE is used to persist settings on a per-machine (installation) basis.
Using the VisualDSP++® Command-Line Installer (EE-273) Page 2 of 14
a

Example 1: Simple Product Installation

Selecting the default options from Setup is equivalent to the following command-line2, with the working directory being the directory in which Install_CL is found.
Install_CL -action new
-dir “C:\Program Files\Analog Devices\VisualDSP 4.0”
-hklm Software\Analog Devices\VisualDSP++ 4.0”
-manifest “manifest.xml”
-scrub-inf
-stage “Stage”
-startmenu “C:\Documents and Settings\All Users\ Start Menu\Programs\Analog Devices\VisualDSP++ 4.0”
-use-date
Note that the When installing multiple versions of VisualDSP++, use unique values for these switches to avoid cross­talk between discrete installations of the product.
–dir, -hklm, and –startmenu switches are specific to the destination of the installation.

Example 2: Simple Product Update

An update lays an incremental installation on top of an existing installation. Updates are distributed as a single, self-extracting executable file (you may have to rename the download with an EXE file extension).
Do not extract these files to the application directory. Place them in a temporary directory.
After the extraction (in this example, C:\Temp\VDSP_Update\Stage), run the following command-line to update the existing installation. The working directory is the base of the installed VisualDSP++ directory (note the “.” in the –dir switch)
Install_CL -action update
-dir “.”
-hklm Software\Analog Devices\VisualDSP++ 4.0”
-manifest C:\Temp\VDSP_Update\manifest.xml”
-scrub-inf
-stage C:\Temp\VDSP_Update\Stage”
-startmenu “C:\Documents and Settings\All Users\ Start Menu\Programs\Analog Devices\VisualDSP++ 4.0”
-use-date

Example 3: Product Removal (Uninstallation)

A removal uninstalls the VisualDSP++ product. The following command-line will uninstall the product. The working directory is the VisualDSP++ directory.
2
Throughout this document, carriage returns are inserted for readability. In reality, this is one long command-line.
Using the VisualDSP++® Command-Line Installer (EE-273) Page 3 of 14
Install_CL -action remove
-dir “.”
-hklm “Software\Analog Devices\VisualDSP++ 4.0”
-manifest manifest.xml”
-startmenu “C:\Documents and Settings\All Users\ Start Menu\Programs\Analog Devices\VisualDSP++ 4.0”
a
This command removes files listed in the manifest, including files later modified by the user. If
you have modified example code that you wish to retain, ensure that you have copied these files outside of the VisualDSP++ installation directory.
This command removes files listed in the manifest, including files later modified by the user. If you have modified example code that you wish to retain, ensure that you have copied these files outside of the VisualDSP++ installation directory.
Removal will not remove these files:
Files placed in the \Windows\System32 directory. These files are shared among multiple applications
and cannot be removed.
Files not listed in the manifest. These include your license file and any .DOJ, .DXE, etc. files that may
have resulted from building example programs that ship with VisualDSP++.
Install_CL and the manifest. These files are locked by the operating system during removal. Thus
they cannot be deleted.
Example 4: Cloning an Existing Install and then Updating that Clone
A clone of an installation creates a new installation of a product from an existing installation, rather than from a CD or web software distribution. The use of clones allows you to maintain multiple versions of VisualDSP++ on the same PC at different update levels. Clones provide a risk-free way to “test” new updates or patches installation of VisualDSP++ resides. The command line is very similar to a new installation.
Install_CL -action new
-dir C:\Program Files\Analog Devices\VisualDSP 4.0 Clone”
-hklm Software\Analog Devices\VisualDSP++ 4.0 Clone”
-manifest manifest.xml”
-scrub-inf
-stage “.”
-startmenu “C:\Documents and Settings\All Users\ Start Menu\Programs\Analog Devices\VisualDSP++ 4.0 Clone”
-use-date
3
. In this example, the working directory is the directory in which the existing
3
“Uninstalling” or “rolling back” an update is not supported by the installer. The ability to clone and update the clone only offers similar functionality.
Using the VisualDSP++® Command-Line Installer (EE-273) Page 4 of 14
a
After performing the clone action, the PC will have two identical installations. You can then update the clone installation using the procedure detailed above (with the working directory being that of the clone). Updating the clone in this manner leaves the original installation unchanged.
As discussed throughout this document, give each clone a unique –dir, -hklm, and –startmenu value to avoid cross-talk between installations.

In Situ Installations

In situ is Latin for “in place” or “in the original position”. An in situ installation refers to a VisualDSP++ installation that opperates on a set of files that already exist on the target machine. It is important to understand that in Microsoft Windows software, an “installation” is more than a collection of files. A number of “other” steps must be performed to make the application “known” to Windows and the user. Other steps include creating static registry entries, self-registering components with the operating system, creating a Start Menu item, creating install-time .BAT and .INI files, and installing device drivers. In an in situ installation, these “other” steps only are performed; no application files are installed/copied.
An in situ installation supports scenarios in which VisualDSP++ is placed under source code control such as CVS4 and then later retrieved onto a different machine. Once placed onto the new machine, an in situ installation performs the “other” steps discussed above. An in situ installation, in conjunction with a source code control tool like CVS provides robust version control for your development tools, address two requirements:
To ensure that your organization uses the same build tools consistently To more easily recreate historic build environments when supporting legacy products
The following two examples demonstrate how to create such an environment. Basic usage and nomenclature of CVS is required to take full advantage of these examples.
Note that many VisualDSP++ licenses are node-locked, meaning that they will work only on an individual machine. Two approaches to working with VisualDSP++ licensing is to use floating licenses or to create node-locked licenses for each machine and to commit them to CVS with machine-specific tags.
Example 5: Creating, Committing, and Tagging a CVS Repository and then Performing an In Situ Installation from It
The first step in this example is to create the repository in CVS and to commit the VisualDSP++ application files to this repository. To do this, follow these steps:
1. Check out the CVS repository to a local directory ( i.e.,
cvs checkout –d “e:\temp\cvsRepository” <path to repository>
e:\temp\cvsRepository):
4
CVS is cited throughout this document, and all given examples use CVS. However, the principles involved can be applied to any number of source code
control applications.
Using the VisualDSP++® Command-Line Installer (EE-273) Page 5 of 14
Loading...
+ 9 hidden pages