Limited capabilities of the silent/unattended installer for IDL 6.3 / ENVI 4.3 for Windows
The version of InstallShield (v11) utilized by the IDL 6.3 and ENVI 4.3 for Windows installer CD will not work with recorded IDL or ENVI silent/unattended installation scripts if components other than all of the basic IDL or ENVI components are selected for the recorded *.iss installation script file. This article presents possible workarounds for the behavior.
Note that this limited customization behavior of the IDL installer has been corrected with IDL 6.4. A fully customizable silent and unattended installation script can be recorded and used with IDL 6.4 (and ENVI 4.4, when it is released ) as described in the IDL 6.4 (and ENVI 4.4) Installation and Licensing Guide under the section "Installing IDL or ENVI Silently and Unattended." |
Discussion:
There are two approaches for this InstallShield problem for IDL 6.3 and ENVI 4.3:
- Use the provided "unattend.iss" silent and unattended installation script for IDL 6.3 or ENVI 4.3
- Using the unattend.iss file without modification
- Using a customized copy of the unattend.iss file
- Record and use a "custom" silent and unatttended install script *.iss file
- Recording and using a silent/unattended installation script
- Recording and using a silent/unattended uninstallation script
- Creating a debug log during a silent/unattended installation
APPROACHES
- Use the provided "unattend.iss" silent and unattended installation script for IDL 6.3 or ENVI 4.3.
Both the IDL 6.3 and ENVI 4.3 for Windows CD-ROMs contain a pre-built silent and unattended installation script file called "unattend.iss". The 32-bit version of the file is located on the CD at:
The 64-bit version of the unattend.iss file is located on the CD at:
\setup\x86_64\unattend.iss
- Using the unattend.iss file without modification (/s switch)
The prebuilt unattend.iss script that is provided on installation CD-ROM can be used without modification. This script installs all of the available product components from the CD, except for the IDL Script Node for LabVIEW component, and installs IDL or ENVI to the default directory location, C:\RSI\idl63.
To run the unmodified unattend.iss file, include the /s switch when running the setup command:
:\setup\\setupxx.exe /s /f1"drive-letter:\path\filename.iss"
For example, to invoke a 32-bit IDL 6.3 installation using the script "E:\setup\x86\unattend.iss", where E: is the drive letter that has mounted the IDL 6.3 CD:
e:\setup\x86\setup32.exe /s /f1"e:\setup\x86\unattend.iss"
- Using a customized copy of the unattend.iss file
The unattend.iss script file may also be copied to a convenient location and modified to specify a custom installation directory.
- Customizing the unattend.iss script
Some parameter definitions in the pre-built unattend.iss file can be modified without disabling the script, such as the installation directory (as well as the company name and user name properties).
After copying the unattend.iss file, for example to "c:\unattend.iss", edit the file with a plain text editor like Notepad, and change the "szDir" assignment to the desired custom installation location. For example, to specify installation of IDL 6.3 to C:\Program Files\RSI\idl63, find the following section in the unattend.iss file:
...
IDLVMSelection=0
[{0250F6B4-796C-4845-9BD8-1008935FB70A}-SdAskDestPath-0]
szDir=c:\RSI\
Result=1
[{0250F6B4-796C-4845-9BD8-1008935FB70A}-SdComponentTree-0]
szDir=c:\RSI\
Component-type=string
...
--then alter the szDIR assignments to specify the new installation directory:
...
IDLVMSelection=0
[{0250F6B4-796C-4845-9BD8-1008935FB70A}-SdAskDestPath-0]
szDir=c:\Program Files\
Result=1
[{0250F6B4-796C-4845-9BD8-1008935FB70A}-SdComponentTree-0]
szDir=c:\Program Files\
Component-type=string
...
For ENVI 4.3, you would alter the "szDir" assignment in similar locations in the unattend.iss file. Using this approach, you should also be able to modify user name (szName) and the company name (szCompany) script parameters.
- Running the script (/s switch)
To run the modified unattend.iss file, use the /s switch to the setup command:
:\setup\\setupxx.exe /s /f1"drive-letter:\path\filename.iss"
For example, to invoke a 32-bit installation using the script c:\myunattend.iss:
e:\setup\x86\setup32.exe /s /f1"c:\myunattend.iss"
- Record and use a "custom" silent and unatttended install script *.iss file
If you need an IDL 6.3 or ENVI 4.3 silent and unattended installation script file that does not install the Network License Server component, you would need to record your own version of the script, selecting all of the presented installer components, except for the IDL Script Node for LabView and the Network License Server components. All other components must be selected in order to generate a functional installer script.
Below is the syntax to record and use the silent install or uninstall script. Also included are instructions for recording a log file to trouble-shoot a silent/unattended installation.
- Recording and using a silent/unattended installation script
- Recording a script (switches: /r, /f1)
The syntax to record a silent and unattended installation *.iss file using setup32.exe (or setup64.exe)is as follows:
:\setup\\setupxx.exe /r /f1"drive-letter:\path\filename.iss"
For example, to record a 32-bit setup script at c:\mysetup.iss:
e:\setup\x86\setup32.exe /r /f1"c:\mysetup.iss"
- Running the script (switches: /s, /f1)
To use the recorded installation *.iss script, invoke the /s switch instead of the /r switch in the setup command:
:\setup\\setupxx.exe /s /f1"drive-letter:\path\filename.iss"
For example, to invoke a 32-bit installation using the script c:\mysetup.iss:
e:\setup\x86\setup32.exe /s /f1"c:\mysetup.iss"
- Recording and using a silent/unattended uninstallation script
- Recording a script (switches: /r, /x, /f1)
The syntax to record a silent and unattended uninstallation *.iss file using setup32.exe (or setup64.exe)is as follows:
:\setup\\setupxx.exe /r /x /f1"drive-letter:\path\filename.iss"
For example, to record a 32-bit uninstallation script at c:\myuninstall.iss:
e:\setup\x86\setup32.exe /r /x /f1"c:\myuninstall.iss"
- Running the script (switches: /s, /x, /f1)
To use the recorded uninstallation *.iss script, invoke the /s switch instead of the /r switch, in addition to the /x switch, in the setup command:
:\setup\\setupxx.exe /s /x /f1"drive-letter:\path\filename.iss"
For example, to invoke a 32-bit uninstallation using the script c:\myuninstall.iss:
e:\setup\x86\setup32.exe /s /x /f1"c:\myuninstall.iss"
- Creating a debug log during a silent/unattended installation (switches: /s, /f1, /f2)
To create a debug log from a silent and unattended installation you can additionally use the /f2 switch with the name of a debug log file as the argument. The syntax in this case is:
:\setup\\setupxx.exe /s /f1"drive-letter:\path\filename.iss" /f2"drive-letter:\path\debuglogname.txt"
For example:
e:\setup\x86\setup32.exe /s /f1"c:\myinstall.iss" /f2"c:\mydebug.txt"