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 commandline 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.
-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 crosstalk 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.
-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
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.