              SETTING UP CLEANSCAPE FLOATING LICENSES ON WINDOWS        6/14/13


This readme provides instructions for sysadmins setting up Cleanscape products
including Fortran-lint (Flint), C++lint, and Lint-Plus (Lplus) in networked
(floating) mode with Windows clients.  If you encounter any problems or need 
clarification, email support@cleanscape.net.

In the text below, the acronym CSPROD is meant to refer to any of the three
Windows-based Cleanscape products mentioned above - Flint, C++lint, or Lplus.

Cleanscape products are purchased as either node-locked or floating licenses.
In node-locked mode there is nothing extra to do; you simply install CSPROD on 
the desired user system according to the installation notes from the downloads 
web page and the detailed instructions in the documentation contained within 
the doc subdirectory.  Further, no Windows daemon (service) is required for 
node-locked operation. In this case, you're done!  You can stop reading... now.

Note that these instructions work correctly for any host acting as the server;
in other words, the server can be Unix, Linux, or Windows AS LONG AS your
company is authorized to operate on that host (i.e., your company has purchased
licenses for that particular host).  In heterogeneous environments, we have
tested and recommend the license server be Unix or Linux.

Use the handy decision table below to determine which steps to follow,
depending on the server mode and type of clients:

+-----------------------+------------------------+----------------------------+
|      Server Mode      |      WinNT Client      |  Win2k/XP/Vista/7 Client   |
+-----------------------+------------------------+----------------------------+
| License Server        |                        |                            |
|   Clients run CSPROD  |    STEPS S1, C1, C3    |    STEPS S1, C1, C3, C4    |
|   local installs      |                        |                            |
+-----------------------+------------------------+----------------------------+
| Application Server    |                        |                            |
|   Clients run CSPROD  |  STEPS S1, S2, C1, C2  |  STEPS S1, S2, C1, C2, C4  |
|   over network drive  |                        |                            |
+-----------------------+------------------------+----------------------------+

An application server means less administrative overhead, especially when
installing patches or new releases of Cleanscape products.

A license server with local installs could mean faster operation on crowded
networks.  Also, some of our customers do not allow application servers but
do allow license servers.

S1. License Server Setup - for ALL network (floating) configurations

    - Install CSPROD per the install notes and documentation.  Be sure that
      environment variables for your product are set accordingly.  For 
      further information, see the user manual named in the table below.
      
      FLINTHOST or CSIHOST (hereinafter referred to collectively as xxxHOST) 
      environment variables contain the hostname of the license server.
      
      FLINTHOME, IPTLINT, or CSIHOME (herinafter referred to collectively as
      xxxHOME) contain the fully qualified path to the main subdirectory, 
      which contains the executable (flint.exe, cpplint.bat, or lplus.exe).
      BE SURE TO APPEND ONE OF THESE TO YOUR PATH!
      
      . Flint   - FLINTHOST and FLINTHOME         flintman.pdf
      . C++lint - CSIHOST   and IPTLINT           cpplint_guide.pdf
      . Lplus   - CSIHOST   and CSIHOME           lplusman.pdf

    - Install the key provided by Cleanscape.  If you need a permanent key,
      obtain the server code as described in the install notes or documentation
      and email support@cleanscape.net.

    UNIX/LINUX SERVER: Be sure to add the 'startup' script to an init scripts
      directory. Other than that, no further setup required; the license server
      daemon runs on all *nix systems.  Advance to Step S2 or Step C1.

    WINDOWS SERVER: Proceed with the following steps.

    - Install the license service by extracting the contents of zipfile
      elansrv.zip located in the bin subdirectory into Windows' directory:
      . 64-bit Windows: c:\windows\syswow64
      . 32-bit Windows: c:\windows\system32 or if Win2k, c:\winnt\system32

    - Open the Control Panel and select the IPTLM entry.  On Vista/Win7 systems
      this is placed in the "Additional Options" category, or select View By
      Small Icons to see all your Control Panel entries.
      
      . If the item does not appear in your Control Panel, or if you get a
        privilege (ACL) error when trying to start it, open Explorer, navigate  
        to c:\windows\syswow64, right click on file iptlm.cpl, and select
        Run as Administrator.

    - Configure as necessary using the Setup... button.  In particular, set the
      key directory to the directory you specified in xxxHOME.  **NOTE: In
      Vista+ you MUST have logged in as Administrator!

    - Be sure the Automatic radio button is selected.

    - Click Launch.

S2. Setting up a CSPROD Application Server

    Enable sharing and set privileges to read/write for the CSPROD installation
    directory and all its subdirectories.

    If your application server is not the license server, it wouldn't hurt to
    set xxxHOST on the app server to the hostname of the license server.

    UNIX/LINUX: Of course you will need Windows binaries and NFS/Samba mount
    points as you would setting up any Windows application from a *nix server.

C1. xxxHOST environment variable, ALL clients

    Set the xxxHOST environment variable to the hostname of the server from
    Step S1.  This can be a command line entry in each user's autoexec.bat file
    or set via My Computer - Properties - Advanced - Environment Variables.
    EXAMPLE: set FLINTHOST=myflinthost

C2. Client-side settings, network drive (server = application server)

    - Map a network drive to the installation directory on the server in
      Step S1.  EXAMPLE: net use f: \\myflinthost\flint

    - Set the xxxHOME environment variable to the main subdirectory of the
      just-created network drive.  EXAMPLE: set FLINTHOME=f:\main

    - Append xxxHOME to the user's PATH:  EXAMPLE: set PATH=%PATH%;%FLINTHOME%

    NOTE: The above steps are the command line entries to put in each user's
      autoexec.bat file; they can also be set via My Computer - Map Network
      Drive and My Computer - Properties - Advanced - Environment Variables.

C3. Client-side setup, local install (server = license server)

    - Install CSPROD per the install notes and documentation.  Be sure that
      . environment variable xxxHOST is set to the hostname of the server as
        per Step C1,
      . xxxHOME is set to the <install_dir>\main subdirectory on the client,
      . xxxHOME is appended to PATH.

    - COPY file 07.lic (WINDOWS SERVER) or 07 (UNIX/LINUX SERVER) from the
      server's xxxHOME directory to xxxHOME on the client.

C4. Windows Service installation, Win2k/XP/Vista/7 clients

    For WinNT clients ONLY, no further setup is required.  
    
    For all other Windows clients, new access control features starting with
    Win2k require the additional steps described below.  Since these files 
    don't change very often (once in the past 15 years), the administrative 
    burden in application server networks is not very onerous.

    - Install the license service onto EACH client by extracting the contents
      of zipfile elansrv.zip (located in your bin subdirectory) into 
      c:\windows\system32 or if Win2k, c:\winnt\system32

    - Open the Control Panel and select the IPTLM entry.
      . If the item does not appear in your Control Panel, or if you get a
        privilege (ACL) error when trying to start it, open Explorer, navigate  
        to c:\windows\syswow64, right click on file iptlm.cpl, and select
        Run as Administrator.

    - Be sure the Automatic radio button is selected. No other setup necessary.

    - Click Launch.

    The Service from each client communicates over port 5421 to the Master
    service (or daemon) on the license server.  Should the server go down, one
    of the slave services will become active and continue to grant licenses
    until it goes down.  Once restarted, a slave service cannot grant licenses
    without first reconnecting to the Master.
