ALP ALP Install
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;

 

newObjects Copyright 2001-2006 newObjects [ ]