Current ALPInstall version
1.2.2.0
ALP ships with especially developed
installation program - named ALPInstall.exe. Some of the reasons to create it are the ALP
specifics. This program has minimal user interface and will do its work for a very little
time without disturbing the final user with many questions. ALP Install supports not only
installing the ALP redistributables but also it can be used to install on the user's
machine ALP applications and start additional setup program if the distributed application
requires it (for example some DB components). It supports also features
helpful in case of autorun CDs and many other situations.
ALP Install is suitable for installation of small and medium ALP
and non-ALP applications. There are many tools capable of doing so
- our target is to provide a tool for the vendors that will want solution for the
push-and-run situations - such as ALP applications running form CD-ROM and solution that
can be used as an additional setup started by another one. Also ALPInstall simplifies the
work of administrators managing ALP applications in the company - they are able to prepare
applications and leave users to start the installations on their machines (as long as the
users have rights to install such things like ActiveX components).
The supported features in short with links to the related
configuration entries:
- Extensive system of source
and destination
directory aliases which allow the developer to construct the
installation logic easily and in a location independent way.
- Installation
of COM DLLs with complete version checking even in case the
DLL is installed (by another setup or manually) in unexpected
location, usage counting etc.
- Installation of simple files
and directories
- Installation of ALP
content generator modules (COM and non-COM)
- Updating/merging of text
configuration files
- Ask the user to select the destination
directory or directories for the application or some of its
components.
- Adding and removing (on uninstall) registry
entries
- Creation of shell shortcuts
in all the possible locations (e.g. start menu, desktop, favorites
etc.) with many options - parameters, description, work directory,
custom icon etc.
- Full localization and
specialization of the texts - each text can be set to meet
your requirements or translated in the desired language. Only one
language is supported for a single setup package.
- Read-me dialogs
can be shown during the setup for user information.
- Custom image/logo (see later in this page)
- Miscellaneous options to simplify the usage of the setup by the
final users.
- Alternate setup
by starting alternative program depending on the user's
decision (good for autoruns which offer both installation or run
from the CD options)
- Registration of the
uninstall in the Add/Remove programs control panel applet.
- Log file to allow the developer to trace problems that occur on
certain machines.
- External setup execution after completion.
- Starting the installed application.
The setup is defined in a text configuration file. See the detailed
reference of the entries in it here.
ALPInstall will search for that file in the directory from which it
has been started or alternatively the file can be passed to the
installer as command line parameter. The file
must be named setup.cfg for all the cases where the ALPInstall
will be started without command line parameters. This includes almost
all the possible applications because usually the setup packages are
started by opening an exe by double clicking it or configuring it in
an autorun.inf file (in case of autorun CD).
ALPInstall command line options
If started without options ALPInstall searches for the Setup.cfg file in the current
directory and starts installation described in it.
Other options can be specified:
- Installations/autoruns
ALPInstall [/o] [Setup_file.cfg]
- /o specifies "run once" option. See the SelfSignature record entry. this causes setup
to place in the registry contents of the SelfSignature record and if invoked second time
setup will do nothing if the application is up to date. LanchURL option is executed only.
- If file name of the setup file is omitted then install will assume Setup.cfg in the current directory.
- See also the alternate
setup by starting alternative program settings which allow you
to give the user permission to choose between starting the setup or
starting something else on the CD (could be other ALP application
designed to run from the CD directly or possibly the same
application if it is designed for dual usage - installed and
run-from-the -cd)
- Uninstall
ALPInstall /u | /f Uninstall_file.cfg
ALP Install automatically registers the installation using /u option. Uninstall
file name is determined by the InfoFilename
record entry in the setup configuration and file is created during the installation. By
default /f switch is never used automatically. It is useful only for manual invocation
- using /f instead of /u means full uninstall. This will remove all files including those
marked as DONTUninstall.
Use
it with care!
Custom logo
From version 1.0.1.0 ALPInstall searches for a file named logo.bmp
in its directory and if found it shows it instead of the resource logo
image. For better presence image must be of size 250x100 pixels. Image
is loaded by using standard windows feature for 3-D colors mapping
(see LoadImage in MSDN for details). In short RGB(128,128,128) will be
mapped to button shadow color, RGB(192,192,192) to the button/dialog
face color, RGB(223,223,223) to the button light color. Palette images are
preferred but true color bitmaps are allowed too.
Logo image is not automatically copied to the target location - if
you want the uninstall to show the same image (or another one) you
must add file entry in the Setup.cfg
to copy the image to the application destination directory.
Additional features
From version 1.0.1.0 ALPInstall supports overwrite mode more carefully. If the user chooses to overwrite existing installation of
the product reference counting of the DLLs usage is not incremented
during overwriting process. Also ALPInstall saves temporary indicator
file if machine restart is scheduled. This feature preserves most of
the problems caused by install/uninstall actions without performing
the restart. Indication and overwrite mode depend on the SelfSignature
value in the MAIN section. Please take care to
specify unique signature and your application specific file names for
the UNINSTALL section. Most of the problems of the
installations of the custom ALP applications are caused by overlapping
signatures and file names. We will be glad to answer your questions and
help you to build your first installations - this will help us to
determine how to improve the ALPInstall documentation and features.
If you need help from us - please attach your Setup.cfg file to the letter. Send
letters to support@newobjects.com then someone
from us will continue conversation with you.
Samples
The ALPInstall samples are not included in the main ALP package
but are available for download on the deployment
samples page on our site. All the samples are designed for usage as
starting point of your own installations. We removed the sample setup
files from the ALP documentation because reviewing them without the
actual files listed in them can be confusing. On the page mentioned
above select the sample(s) most suitable for your case. The page also
contains the autorun (non-installed run-from-the-CD) solutions and mixed
solutions. The ALP applications in the samples are simple pages of
course - they just show where the actual application should be placed.
Suggestions
To simulate autorun you do not need to burn a CD. Use a directory and
by using the subst system command map it to a drive letter. Then
double clicking the fake drive in the "My computer" will start
the autorun.
Testing the installation is vital and should be performed carefully
before distributing them to the final users. It is recommended to use
clear machine for the purpose.
Using ASP Compiler with ALP will require you to install certain
DLLs built with it and VB. They must be configured the same way as any
other COM DLL. The location where they will be installed is up to you
but we recommend a special directory (named after your company) in the
Common Files folder for all the files that can be shared even if such
a shared usage is just an idea for a future version. Keeping the DLL
files install location constant helps avoiding many mistakes and
ensures compatibility with setup products based on other software
which do not support automatic DLL searching (note that many of the
wizard based install applications are of this type and even if the
setup creation looks easy the problems will occur later). This
suggestion is times more important for COM DLLs containing universal
or semi-universal components.
Usage of textual configuration files in the ASP pages may enhance
your application drastically. Note that they act like the system
registry (See the ConfigFile component in ActiveXPack1) but still are
human readable files. ALPInstall supports them in special fashion and
is capable of merging them instead of just replacing such a file. This
allows you to set initial settings and be sure that the file will
remain usable even if an older application version had used it.
Conventions
There is one convention about registering the ALP application
installed on the PC in the system registry. Use the following section
as an example on how to do it. Name the subkey of the HomeLinks key
after your application name and put in it one or more appropriate
links to the entry points of the application. Take care to delete them
on uninstall. This is related to a feature supported by the ALPFrame.
The ALPFrame installed on the PC uses these entries to compose
automatically a home page which allows the user to enter the desired
application immediatelly. Of course you have also links in the start
menu and other locations but registering the installed application
here will make it more accessible for the users.
{ REGISTRY: (ALPInstBase.InstallRegistry)
{ INSTALL:
(int)MapPaths=1
{ HKLM\Software\newObjects\ALP\HomeLinks:
{ Application name:
(string)Application link 1=alp://%BASEDEST%/Start/
(string)Application link 2=alp://%BASEDEST%/subapp1/
} Application name;
} HKLM\Software\newObjects\ALP\HomeLinks;
} INSTALL;
{ UNINSTALL:
{ HKLM\Software\newObjects\ALP\HomeLinks\Application name:
} HKLM\Software\newObjects\ALP\HomeLinks\Application name;
} UNINSTALL;
} REGISTRY;
|