Customizing NSL Installs
Novell Cool Solutions: AppNote
By Kevin Prior
Digg This -
Posted: 10 Jan 2007
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.
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:
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.
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 4 - I selected the Custom option
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.
[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=126.96.36.199844 EngineBinding=1 [Languages] Default=0x0009 count=6 key0=0x0009 key1=0x040c key2=0x0007 key3=0x0011 key4=0x0416 key5=0x000a
; ; ; 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>
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