Novell Home

Customizing NSL Installs

Novell Cool Solutions: AppNote
By Kevin Prior

Digg This - Slashdot This

Posted: 10 Jan 2007
 

Introduction
    Setup.ini
    Automate.ini
Install Dialog Process
.INI Files (Default)
    Setup.ini
    Automate.ini
Things to Look Out For

Introduction

Editing the NSL installs has gotten much easier. Now instead of the -r and -s options to use and create ISS files, you can now simply edit two .ini files. Install Dialog Process explains the simple install using Custom and SecretStore. For an LDAP install the screens would be a bit different, but when you look at this you will find it pretty straightforward. On each Dialog there is a hyperlink to the appropriate .ini file section where this data is located, to modify if necessary. If you do the same on the section from the .ini file, it will take you back to the appropriate dialog.

Setup.ini

This file can be modified so you are not prompted for the Language selection (first Dialog of install), as documented in TID 10099996.

Under the section heading [Startup] change the following line:

EnableLangDlg=Y
to
EnableLangDlg=N

Automate.ini

This file allows you to modify options and control how NSL is installed, without having a user select the options. The .ini file details what you can enable. Basically, each dialog on the install has a section in the automate.ini file on what pieces to install.

Another nice feature often overlooked is the "FileOverrides" section. Here you can simply copy files to a distribution directory and then modify this in the automate.ini to copy files after the install completes. A great idea here is to place your TLaunch.ini in the distribution directory and enable this in the ini file. Then when the setup.exe is run, it will also provide the proper TLaunch.ini file. Again, there is detailed info in the .ini file to instruct you how to add multiple files to more than one location if needed.

Also, under the [OnMoving] section you may modify this to control the display of the progress indicator during file copy and registrations. Choose "Yes" to display (default) and "No" to not display.

Install Dialog Process

The following is a simple installation with "Custom" selected. Please note that there is also info for LDAP, but all other items are common in any installation.

Dialog 1


Dialog 2


Dialog 3


Dialog 4 - I selected the Custom option


Dialog 5


Dialog 6


Here is where the install process can provide different options. For simplicity, the following LDAP Dialogs are numbered (LDAP_1, etc.) and will pick up on Dialog 7, even though it is not really the 7th Dialog you see. If this were straight NSL to eDir with Client 32 it would be.

LDAP_Dialog_1 (Next, go to LDAP_Dialog_3)


LDAP_Dialog_2a



LDAP_Dialog_2b (Next go to LDAP_Dialog_3)


LDAP_Dialog_3


Dialog 7


Dialog 8


Dialog 9


Dialog 10


Dialog 11


Dialog 11a


Dialog 12


Dialog 13


Dialog 14


Dialog 15


INI Files (default)

Setup.ini

[Startup]
EnableLangDlg=Y
AppName=SecureLogin
ProductGUID=8FB811C7-BB16-4E58-B07B-86228AA6048D
CompanyName=Novell
ErrorReportURL=http://www.installshield.com/isetup/ProErrorCentral.asp?ErrorCode=%d : 0x%x&ErrorInfo=%s
MediaFormat=1
LogMode=1
Resource=_Setup.dll
SmallProgress=N
SplashTime=5
CheckMD5=Y
CmdLine=
ShowPasswordDialog=N
EngineVersion=11.0.0.28844
EngineBinding=1
[Languages]
Default=0x0009
count=6
key0=0x0009
key1=0x040c
key2=0x0007
key3=0x0011
key4=0x0416
key5=0x000a

Automate.ini

;
;
; The Novell SecureLogin Client Install Automation File
;
;
; Copyright (c) 2003 Novell, Inc. All Rights Reserved
;
;
; The SecureLogin Client Install uses this file (automate.ini) to automate 
; install tasks. For the install to recognize automate.ini, this file must 
; be in the same directory as the install executable file and must be named 
; automate.ini. If the install doesn't find automate.ini, the install uses
; the default behavior.
;
; Most of the sections in this file are used only during an initial install. The
; [FileOverrides] section is used by subsequent updates.



; This section includes information as to where external components can be found
; on the CD. If a drive letter is not specified, the paths are considered to be 
; relative to the root of the CD image. Absolute paths can also be specified.
;
; If you want to use a custom version of NMAS client (other than the one bundled
; with NSL), uncomment the InstallNmas key under CustomNmas section and specify 
; the NMAS client version.
[Paths]
NiciClientPath=Nici\NICI_2+\win\wcniciu0.exe
NiciSilentPath=Nici\NICI_2+\win\wcniciu0.iss
NmasRootPath=Nmas
NmasClientPath=Nmas\NmasClient\nmasclient_setup.exe



; These sections pertain to the dialogs that are displayed during the install.
; Each key in a dialog's section represents a setting that is exposed in that
; dialog.
;
; To instruct the install to not show a dialog, uncomment the ShowDialog line 
; in the desired dialog section. Uncomment the line that contains the setting
; that you want set as the default. When a dialog is not shown, the default
; setting is used because the person installing doesn't get the opportunity to
; change the setting. For example, uncommenting "ShowDialog=No" and
; "Selection=eDirectory" in the [SecureLoginOption] section results in the 
; SecureLogin Option dialog not being displayed during the install, and the
; SecureLogin client is installed with the eDirectory option.
;
; The install uses the default setting for a line that is commented out. Note 
; that the keys within a section must be unique. For example, both the
; "Selection=Typical" line and the "Selection=Custom" line in the [SetupType]
; section should not be uncommented at the same time.
;
; The section names, keys, and values are case insensitive. The values "Yes"
; and "No" are recognized. The values "True" and "False" are not. The values
; must be spelled correctly in order to be recognized by the install.
;
; Not showing the reboot dialog causes the install to never reboot the machine 
; after the install.
;
; Turning on a setting that is not displayed during the install will not abort
; the install. For example, the Java support in SecureLogin requires that a Java
; Runtime Environment 1.4 be installed. This component is not displayed during
; the install if Java is not installed. Uncommenting the "SecureLogin\JavaApp"
; line in the [Component] section will not cause the install to fail on
; workstations that do not have Java. The install will just ignore that setting.
;
; Turning on a setting that is displayed during the install that conflicts with
; the system results in an error message. For example, suppose that the
; "Selection=eDirectory" line in the [SecureLoginOption] section and the
; "Selection=Novell Client" line in the [Protocol] section are uncommented and
; the install is run on a machine without Novell Client 32 being installed. 
; Because this protocol setting requires Novell Client 32, the install will show
; an error message. If the "ShowDialog=No" line in the [Protocol] section is also
; uncommented, the install will then abort. Otherwise the user is shown the
; Protocol dialog, and the LDAP setting is automatically selected.

[SetupType]
;ShowDialog=No
;Selection=Complete
;Selection=Custom

[DestinationLocation]
;ShowDialog=No
;Location=C:\Program Files\Novell\SecureLogin

[Platform]
;ShowDialog=No
;Selection=eDirectory
;Selection=LDAP
;Selection=ADAM
;Selection=ActiveDirectory
;Selection=Standalone

[Protocol]
;ShowDialog=No
;Selection=Novell Client
;Selection=LDAP

[LDAPAuthentication]
;ShowDialog=No
;Selection=WhenLoggingInToWindows
;Selection=AfterLoggingInToWindows
;Selection=WhenSecureLoginStarts

[LDAPAccountAssociation]
;ShowDialog=No
;Selection=WinUser
;Selection=Client32User
;Selection=NoAssoc

[LDAPServer]
;ShowDialog=No
;LDAPServerAddress1=ldapauthserver
;LDAPServerPort1=636
;LDAPServerAddress2=ldapauthserver
;LDAPServerPort2=636
;LDAPServerAddress3=ldapauthserver
;LDAPServerPort3=636

[Feature]
;ShowDialog=No
;SecretStore=Yes
;NMAS=Yes

[CacheOption]
;ShowDialog=No
;Selection=Profile
;Selection=Path

[CacheLocation]
;ShowDialog=No
;Location=C:\Program Files\Novell\SecureLogin\cache

[Component]
;ShowDialog=No
;SecureLogin\WinApp=Yes
;SecureLogin\JavaApp=Yes
;SecureLogin\WebApp=Yes
;SecureLogin\WindowFinder=Yes
;SecureLogin\TerminalLauncher=Yes
;SecureLogin\MMC=Yes
;SecureLogin\SecureWorkstation=Yes
;SecureLogin\SecureWorkstation\QLLGUI=No
;SecureLogin\LotusNotes=Yes
;SecureLogin\TerminalServer=Yes
;SecureLogin\CitrixClient=Yes
;SecureLogin\TerminalServerClient=Yes
;SecretStore\LoginExtension=Yes
;SecretStore\Status=Yes
;NMASCitrix\ClientFiles=No
;NMASCitrix\ServerFiles=No
;SecureLogin\\GroupPolicy=No

[Summary]
;ShowDialog=No

[Readme]
;ShowDialog=No
;LaunchReadme=Yes

[Finish]
;ShowDialog=No
;Start=Yes
;StartOnWindowsStartup=Yes

[Reboot]
;ShowDialog=No

[SmartCard]
;ShowDialog=No
;Selection=Specify the Cryptographic Service Provider
;Location=Specify path for PKCS#11 library
;SecondaryStorage=Choose 'FILE' for cache only, 'SmartCard' for installing Smartcard option too

[OnMoving]
;ShowDialog=No

; This section informs the installer the custom version of NMAS client that need
; to be installed.
[CustomNmas]
;InstallVersion=3.2

[NmasMethods]
;ShowDialog=No
;AdvancedX509=No
;EntrustCertificate=No
;SimplePassword=No
;UniversalPassword=No
;EnhancedPassword=No
;X509Certificate=No
;PcProx=No

[Welcome]
;ShowDialog=No

[License]
;ShowDialog=No

; This section controls whether the modify operation is permitted. To disallow
; any modifications to SecureLogin after it is already installed, the
; AllowModify key must equal No during the initial install.
[Modify]
;AllowModify=No


; The following section is used to override the default files that are built
; into the SecureLogin install. A file override always overwrites the default 
; file. The typical use of this section is to distribute, during an initial 
; install or during subsequent updates, a custom tlaunch.ini file. The 
; file overrides must be located in the same directory as the automate.ini file.
;
; The file overrides are processed after all the default files are installed but
; before registration occurs. The file overrides are always processed, even if
; the corresponding component wasn't selected. For example, if a file override
; for tlaunch.ini is specified in automate.ini and the Terminal Launcher 
; component is not installed on the system, the tlaunch.ini file is still 
; copied to the system. All file overrides are included in the uninstall 
; operation regardless of whether or not the corresponding component was 
; installed. 
;
; The OverrideCount key specifies the number of file overrides listed in the
; FileOverrides section. Each file override has an entry in this section that
; is made of two keys: OverrideFile# and OverrideDestination#. The # should be
; replaced by a number, starting with 1, that corresponds to the index of the
; file override. The OverrideFile# specifies the name of the file, and the
; OverrideDestination# specifies the directory the file override will be copied
; to. The OverrideDestination# can contain the following macros that will be
; expanded by the install when the file overrides are processed:
;   <TargetDir> expands to the path to where SecureLogin is installed.
;   <WinSysDir> expands to the Windows system or system32 path.
;   <LotusNotesDir> expands to the path that nslasst.dll is copied to.
;
; The override information is saved in the InstallShield log file and is used
; for Repair and Modify operations. When an update is applied, the file 
; overrides included in the update will be added to any existing file overrides 
; in the log file. To remove a file override that was specified during a 
; previously applied update, specify <Delete> as the destination for that 
; override. For example, to remove a file override for tlaunch.ini, use the 
; following lines:
;   OverrideFile1=tlaunch.ini
;   OverrideDestination1=<Delete>
[FileOverrides]
;OverrideCount=1
;OverrideFile1=tlaunch.ini
;OverrideDestination1=<TargetDir>

Things to look out for

1. You can also do a hands-off install of NSL.

2. If you have 3 different installs, get three copies of the Client directory and modify each .ini accordingly.

3. Reboot and log in as an Administrator to complete the install; otherwise, the user gets an error.

4. Make sure you confirm the -reboot switch to read the RunOnce key in HKLM before reboot.

5. You must manually reboot the computer or write a BAT file or EXE to reboot. I have used AutoIT, a free download, to simply run setup.exe and reboot upon completion. With this I also have the option to block user input so they cannot cancel the install.

6. In you try to uninstall with a shortcut (setup.exe -uninstall), the user is prompted if they want to completely remove the app. There is no option around this today, and an enhancement request to provide a command line switch has been submitted.

7. Currently there is no way to add a Post Install Method (i.e., NDS Change Password) if you use the automate.ini file.


Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions. www.webwiseone.com

© 2014 Novell