| Installing MetaFrame HotFixes does not need to be a time consuming event but can be made very simple with XPe and or a little forethought and or scripting. The best way to deploy HotFixes would be to utilize Installation Manager, part of XPe, to manage Hotfix deployment. With IM you would be able to inventory servers, deploy and or remove HotFixes on the fly and or schedule them to be deployed at a later time. This is all down centrally and hence a heck of a not easier and results in more functionality in a shorter time period. If you do not have access to Installation Manager then you will need to get down and dirty and create a very simple script. The first thing to realize is that it is not necessary to reboot after each Hotfix installation. A reboot is only required for the fixes in the HotFixes to take effect. Not rebooting after installing one Hotfix will not prevent other HotFixes from installing correctly. When installing multiple MSI based HotFixes it is possible to suppress rebooting after installing each Hotfix by using the following command line when executing the MSI file: Msiexec /I <name of Hotfix> /q reboot=reallysuppress Example: Msiexec /I xe102w021 /q reboot=reallysuppress Note: The /q in the above syntax is used to install the Hotfix silently. Using the /q option without additional options automatically restarts the server. With this knowledge we are not able to create a simple Windows Shell script to launch the installation of the required HotFixes, as shown below.  The following sections detail the known MetaFrame XP hotfixes as of release date of this document. For additional hotfixes / patches please refer to http://support.citrix.com/kb. Note: The last Hotfix is the does not employ the suppress reboot command in order to require a reboot in order for the Hotfix fixes to take effect. For additional information about msiexec, see the Microsoft Web site at http://www.microsoft.com. Search on keyword msiexec. Note: Citrix recommends to only apply hotfixes if you are experiencing an issue documented in the hotfix readme. The other common time a customer will be asked to apply a hotfix is if they are experiencing an issue that is not documented to update a certain file. (Example customer has issue enumerating apps, so you have them apply a hotfix that has the latest version of IMAMFAppSS.dll). As of release of this document, the following post MetaFrame XP FR3/SP3 hot fixes are available. Note: Citrix recommends to only apply hotfixes if one is experiencing an issue documented in the hotfix readme. The other common time a customer will be asked to apply a hotfix is if they are experiencing an issue that is not documented to update a certain file. (Example customer has issue enumerating apps, so you have them apply a hotfix that has the latest version of IMAMFAppSS.dll). Hotfix XE103W2K039 Replaces: XE103W2K004, XE103W2K011, XE103W2K022, XE103W2K030 http://support.citrix.com/kb/entry.jspa?entryID=3183&categoryID=120 This hotfix can be applied only to a Windows 2000 Server with MetaFrame XP Version 1.0 with Feature Release 3/Service Pack 3 installed. Issue(s) Resolved in this Hotfix | 1. | Note: This line item was fixed in non-English versions of Feature Release 3 with Service Pack 3. When a modal dialog box was created from an IME pad soon after it was created in a seamless session, the Windows operating system client sometimes stopped responding. In seamless logic, the set owner of the IME pad window was intentionally set to the foreground. When the accessibility hook was disabled, the seamless engine could create a situation where its enumeration routine picked the modal dialog box from the IME pad window as the parent of the IME pad window. This created a situation where the seamless engine caused both windows to see each other as the parent. Now the foreground window, which is set as the parent, is not mistaken as the child of the enumerated window. If it is the child, the engine will not associate the window with the parent. The Windows operating system client does not stop responding. [From Hotfix XE102W2K004][#50843] | | 2. | Note: This line item was fixed in non-English versions of Feature Release 3 with Service Pack 3. Using the Management Console for MetaFrame to configure "use universal driver only" or "use universal driver only if native driver is unavailable" to auto-create client printers, the scaling field sometimes did not display properly when running Excel in an ICA session. This occurred under the following scenario: A. Create a new Excel document. B. Type a from A1 to A37 in the Excel work sheet. C. Open Print Preview in Excel. D. Click Setup. E. Change the orientation from Portrait to Landscape. F. Change the scaling from Adjust to to Fit to. G. Close the Print Setup window. H. Click Setup again. Note that the percentage in the Adjust to field sometimes appears to be changed. If Excel.exe was launched from the console and the scenario above was repeated, the percentage of scaling in the Adjust to field did not change when the server default printer was the HP LaserJet Series II printer. The DEVMODE set for auto-created client printers may not have been valid. This could cause the scaling fields to be interpreted incorrectly by the print driver. This fix ensures the DEVMODES for auto-created client printers are valid before setting them. The scaling fields in Excel launched in an ICA session display correctly. [From Hotfix XE102W2K004][#51176] | | 3. | Note: This line item was fixed in non-English versions of Feature Release 3 with Service Pack 3. The Connect Client Printers policy did not work consistently. The code was looking at an incorrect return value and ignored the correct value. The Connect Client Printers policy was changed so that it looks at the correct value and the policy now works consistently. [From Hotfix XE102W2K004][#52158] | | 4. | Note: This line item was fixed in non-English versions of Feature Release 3 with Service Pack 3. 16-bit Windows applications launched as published applications intermittently failed to launch. With some 16-bit applications, timing became an issue when determining if a process was actually running because these applications run as tasks under Ntvdm.exe. The timing in the functionality that checks for these tasks under Ntvdm.exe was modified to verify when is a process is running. 16-bit Windows applications now launch properly as published applications. [From Hotfix XE102W2K004][#54663] | | 5. | Note: This line item was fixed in non-English versions of Feature Release 3 with Service Pack 3. Closing nested popup menus in a seamless session sometimes caused an application to lose focus when the seamless session was displayed on a Windows NT 4.0-based system. Menus that are created as a regular window using the CreateWindow API did not always adhere to top level window changes correctly. A new seamless Exception Global Flag has been introduced that provides the ability to prevent the creation of top level windows in a seamless session. To set this flag, create the following registry value: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWI Key name: SeamlessFlags Type: REG_DWORD Value: 0x1000 Closing nested popup menus in a seamless session no longer causes an application to lose focus. [From Hotfix XE103W2K004][#56912] | | 6. | Note: This line item was fixed in non-English versions of Feature Release 3 with Service Pack 3. When ATOK IME Version 16 is installed on a MetaFrame XP Server and a user attempts to use it in an ICA session, the session may not logoff even after all the published application are closed. ATOK Version 16 introduced new processes to host IME windows. Those processes were left in the session and MetaFrame regarded them as user processes. With this fix, those processes are regarded as system processes. MetaFrame logs off the session if only those system processes are present. The ICA session is logged off if all the published applications in the session are closed. [From Hotfix XE103W2K004][#61232] | | 7. | Additional output trays on client printers were not being saved and restored on subsequent logons. This affected certain Lexmark-developed printer drivers among others. This occurred because printer driver data registry keys greater than 2KB in length were not being read and could not be saved or restored. This fix ensures that printer driver data registry keys up to 16KB are saved and restored. Some device-specific properties that were reset with each logon; for example, output expander setups, are saved and restored on subsequent logons. [From Hotfix XE103W2K004][#62041] | | 8. | When using the shadow taskbar, the server occasionally experienced a fatal system error. This occurred because wsxica was calling a function in TermService but it was not checking whether or not the returned value was an error. This caused an access violation error. With this hotfix, the function now checks to determine if the returned value is an error or not. [From Hotfix XE103W2K004][#62319] | | 9. | Note: This line item was fixed in non-English versions of Feature Release 3 with Service Pack 3. After exiting a published application in an ICA session, the session did not close on a MetaFrame/Windows 2003 Server if the Windows Product Activation process (Wpabaln.exe) was running. The ICA session was not closed if any applications other than the system applications that were registered with MetaFrame were running. To resolve this problem, Wpabaln.exe was registered to the MetaFrame system process list. The ICA session now closes even if the Windows Product Activation process is running. [From Hotfix XE103W2K004][#62617] | | 10. | Some client printer properties were not being saved and restored on subsequent logons. This affected certain Lexmark-developed printer drivers among others. This occurred because printer driver data registry keys greater than 2KB in length were not being read and could not be saved or restored. This fix ensures that printer driver data registry keys up to 16KB are saved and restored. Some device-specific properties that were reset with each logon; for example, output expander setups, are saved and restored on subsequent logons. [From Hotfix XE103W2K004][#62625] | | 11. | Changing a password when logging on to a seamless session launched two instances of the same published application. This problem occurred as a result of the functionality in the seamless engine that determines whether or not applications are launched. With this update, only one instance of an application is launched if a password is changed during logon to a seamless session. [From Hotfix XE103W2K004][#63595] | | 12. | When published seamlessly, text-based telnet application flickered after upgrading to or installing Citrix' Feature Release 3. This occurred because new logic introduced with Feature Release 3 caused the client to treat certain windows of an application differently from the way the server was treating them. With this fix, the server sends the correct information to the client. [From Hotfix XE103W2K004][#65105] | | 13. | When running an application in a seamless session, a problem sometimes occurred when the application changed its large icon using WM_SETICON. The operating system failed to change the associated small icon. This hotfix introduces a new per-window exception flag (TYPE_TWI_NO_SMALLICON_FROMWINCLASS 0X200) that can be set to direct the seamless engine to not request the small icon associated with the specified window class. The addition of a registry key specifies the window class name Navigate to the following registry keys: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWI Name: ClassName Type: REG_SZ Data: TYPE_TWI_NO_SMALLICON_FROMWINCLASS 0X200 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWI Name: Type Type: REG_DWORD Data: 200 (hex) [From Hotfix XE103W2K011][#63960] | | 14. | Outlook.exe's parameters were used by the client when launching OutlookExpress as a published application if client-to-server content redirection was enabled. This occurred because the default setting was to use Outlook.exe's parameters for mailto requests. This hotfix adds functionality to better handle mailto requests from the client. Based on the mailer application to be launched, the appropriate mailto parameters are selected from the registry to format the launch string. [From Hotfix XE103W2K022][#53537] | | 15. | When a session was reset because of an ICA connection time-out or logged off from the Citrix Management Console, the client auto-created printer properties were saved in the incorrect registry key. As a result, MetaFrame could not get the current user security ID from the winstation query. With this hotfix, the client auto-created printer properties are saved in the correct registry key. [From Hotfix XE103W2K030][#65428] | | 16. | If a starting program was specified under the Environment tab in User Account Properties and if the ICA pass-through Client had pass through authentication enabled, Ssonsvr.exe was running in the users ICA session. When the user exited the application (specified under the Environment tab in User Account Properties), the ICA session could not be logged off; the administrator had to manually stop the Ssonsvr.exe process. The thread that caused the Ssonsvr.exe process to exit when the user logged off from the application was not being started. Now The thread that causes the Ssonsvr.exe process to exit is started when the user logs off from the application. [From Hotfix XE103W2K030][#66092] | | 17. | In an operation running 24x7, license warning error messages caused a flurry of help desk calls and emails. Management was also alerted. User wanted to disable regular notification or an option to control who saw the error messages. To avoid the error messages from being sent to everyone, you need to make the following change to the registry: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix Type: DWORD Value: AnnoyAdminsOnly=1 With the value set to 1, only administrators receive the license warning error messages. [From Hotfix XE103W2K030][#66608] | | 18. | A Java application experienced a fatal error when running as a published application or the initial application. The size of the buffer for the window class name was incorrect; the error occurred if the application window exceeded 64 characters. This behavior has been corrected. [From Hotfix XE103W2K030][#67014] | | 19. | Windows 2000 Server with Service Pack 3 or Service Pack 4: By selecting Logoff from the ICA Connection Center, a user was able to log off another user's seamless, locked session without being prompted for a password. The unauthenticated user also had access to the locked session while the logoff script was running. This behavior has been corrected. [From Hotfix XE103W2K030][#67296] | | 20. | Logon names prefaced with a pound sign or hash mark (#) followed by a decimal value equal to or greater than 49152 sometimes caused a memory leak. For example, the logon name #99999 would cause the memory leak. This hotfix corrects that behavior; user logon names prefaced with a pound sign or hash mark (#) followed by a decimal value equal to or greater than 49152 can be used without causing a memory leak. [From Hotfix XE103W2K039][#66490] | Hotfix XE103W2K036 Replaces: XE103W2K008 http://support.citrix.com/kb/entry.jspa?entryID=3063&categoryID=120 This hotfix can be applied only to a Windows 2000 Server with MetaFrame XP Version 1.0 with Feature Release 3/Service Pack 3 installed. Issue(s) Resolved in this Hotfix | 1. | Note: This line item was fixed in non-English versions of Feature Release 3 with Service Pack 3. When the alternate address was set with an IP address and a port number, the Citrix XML Service returned an I/O error. The IP address and the port number are stored as a single string in the registry. The code that separates these two failed. The fix inserts a terminating character in the string to separate the IP address and the port number. The alternate address with an IP address and a port number are returned to the ICA Client. [From Hotfix XE103W2K008][#51893] | | 2. | The IMA Service continually experienced a fatal error.This occurred because the program did not check the return status of one Win32 API and allocated a zero length buffer when the Win32 API returned an error message. Because the system did not allocate memory space for a zero length buffer and returned a random memory pointer instead, subsequent freeing of the buffer caused the fatal error. A modification has been introduced that will check the return status of the Win32 API call. The program does not allcoate the memory buffer if the Win32 API returns a failure message and the IMA Service works correctly. [From Hotfix XE103W2K008][#62757] | | 3. | When a user with a UPN name longer than 20 characters established an ICA session through Web Interface and an administrator attempted to view the session information for that user, the following error message appeared: Session information is not available for this session. User information will be refreshed. Error Code 520. This occurred because the UPN name was being incorrectly saved in the MetaFrame data collector. This fix ensures that the UPN name is correctly stored in the data collector. [From Hotfix XE103W2K008][#63001] | 4. | In the Citrix Management Console, even when use of a published application was limited to one, simultaneous logons could cause more than one instance of the published application to be launched. To resolve this behavior, navigate to the following registry key: HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\IMA Add the following DWORD value: AppInstanceLimitDoubleCheck = 1 [From Hotfix XE103W2K008][#60370] | | 5. | Users on a MetaFrame XP Server with Citrix Feature Release 3 installed could not shadow sessions on a MetaFrame XP Server with Feature Release 2 installed. A problem was found in the way the IMA Service in Feature Release 3 queried the Feature Release 2 server for its ICA port number, which is needed to make the shadowing connection. The IMA Service in Feature Release 3 now correctly reads the ICA port number from a server with Feature Release 2 installed. [From Hotfix XE103W2K036][#66021] | Hotfix XE103W2K035 Replaces: None http://support.citrix.com/kb/entry.jspa?entryID=3071&categoryID=120 This hotfix can be applied only to a Windows 2000 Server with MetaFrame XP Version 1.0 with Feature Release 3/Service Pack 3 installed. Issue(s) Resolved in this Hotfix When changing Broadcast Response settings in farm Properties, such as RAS servers respond to ICA Client broadcast messages, the changed settings frequently failed to be saved. If Access was used as the database, setting were saved properly on the data collection server but not on servers that were not data collectors. If the database was SQL or Oracle, the problem occurred on all servers. This problem occurred because two requests from the Management Console caused the ICA browser to experience a race condition due to lack of synchronization in data store access routines. This hotfix introduces a new critical section object to synchronize the access to farm settings in the data store. Changed Broadcast Response settings in the farm Properties are saved correctly. Hotfix XE103W2K034 Replaces: XE103W2K007, XE103W2K014 http://support.citrix.com/kb/entry!default.jspa?categoryID=120&entryID=3046&fromSearchPage=true This hotfix can be applied only to a Windows 2000 Server with MetaFrame XP Version 1.0 with Feature Release 3/Service Pack 3 installed. Issue(s) Resolved in this Hotfix | 1. | The server occasionally experienced a fatal system error with one of the following bugcheck codes: 0xD1 in Termdd.sys 0xD1 in Tcpip.sys 0x1E in ntos kernel. This occurred because a synchronization bug in Wdica.sys could free a buffer twice. This hotfix prevents Wdica.sys from freeing the buffer twice. [From Hotfix XE103W2K007][#60238] | | 2. | WARNING! This fix requires you to edit the registry. Using Registry Editor incorrectly can cause serious problems that may require you to reinstall your operating system. Citrix cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. By default, MetaFrame attempts to find the IME file name installed in the system with the language ID requested by the client and activates an alternative IME file name if one is found. With Terminal Services, the users input locale is loaded if the requested IME file name is not found. By request, an optional registry flag has been introduced to use the Terminal Service IME file name handling instead of using MetaFrame-specific processing. MetaFrame stops its own IME processing. To use the Terminal Service IME processing, set the value in the following registry key to 0x1: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix Value Name: ClientDataOption Type: REG_DWORD Value: 0x1 With this registry flag set, the session uses Terminal Services IME processing. [From Hotfix XE103W2K007][#60837] | | 3. | A seamless session changed to a fixed window when the color depth degraded. The server was configured to degrade color depth over resolution to preserve the seamless session. The session color depth was being degraded, but the seamless nature was lost. When an ICA Client connected to a seamless application, the application changed to a non-seamless window. The session degraded the color depth, but still lost the seamless appearance. This occurred because the client had no knowledge of the server setting that stated whether to degrade or color first, so the client always degraded the resolution. The server is now configured to degrade color depth over resolution to preserve the seamless session. The session color is degraded but the application remains seamless. [From Hotfix XE103W2K034][#59431] | | 4. | A terminal server client access license was being consumed when connecting to a Windows 2000 Server with a Java Client that was running on a Windows 2000 or Windows XP desktop. This occurred because the Java Client did not support client-based terminal server licensing. Support is added to allow the client to send the operating system platform information to the server. The Java Client no longer consumes a terminal server client access license. [From Hotfix XE103W2K034][#66009] | Hotfix XE103W2K029 Replaces: XE103W2K019 http://support.citrix.com/kb/entry.jspa?entryID=3171&categoryID=120 This hotfix can be applied only to a Windows 2000 Server with MetaFrame XP Version 1.0 with Feature Release 3/Service Pack 3 installed. Issue(s) Resolved in this Hotfix | 1. | Outlook 2000 experienced a fatal error when printing rich text documents (.rtf) using XPrint with SpeedScreen latency reduction enabled. This occurred as a result of a deadlock between XPrint and SpeedScreen latency reduction. This update resolves the problem by checking for a deadlock and pre-empting the thread so that Outlook 2000 does not experience the error when printing .rtf documents. [From Hotfix XE103W2K019][#65674] | | 2. | Launching Novells GroupWise Version 6.0 with local text echo enabled caused the application to experience a fatal error when writing a new email. This problem was caused by the function that handles sending font information to the ICA Client. This behavior is corrected; launching GroupWise Version 6.0 with local text echo enabled no longer experiences a fatal error when writing a new email. | Hotfix XE103W2K028 Replaces: None This hotfix can be applied only to a Windows 2000 Server with MetaFrame XP Version 1.0 with Feature Release 3/Service Pack 3 installed. Issue(s) Resolved in this Hotfix: When upgrading MetaFrame XP to Service Pack 2 or Service Pack 3, auto-created client printers with pending print jobs could not be deleted at session logoff even with the following registry values set: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\ClientPrinterProperties REG_DWORD: fPurgeAnyWay=1 REG_DWORD: fNotInheritKeepPrintedJobs=1 Service Packs 2 and 3 added a Feature Release 2 license check before deleting auto-created client printers with pending print jobs at session logoff. If the license was not present, auto-created client printers with pending print jobs were not being deleted. Now the Feature Release 2 license check is removed before deleting auto-created client printers. With the registry values set as above, auto-created client printers with pending print jobs are deleted at session logoff. [From Hotfix XE103W2K028][#65110] Hotfix XE103W2K025 Replaces: None Issue(s) Resolved in this Hotfix The IMA Service failed to start because of license group corruption in the data store. Note: This fix prevents corruption in the data store but it does not correct any corruption that may already exist. You need to check for corruptions present in the data store and correct them using the appropriate tools. [From Hotfix XE103W2K025][#66583] &nbs |