Windows installer and installshield caveats – Echelon LNS User Manual

Page 326

Advertising
background image

LNS Programmer's Guide

312

In order to find the LNS runtime installation files when the Custom Action is called, the
_SetupLNS.dll makes the following assumptions about the configuration of your

installation and installation medium. It assumes that there is a Windows Installer

property named SETUPEXEDIR defined, and that this property gives an absolute
directory location on your source medium. It assumes that it will find the LNS runtime

sub-installation in the directory “LNS Server” (for the Echelon LNS Server) or “LNS

Remote Client” (for the Echelon LNS Remote Client) of the directory defined in
SETUPEXEDIR. Recent versions of InstallShield set the SETUPEXEDIR property

automatically for installations that are run from their standard setup.exe, making it this

convention particularly useful for InstallShield users. If you are not using InstallShield
for your Windows Installer development, this property may also be defined and set

manually within your installation in order to point to the proper medium location of the
LNS runtime installation.

The version 3 Microsoft XML Parser installation is also available as a merge module for

Windows Installer based installations, and it should be installed separately by your
installation, just as in the setup.exe case. The merge module, named msxml3.msm, is

included in both InstallShield DevStudio 9 and recent versions of Visual Studio.

LNS Server and Remote Client Runtime Incompatibility

The LNS Server and LNS Remote Client runtimes are mutually exclusive, and should
never be installed on the same PC at the same time. The LNS Server installation is a

superset of the LNS Remote Client installation, and may safely be installed after

removing any Windows Installer based LNS Remote Client installation on a PC.
Likewise, the LNS Remote Client installation can be safely omitted if the Windows

Installer based LNS Server installation already exists on the PC.

Neither of the LNS runtime installations currently checks for the existence of the other

installation in order to force remedial action in this case, but they may be modified to

provide that function in the future. Your LNS-based application installation may provide
this check now if this case is likely to arise in your installation scenario.

Windows Installer and InstallShield Caveats

When embedding the new LNS Server or LNS Remote Client runtime installations into

your LNS application's installation, do not use the "Nested Installation" option of

Windows Installer. This will cause the LNS Server installation to become too tightly
coupled to your application. It will not allow the LNS runtime installation to be patched

or upgraded, or to be installed by another application on the same PC, so it is not an

interoperable way to install the LNS runtime.

Windows Installer does not fully support concurrent installations, but the LNS runtime

installations may be run during some portions of some types of Windows Installer based
installations. For example, in InstallShield DevStudio 9, the LNS Server may be

installed as a Custom Action during some portions of the UI sequence of a “Basic MSI

Project.” Because of the InstallShield-Windows Installer runtime architecture, the LNS
Server can only be installed by an “InstallScript Windows Installer Project” as a Nested

Installation. Therefore, an “InstallScript Windows Installer Project” type project may not

be used to install the LNS runtime.

Advertising