ICA Client Auto Update supports the following features:
Automatically detects older client files
Transparently copies new files over any ICA connection
Full administrative control of client update options for each client
Clients can be updated from a single database on a network share
Older client versions can be safely restored in case of error
NOTES:
• Client Auto Update can update clients to newer versions of the same product and model. For example, it can be used to update the Citrix ICA Win32 Client. It cannot be used to update a Citrix ICA Win16 Client to the Citrix ICA Win32 Client. If no clients need updating, logon time can be shortened by disabling the Client Update Database.
• Older clients made before the feature existed (such as the WinFrame PC Clients) do not support Client Auto Update. Once the client systems are manually upgraded to a client that supports Client Auto Update, you can perform auto updates on those systems.
• The ICA Client Update Database cannot be used to update previous versions of the ICA Win32 Program Neighborhood Client installed with Windows Installer (.msi) packages. Redeploy an updated ICA Win32 Client installer package when a new version of the ICA Client is released. See the ICA Client Administrator’s Guide for additional information.
• Page 86 of CTX112223 – Citrix Presentation Server 4.5 Administrator's Guide Note Starting with Citrix Presentation Server 4.5, the Auto Client Update feature and ICA Client Creator utility are no longer supported.
• ICA Client Version 10, released with Citrix Presentation Server 4.5, and later are only available via an MSI package.
Troubleshooting Steps:
1. Verify updates are allowed by the client. There is a GUI check box in the client (under Client Settings in Client Connection Configuration). Also verify that updates are not disabled through an INI file by searching for the following entry: UpdatesAllowed=NO.
2. The Vdcmn.dll driver must be loaded. (Verify that this module is present under CSAdmin when the client connects.)
3. Verify that the user has Write permissions to all ICA Client files (in C:\Program Files\Citrix\ICA Client on a Windows 95/NT box). Check all the files in the ICAClient directory on the client computer if the file system is NTFS. Also verify the permissions (should not be set to read only) for the client files in the database (x:\wtsvr\ica\clientdb) on the server.
Auto Client Update Fails for Users on Windows 2000 NTFS Partitions
This is a result of security specifications in Windows 2000.
Below is an excerpt from the white paper on the Microsoft Web site at http://www.microsoft.com/windows2000/techinfo/planning/security/secdefs.asp
Default Access Control Settings: Provided that Windows 2000 is clean-installed onto an NTFS partition, the default security settings are designed to prohibit users from compromising the integrity of the operating system and installed applications. Users cannot modify machine-wide registry settings, operating system files, or program files. Users cannot install applications that can be run by other users.
Solution: To allow auto update of the ICA Client for users who do not have administrator privileges, you must add full control for the users permissions on the client installation folder (example, C:\Program files\citrix\ICA Client).
4. The ICA Client Update Configuration Utility database is configured with the desired client version number.
5. Ensure the database location is correct and the database is not corrupt. Create a new client update database if necessary.
6. Monitor a session logon. Two process named cmstart.exe and cltmgr.exe should execute. If these process are not executing during logon:
Run regedt32
Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\AppSetup
Add cmstart.exe to the AppSetup value within the Winlogon Key.
For more information about Cmstart.exe, please refer to Citrix Knowledgebase article CTX983798 - What Does the CMSTART Command Do?.
7. Verify the contents of the client file called "version.dat" and indicate the correct version (that is, the older version 4.20.727). The only thing in this file should be the version number "4.20.xxx".
8. Verify that Module.ini or Appsrv.ini do not contain a line named "VariantName=[something]". This line is used to identify that the client is not a regular Win32 Client (OEMs).
9. Make sure there is no Update.lck file under the "Update" subdirectory.
10. Verify that this is not a client of a different language or a SecureICA client. SecureICA clients have a pdc[128|56|40]n.dll present in the clients install directory. SecureICA clients need to be updated to a SecureICA client in the database
11. CTX101863 – ICA Client Auto Update Options may not behave as expected
Administrators are Prompted When Using the Client Update Feature
When using the Client Update utility and the transparent mode for client download mode is selected under the update options, Administrators will still be prompted if they wish to update the client. This is by design so that if Administrators need to connect to a server quickly, they will not be forced to wait for the update. This is by design.
How to Update Older Non-Secure Win32 and Win16 ICA Clients to the Latest 6.0.910 Secure Clients
With Service Pack 1/Feature Release 1 for MetaFrame 1.8, all Win32 (and Win16) ICA clients will now be 40, 56 and 128 bit encryption capable. In order for all non-secure versions of the Win32 clients to be updated to this newer client, a migration section must be added to the autoupdate configuration file (dbconfig.ini). (The entry exists on servers that have Feature Release 1 installed.)
00010043=00010003
00010083=00010003
000100C3=00010003
00010042=00010002
00010082=00010002
000100C2=00010002
The entries tell the auto update utility to update "regular" Win32/Win16 ICA Clients to the latest 40-, 56-, or 128-bit Win32/Win16 ICA Clients Update Database.
How to Auto-update ICA Clients on a different product or model
NOTE:
The below steps have not been tested by Citrix and are to be implemented at the users discretion. The below database folder locations would differ, depending on the desired solution.
For Example: Updating the 40-bit Win32 SecureICA Clients to a 128-bit Win32 SecureICA Client.
1. Locate the contents of the %SystemRoot%\ICA\ClientDB\0010043\0415030B\ folder.
2. Copy the contents of %SystemRoot%\ICA\ClientDB\00100C3\0415030B\ folder into the %SystemRoot%\ICA\ClientDB\0010043\0415030B\ folder.
3. Edit the %SystemRoot%\ICA\ClientDB\0010043\0415030B\Update.ini file. Beneath the [ICAClient] section, make the following changes to the Model, ClientDescription, and VersionUpdateMode lines:
Model=67
ClientDescription=Citrix ICA Win32 Client (SecureICA 40-128bit)
VersionUpdateMode=1
Note: The model number must be the same as the client you are trying to update (that is, the client that you replaced in the folder initially). If you have any questions about what the model number is, either check the ICA Client Update Configuration menu (click View, Details, and check the model number; this may need to be converted from hexadecimal to decimal) or check the Update.ini file of the client you are replacing before deleting the files (from Step 1).
4. Existing 40-bit SecureICA Clients are prompted to update their client during the next logon.
5. When all clients are updated, set VersionUpdateMode=2.
Clients Downloaded from the Citrix Download Page Cannot be Added to the Client Update Database
With the introduction of the version 910 client, the downloaded executable was designed to automatically install the ICA Client when it is double clicked.
To add the individual client to the Client Update database:
Method 1:
1. Download the ICA Client Update Image at ftp://ftp.citrix.com/meta_18a/sp3/ICACLNT.exe.
2. Follow the installation wizard select update ICA Client Editor when prompted (it is checked on by default)
Method 2:
1. Download the latest clients at http://download.citrix.com/#client_ica.
2. Open the self extracting .exe file using Winzip 7.0 or higher.
3. Extract the clients into a temp directory. The directory will contain directories labeled Disk1, Disk2, and Disk3.
4. Replace the existing Disk directories in the corresponding %systemroot%\System32\Clients\Ica folder.
Example:
When updating the 4.0.715 build client with the 6.0.910 build 32-bit windows client, delete the existing WTSRV\system32\clients\ica32\disk directories and extract the new ica32.exe (using Winzip 7.0 or higher) directly into the WTSRV\system32\clients\ica32\ directory.
The extracted files are in the correct format and structure so they can be added to the Client Update database. When the files are extracted, follow the normal update process to add the client to the Client Update database.
How to Create a New Client Update Database
1. On the Database menu, click New.
2. Enter a path for the new client update database. If the client update database is to be shared among multiple Citrix servers, create the database on a shared network drive.
3. Click OK.
NOTE: The default location of the client update database is systemroot\Ica\Clientdb. A new database can be created on the local server hard drive or on a shared network drive. Multiple Citrix servers can be configured to use one shared client update database.
To add a new Citrix ICA Client:
1. On the Client menu, click New. The Description dialog box appears. Enter the path to the client installation file in Client Installation File or click Browse. The client installation file, Update.ini, is located on disk 1 of the Citrix ICA Clients.
2. After specifying the client installation file, the Client Name, Product, Version, Model, Variant, and Icon of the selected client are displayed. You can also modify the Comment used for this client. After making any changes, click Next to continue.
3. The Update Options dialog box is displayed. Specify the update options and click Next to continue.
4. The Event Logging dialog box appears. Specify the event logging options.
5. The Enable Client dialog box appears. The client update database can contain multiple clients with the same product, model, variant, and version information. However, only one client of each product, model, variant, and version can be enabled. The enabled client is the one used for the auto client update. Check the Enable box to update Citrix ICA Clients to this client. All other clients of the same product, model, variant, and version are disabled.
6. Click Finish. The Citrix ICA Client files are copied into the client update database.
How to Limit Simultaneous Client Updates via ICA Client Update Configuration
1. Open the ICA Client Update Configuration utility found in MetaFrame Tools
2. On the Database menu, select Properties.
3. In the Maximum number of simultaneous updates on this server box, type or select the number of clients that can be updated at the same time.
If the number of clients being updated reaches the specified maximum, new client connections are not updated. When the number of client updates drops below the specified maximum, client updates resume.
Note: The simultaneous update setting affects only the server running the ICA Client Update Configuration utility, not all servers that use the database.
ICA Client Update Configuration Tool not Saving Changes
Upon accessing the ICA Client Update Configuration Tool, selecting a particular Client Properties, and altering an Update Option, the change would not save. Update.ini is modified when changes are made by the ICA Client Update Utility. Citrix does not recommend manual changes to this file.
The update.ini and .ico files under WTSRV\ICA\ClientDB\"ClientFolder"\"ClientBuildFolder" are set to "Read Only" attributes.
An example of the update.ini:
[ICAClient]
ProductID=0x1
Model=2
Version=4.20.715
Enabled=no
ClientDescription=Citrix ICA Win16 Client
UpdateDescription=Citrix ICA Client Version 4.20
IconPath=clientw.ico
A normal file without "Read Only" attributes was:
[ICAClient]
ProductID=0x1
Model=2
Version=4.20.715
Enabled=no
ClientDescription=Citrix ICA Win16 Client
UpdateDescription=Citrix ICA Client Version 4.20
IconPath=clientw.ico
VariantName=
LogErrors=yes
LogDownloads=
DisplayErrors=
AllowBackground=yes
ForceDisconnect=
AllowProgressBar=
GuiMode=
AdminGuiMode=
VersionUpdateMode=
MessageFile=
Resolution:
Change update.ini to be writable.
Unix Client Auto Update Inquiry
Page 70, of the Unix ICA client Administrator Guide states:
Unable to perform update: not running as superuser.
The explanation is: "You must be running as superuser to perform a client update."
The workstation must be running as superuser (root) in order for client update to work. This is a requirement. The client is originally installed root. Ordinary users are not given write permissions to any part of root. Changing permission to any part of root for ordinary users does not help because the auto-client update unconditionally checks that you are root on the client machine. This is by design.
Event Type: Error - Event Source: CLTMGR -Event Category: None -Event ID: 1016
Description: The server was not able to start the downloading of new ICA Client files. (Error: 8 or 13)
The client side error: "Client Manager:71: Unable to perform update: not running as superuser"