[THIN] KB: CTX104516 - Hotfix XE103W2K3037 - For MetaFrame XP 1.0 for Windows 2003 Server - English

  • From: "Jim Kenzig http://thin.net" <jimkenz@xxxxxxxxxxxxxx>
  • To: thin@xxxxxxxxxxxxx
  • Date: Mon, 12 Jul 2004 07:08:59 -0400

CTX104516 - Hotfix XE103W2K3037 - For MetaFrame XP 1.0 for Windows 2003
Server - English

This document was published at:
http://support.citrix.com/kb/entry.jspa?externalID=CTX104516


Document ID: CTX104516, Created on: Jul 9, 2004, Updated: Jul 9, 2004

Products: Citrix MetaFrame XP 1.0 for Microsoft Windows 2003

 Attachment: XE103W2K3037.msi (563.0 K)

Hotfix readme name: XE103W2K3037.HTM
Hotfix package name: XE103W2K3037.MSI
For: MetaFrame XP 1.0 with Service Pack 3 for Windows 2003
Replaces: XE103W2K3006, XE103W2K3007, XE103W2K3011, XE103W2K3026,
XE103W2K3035
Date: June, 2004
Language supported: English (US)

Note: This hotfix can be applied only to a Windows 2003 Server with
MetaFrame XP Version 1.0 with Feature Release 3/Service Pack 3 installed.


Where to Find Documentation
This document describes the issue(s) solved by this hotfix and includes
installation instructions. You can find more information about MetaFrame for
Windows in the Administrator's Guide. The Administrator's Guide is in the
\DOCS directory on the Citrix MetaFrame Server CD. All product documentation
is also available from the Citrix Web site at http://www.citrix.com/support.
The Administrator's Guide is in an Adobe Portable Document (PDF) format
file. To view, search, and print the documentation, you need Adobe Reader 4
or above. You can download Adobe Reader for free from the Adobe Web site at
http://www.adobe.com.


Issue(s) Resolved in this Hotfix
Caution! Several items in this hotfix require 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.

1. When a modal dialog box was created from an IME pad in a seamless
session, the Windows client operating system occasionally stopped
responding.

In seamless logic, the owner of the IME pad window is intentionally set to
the foreground. When the accessibility hook is disabled, the seamless engine
can create a situation where the enumeration routine considers the modal
dialog box from the IME pad window as the parent of the IME pad window. As a
result, the seamless engine considers both of the windows as the parent.

This fix ensures that the foreground window, which is intended to be set as
the parent, is not the child of the enumerated window. The Windows client
operating system then responds correctly.

[From Hotfix XE103W2K3006][#50843]


2. 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 autocreated 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 autocreated client printers are valid
before setting them. The scaling fields in Excel launched in an ICA session
display correctly.

[From Hotfix XE103W2K3006][#51176]



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 XE103W2K3006][#52158]


4. 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 XE103W2K3006][#53537]


5. 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 XE103W2K3006][#54663]


6. 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 XE103W2K3006][#56912]


7. When ATOK IME Version 16 is installed on a MetaFrame 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 XE103W2K3006][#61232]


8. 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 XE103W2K3006][#62041]


9. When using the shadow taskbar, the server occasionally experienced a
fatal system error.

This occurred because a function is 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 XE103W2K3006][#62319]


10. 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 XE103W2K3006][#62617]


11. 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 XE103W2K3006][#62625]


12. In Windows Server 2003, client printers could not be autocreated without
installing a Citrix Feature Release 3 license.

Terminal services in Windows Server 2003 were changed so that the printer
virtual channel needed to be created in the system context. The MetaFrame
server would not issue a printer autocreation command through the printer
virtual channel.

This hotfix ensure that the printer virtual channel is created in the system
context and a Feature Release 3 license is no longer required.

[From Hotfix XE103W2K3006][#63343]



13. 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 XE103W2K3006][#63595]


14. 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\<wind
ow class name>
Name: ClassName
Type: REG_SZ
Data: <window class name>

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWI
Name: Type
Type: REG_DWORD
Data: 200 (hex)


[From Hotfix XE103W2K3006][#63960]


15. 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 XE103W2K3006][#65105]


16. When a session was reset because of an ICA connection time-out or logged
off from the Citrix Management Console, the client autocreated 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 autocreated printer properties are saved in the
correct registry key.

[From Hotfix XE103W2K3006][#65428]


17. 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 user?s 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 XE103W2K3006][#66092]


18. 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 XE103W2K3006][#66490]


19. 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 XE103W2K3006][#66608]


20. 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 XE103W2K3006][#67014]


21. Note: For this fix to work correctly, you need Version 7.100 or later of
the Win32 ICA Client.

Instant Messenger type programs commonly use the FlashWindow() API to flash
the taskbar button to alert users of incoming messages. Prior to this, this
functionality was not available when running a seamless session.

This fix adds support for this API when running a seamless session. The
taskbar button now flashes to alert users of incoming messages.

[From Hotfix XE103W2K3006][#69369]


22. When a user disconnected from a session, then later reconnected to it
from a different workstation that had a different printer, the new printer
was not autocreated and the session had the printer from the first
connection.

A race condition was discovered where the previous client name was sent
instead of the new one. This hotfix corrects that race condition.

[From Hotfix XE103W2K3007][#68279]



23. An ICA session sometimes failed to delete autocreated printers when a
user logged off from the session soon after logging on. The thread to delete
printers finished its task before the thread to create them finish its task,
causing some printers to be left in the session.

With this hotfix, the thread to delete printers waits for the thread to
create printers to finish its task All printers in the session are always
deleted correctly.

[From Hotfix XE103W2K3007][#69638]


24. Sometimes a published application was launched more than once in the
same session in the following scenario:

? The published application was configured with Allow only one instance of
the application for each user in the Citrix Management Console
? The user rapidly clicked the published application icon in the Program
Neighborhood Client
? The published application was to run seamlessly

This occurred because the program was not enforcing an application instance
limit check while launching a published application. This hotfix corrects
the problem and only one instance of the published application is launched.

[From Hotfix XE103W2K3007][#71801]



25. If users had both local printers and network printers on their client
devices and the default printer was a network printer, ICA sessions
incorrectly set the default printer to one of the local printers. An error
in which name to send caused the local printer to be set as the default.

This hotfix resolves the problem.

[From Hotfix XE103W2K3007][#72459]



26. The server occasionally experienced an access violation in Wsxica.dll.
This occurred because the code was not enumerating winstations properly.

This hotfix ensures that the access violation no longer occurs.

[From Hotfix XE103W2K3007][#72688]



27. If a published application was a program that created a new process and
then terminated itself, the published application appeared in the Citrix
Management Console. However, in a seamless session the application was
launched through session sharing, the application appeared in the Citrix
Management Console but then disappeared.

By default, the thread that checks the process cares about only the first
instance of the launched process. The thread regarded the published
application as terminated when the first instance of the process was
terminated even if that process created a separate process.

This fix provides a way to configure those published applications to use the
JOB object so that additional processes created by the initial process are
considered as published applications.

For this fix to work properly, you need to perform the following steps:

? If the command line of the published application is [ApplicationPath], go
to the following registry key and make changes as necessary:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWI\Start
InJobObject
Key Value: [ApplicationPath]
Type: DWORD
Value: 0


? For example, if the command like specified for the published application
is c:\notepad.cmd, go to the following registry key and make changes as
necessary:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWI\Start
InJobObject
Key Value: c:\notepad.cmd
Type: DWORD
Value: 0



For those applications whose command line is specified in the
StartInJobObject key, the published application will not disappear from the
Citrix Management Console until all of the processes created by the process
are terminated.

[From Hotfix XE103W2K3011][#63894]


28. An administrator on a Feature Release 3 server could not enumerate users
on a Feature Release 2 server from the shadow taskbar. An empty list was
returned.

With this fix, the administrator is able to enumerate the users on a Feature
Release 2 server when he is using the shadow taskbar on a Feature Release 3
server.

[From Hotfix XE103W2K3011][#71364]



29. If Connect Client Printers at Logon was not checked, users either were
completely unable to map client printers or could not see any of the UPD
printers available when connecting to a printer. A misplaced initialization
of the Metafile drivers caused the drivers to be unavailable.

This hotfix enables the Metafile drivers; client users can now map to any
client printer.

[From Hotfix XE103W2K3011][#73621, #73769]



30. When an application running in seamless mode became unresponsive, users
sometimes could not switch to other applications that were running in
seamless mode also. Clicking the taskbar icon or using the Alt-Tab sequence
did not work. The server seamless engine was using an API that did not
return if the target application was unresponsive.

This fix provides additional routines that will call only those applications
that are responding. Users can switch to other applications even if one is
unresponsive.

[From Hotfix XE103W2K3026][#76070]



31. MetaFrame XP was bypassing any application limits set in the Management
Console for pass-through connections. A global variable was not being
properly set in pass-through connections.

The global variable is now set correctly and MetaFrame adheres to any
application limits set in the Management Console for pass-through
connections.

[From Hotfix XE103W2K3026][#77372]



32. If session sharing was disabled, client-to-server redirection failed
because applications with command lines that contained spaces in the paths
were not being launched.

This fix ensures that client-to-server redirection will work even if session
sharing is disabled.

[From Hotfix XE103W2K3026][#79331]



33. The server-side wallpaper appeared occasionally for a short time when a
seamless window was closed. There was a slight delay between the time the
window was closed and the seamless engine notified the client that the
window was closed. During that time, the client-side engine tried to update
the window that was already closed, resulting in the brief appearance of the
server-side wallpaper.

This fix ensures that the seamless engine immediately detects that the
window is closed and the server-side wallpaper no longer appears.

[From Hotfix XE103W2K3026][#80221]



34. The display speed of the combo list box became very slow if the list box
expanded beyond the area of the background window. The seamless routine that
checked to determine whether or not the target window was a top-level window
ignored the window, causing a delay in the dispaly of the window.

A new API is now used to determine whether or not the target window is a
top-level window. The combo list box appears as quickly as other types of
windows in a seamless session.

[From Hotfix XE103W2K3026][#83550]



35. When the following registry entry was set, Sehook20.dll was still loaded
in the session:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\Wfshell\TWI
Type: REG_DWORD
Data: SeamlessFlags=0x4

In certain situations the registry entry was ignored, causing Sehook20.dll
to be loaded despite the registry setting.

This hotfix ensures that the registry entry is used to determine whether or
not to load Sehook20.dll in the session.

[From Hotfix XE103W2K3026]#83555]



36. This fix addresses a custom application's performance when run
seamlessly. Some applications appeared to be slower to respond when
performing actions such as moving, resizing, or closing windows. This fix
introduces two new registry settings that allow administrators to configure
an explicit time interval for the seamless engine mechanism to monitor when
changes take place in the seamless applications.

Create the following two registry keys:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWI
Key: WorkerWaitInterval
Type: REG_DWORD
Value: <Number of milliseconds allowed> (Values are between 5 ? 500; the
default is 50.)

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWI
Key: WorkerFullCheckInterval
Type: REG_DWORD
Value: <Number of milliseconds allowed> (Values are between 50 ? 5000; the
default is 500.)

For both values, a larger size slows responsiveness but improves
scalability; a smaller size increases responsiveness but decreases
scalability slightly. The level of scalability depends on several factors,
such as hardware sizing, types of applications, network performance, and
number of users.

[From Hotfix XE103W2K3035][#85657]



37. Some custom applications that did not display properly when running on
Windows XP/2003 with the Windows XP Theme enabled sometimes saw the same
behavior when running as a seamless application on MetaFrame XP Feature
Release 3 on Windows 2003 that does not have the Windows XP Theme enabled.
For example, the title bar of the application is larger in height.

Starting with MetaFrame XP Feature Release 3 for Windows 2000/2003, the
server seamless engine has extended support for certain window style
properties of the workstation where the seamless application is running; for
example, the styles generated by Windows XP Themes.

This hotfix introduces a new seamless global registry flag that, when set,
instructs the server-side seamless engine not to read certain client
workstation window style information.

Set the following server-side registry key to instruct the server seamless
engine not to synchronize with the client's window style that pertains to
those representative of the Windows XP Theme:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWI

Name: SeamlessFlags
Type: REG_DWORD
Value: 0x4000

Custom applications that do not display properly when running on Windows
XP/2003 with the Windows XP Theme enabled can be run in a seamless session
from a workstation that has the Windows XP Theme enabled and be displayed
using the Windows Classic style.

Note: This applies only when the Windows 2003 server on which MetaFrame is
installed does not have Windows XP Theme enabled. If it is enabled, Theme
support is the default whether users log on to the server through the
console, through a desktop session, or seamlessly.

[From Hotfix XE103W2K3035][#87052]



38. If users attempted to access a Web site through Start > Run with a URL
that was longer than 256 characters (in some cases longer than 202
characters), the correct Web page appeared but Wfshell experienced a fatal
error. This problem occurred because of a buffer overrun in handling the
URL.

With this fix, when a URL longer than the allowed character limit is pasted
into Start > Run, Internet Explorer is launched and Wfshell remains running
without experiencing a fatal error.

[From Hotfix XE103W2K3037][#87825]




Installation Instructions
Note: This hotfix is packaged with Microsoft Windows Installer. You can
deploy the hotfix package to a group of servers using Microsoft Active
Directory Group Policy Object or using Citrix Installation Manager. For more
information, see the Citrix server Administrator?s Guide or the Citrix
Installation Manager Administrator?s Guide.

1. Download the hotfix package from the Hotfixes and Service Packs page of
the Citrix Web site at http://www.citrix.com.
2. Copy the hotfix package to an empty directory on the hard drive of the
MetaFrame server.
3. Close all applications.
4. Run the executable.
5. Shut down and restart the server.

Note: To install this hotfix silently, use the /q option after the
executable. For example:

msiexec /I XE103W2K3037.MSI /q

Using the /q option without additional options automatically restarts the
server.
For additional information about msiexec, see the Microsoft Web site at
http://www.microsoft.com. Search on keyword msiexec.

Uninstallation Instructions
1. From the Start menu, select Setting > Control Panel.
2. In Control Panel, double-click Add/Remove Programs.
3. Highlight the hotfix you want to uninstall and click Remove.
4. Follow the directions on-screen.


Files Updated
Hotfix.exe 74,000 04/28/2003 01:55p
Chgcdm.exe 69,632 05/28/2004 08:02p
Ctxnotif.dll 102,400 05/28/2004 08:02p
Ctxrpc.dll 20,104 05/28/2004 08:02p
Printcfg.exe 118,784 05/28/2004 08:02p
Iexplore.exe 32,768 05/28/2004 08:02p
Seamls20.dll 57,344 05/28/2004 08:02p
Sehook20.dll 15,360 05/28/2004 08:02p
Wfshell.exe 94,208 05/28/2004 08:02p
Wsxica.dll 176,264 05/28/2004 08:02p

********************************************************
This weeks sponsor Emergent Online Thinssentials Utilities
Using the latest software, hardware, networking technologies, proven technical 
expertise, proprietary software and best practices, EOL provides 
custom-tailored solutions for each client?s mission and specific goals.
http://www.go-eol.com
**********************************************************
Useful Thin Client Computing Links are available at:
http://thin.net/links.cfm
***********************************************************
For Archives, to Unsubscribe, Subscribe or 
set Digest or Vacation mode use the below link:
http://thin.net/citrixlist.cfm

Other related posts: