How to Troubleshoot Application Integration Issues

Citrix states in their article: CTX101709

CTX101709 - How to Troubleshoot Application Integration Issues

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

Document ID: CTX101709, Created on: Mar 31, 2003, Updated: Nov 10, 2003

Products: Citrix MetaFrame XP 1.0 for Microsoft Windows 2000, Citrix MetaFrame XP 1.0 for Microsoft NT 4.0 Server Terminal Server Edition, Citrix MetaFrame 1.8 for Microsoft Windows 2000, Citrix MetaFrame 1.8 for Microsoft NT 4.0 Server Terminal Server Edition

This document provides a series of questions that need to be answered when an application fails to function properly within a Terminal Services environment. These questions are in no particular order. Not every question will apply to every application integration problem.

Does the application run when a user is logged on to the server console?

Test with user-class and administrative accounts at the server console. If the application fails for both users, it is quite possible that the application will not run on the respective operating system. If the application will be running on MetaFrame 1.8/XP, the application must be able to work properly on a Windows NT 4.0 Terminal Server or Windows 2000 Server running Terminal Services. If the application works at the console for administrative users and fails for user-class users, it is most likely a rights issue. See Citrix Knowledge base article How to Resolve Application Errors Caused by Insufficient Rights . Other useful utilities, REGMON and FILEMON, for troubleshooting application issues are available from www.sysinternals.com.

Does the application run when a user is logged on to an RDP desktop session?

Does the application write information to the C drive?

Performance issues, over the WAN, may occur if the application attempts to query and/or write to the client’s C drive on a routine basis. Other issue may arise if a decision has been made to enable/disable client drive mapping.

Does the application run in a server or published desktop session but fail as a published application? If yes:

1. Does the application work if run as an initial program with ICA and RDP?

You can configure this by opening Citrix Connection configuration, double-clicking the protocol listener, selecting the Advanced tab, and configuring the initial application settings. From the client device, connect to a server desktop; only the application will attempt to run. The explorer shell, explorer.exe, is absent in an initial program/published application session. The application may execute code that requires the presence of the explorer shell.

2. Can the application be executed from the command line or through a batch file?

Some applications may function properly when run from the Start menu, a shortcut, or a GUI interface such as Windows Explorer and fail if executed from a command line inside the directory where the actual application executable resides. Issues of this type are often referred to the maker of the application.

3. Can the application be run in a fixed window size or seamless window?

Some applications may function properly in a fixed window size and fail in a seamless window. Issues of this nature need to be investigated by Citrix Technical Support and may require a sample application or the application itself to determine why the particular application is failing with the Citrix seamless technology. Possible resolutions to seamless issues are in separate articles within the Citrix knowledgebase.

Did the application run prior to the installation of a service pack or feature release?

If removing the service pack or feature release resolves the issue, new or enhanced Citrix technology may be causing the application to fail. Issues of this nature need to be investigated by Citrix Technical Support and may require a sample application or the application itself to determine why the particular application is failing with the Citrix technology. See Citrix Knowledge base articles Troubleshooting Client Time Zone Issues In MetaFrame XP and Applications may Fail after MetaFrame XP Feature Release 2, ServerFTA.exe, is Enabled , Internet Explorer Compatibility Error Messages when Installing Applications on MetaFrame XP Feature Release 3 and Error: WinSock driver not ready 10091 loading WinSock driver OR Error number 42-1 unable to initialize window socket.

How was this application installed? Does the application run for anyone other than the user who installed the application?

Citrix needs to know if the application was installed for one specific user or for all users. If the application fails for everyone except the user who installed the application, try installing the application on a per-user basis. Test this for one user. For MetaFrame 1.8/XP, use Add/Remove Programs under Control Panel. For Windows NT 4.0 Terminal Server, you will be prompted to select global or single user. For Windows 2000 with Terminal Services enabled, you will not see this prompt. Instead, invoking Add/Remove Programs in Windows 2000 automatically executes a system global installation. For more information, see the Windows 2000 Help topic “Starting the installation.” Other useful utilities, REGMON and FILEMON, for troubleshooting application issues are available from www.sysinternals.com.

Does the application run if the server is in Change User/Install mode for all users?

Log on as the problem user at the console and/or connect to a server desktop as the failing user. At a command prompt, type Change User /Install and then run the application executable. If the application runs, the issue could be one of two things:

• Home directories are not configured

• The application was not installed globally

See “How was this application installed?” above for more information.

Where do the user home directories reside?

All users require a defined home directory to properly run applications in a Terminal Services environment. This directory can reside on the Terminal Server, Windows NT servers, or Novell servers. You can verify if a home directory is present by starting a command prompt. The directory should be the home directory. If this shows anything else or the user name is DEFAULT, check to see that the user has a properly defined home directory. If using Terminal Server, check for a possible conflict in home directories between the Terminal Server home directory and home directory paths. If you are logged on to Terminal Server and a path is specified in the Terminal Server home directory, this overrides settings listed in the home directory path.

For additional information see Q195950, Q230165, and Q216976.

Is this application multi-user compatible? Can the application recognize user IDs or session IDs?

Both questions can assist in determining if the application will work on a Terminal Server. The application must be able to work in a multiuser environment, it must run over a virtual session, and it must be able to recognize individual user IDs or session IDs. />

For additional information see Q186498, Clientnames Should Always Be Unique and Error: "Duplicate NetBIOS Name In Use" Launching Application .

Does the application have any application compatibility scripts? If so, were the scripts run?

Many commonly used applications have been tested for compatibility with Terminal Services. For maximum performance on a Terminal Server in application server mode, some applications require minor changes after installation. Scripts are available for these applications and must be run after the application installation is complete. The scripts are in %systemroot%\Application Compatibility Scripts\Install.

Note: Not all applications have application compatibility scripts. Because of this, Microsoft provides several template scripts for installation and logon of users. These templates are in a TEMPLATE subdirectory underneath the INSTALL and LOGON directories.

For additional information see Q263458 and an article titled “Developing Application Compatibility Scripts with Windows NT Server 4.0” that is on the MicroSoft TechNet CD.

Where does the application reside? If the application doesn’t reside on a Terminal Server, can it be moved there to test it?

Find out where the application is installed. This becomes especially important if the application is not stored directly on the MetaFrame server. This could narrow down the issue by defining whether or not the application runs while installed on the MetaFrame server. If the application resides elsewhere, relocate it to the MetaFrame server and test. If it works on the Terminal Server and NOT where it is normally stored, check for possible network issues or named pipes issues.

Does the application reside on a network server and require the mapping of a network drive?

Applications may function within a desktop session but fail as a published application because of a timing issue. Typically, all profile and logon script drive mappings are completed by the time the explorer shell, Explorer.exe loads. Therefore, when the shortcut or executable is run, the drive mapping is present. If a drive mapping is disconnected inside a desktop session and the application executable is run, the same error message as the error message that appears when running the application as a published application will appear.

With WinFrame, Citrix has the ability to adjust this timing mechanism by installing Hotfix SE17B115 (Item #25).

From the Hotfix SE17B115 readme:

Some published applications failed because the client drive mapping would not complete before the application started. This fix adds the following entry to the registry:

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon
VALUE: ClientMappingTimeOut = REG_DWORD: 0x5000

The value specifies how long (in milliseconds) Userinit.exe should wait before it continues. If this value is not found by USERINIT.EXE, it will not wait.

This hotfix includes the CDMTIMER utility that is used to update the value of the ClientMappingTimeOut.

CDMTIMER USAGE:

CDMTIMER - Set Client Drive Mapping Wait Time.

[/Q] - Query current registry value for the length of time (in milliseconds) that the system will wait for client drive mapping.

[/TIMER:milliseconds] - Set the length of time (in milliseconds) that the system will wait for client drive mapping to finish. Valid range: 1-60000 milliseconds.

[/?] - Display this help message.

After installing this hotfix, CDMTIMER is run with the following value: /TIMER:5000. This forces Userinit.exe to wait five seconds before launching a published application.

However, MetaFrame 1.8/XP on both TSE 4.0 and Windows 2000 platforms do not contain this timing mechanism. A possible workaround is to write a batch file that includes pause statements or preferably the use of Sleep.exe from the Windows NT Resource Kit along with a start command to run the application executable.

C:\Documents and Settings\TechLead>sleep /?

sleep 1.0

Usage: sleep [#h#m]#[s]

Examples: sleep 1h15m

sleep 30

Batch File Example:

sleep 10

start c:\windows\notepad.exe

Note: Calling “sleep” in a batch file with the “start” parameter will leave a CMD window open. Ensure the resulting batch file works on the console of the server.

Subsequently, publish the actual batch file name you just created. Other tips such as mapping the drive through the profile instead of a logon script and moving the drive mapping to the beginning of the logon script may help. Intermittent issues of this nature can often be attributed to possible network issues with respect to domain logon authentication. Troubleshooting Various Client Drive Mapping Issues

Is this a DOS, 16-bit, or 32-bit application?

It is important to know the name of the application and the version of the application. If the application in question is a home-grown (applications written by a developer that are based on other applications or written in a special application language) application, find out the following:

1. What application is this based on? What language was the application written in? If the application was written using a developer’s kit (C++, Visual Basic, and so on), what was it written with?

2. What is the version and language of the application?

3. Was the application was tested on a native build of Windows NT? If tested, and found not to work, it will not work on a Terminal Server.

Additional information about application tuning is in the following tech note: Comprehensive Application Tuning Document .

Are mandatory profiles or policies in use?

If the answer to this question is yes, the profile and/or policy MAY be preventing the application from updating registry keys. Therefore, the profile/policy MUST be updated to allow for the installation of this application. If this is not done, the application may fail.

Does the application send prompt to the console and not the individual sessions?

Q308403

Additional Resources

1. This section contains general product information on Microsoft® Windows NT® Server 4.0, Terminal Server Edition

http://microsoft.com/ntserver/ProductInfo/terminal/default.asp

2. Microsoft Windows NT Server, Terminal Server Edition, Version 4.0: “An Architectural Overview.”

http://microsoft.com/ntserver/techresources/WpGlobal.asp

3. ---- Graceful Logoff from a Published Application Keeps Sessions in Active State .

When a non-seamless application is closed by clicking the X at the top right of the window, the session is disconnected, not reset. The application should have a file/exit option. The X at the top right of the window should exit a seamless application and reset the session

4. ---- How to Open Specific Control Panel Icons(.cpl) and Application Files, ( .doc, .xls, .msc, .mdb, .hlp) as Published Applications .

5. ----When Users Connect to a Published Application, they get the Entire Desktop, not the Published Application. .

6. -----Terminal Server Desktop, Explorer.exe, Launches from a Published Application

7. Terminal Services Programming Guidelines

8. INI Files From the User's Windows Directory Get Copied to CTX Files

/>



Primary links

Custom Search

Who's new

  • Rullydery
  • eagenorce
  • rittaarier
  • swasseZex
  • gaterfoko

Who's online

There are currently 0 users and 4 guests online.

KrissysCorner.com RuthSwensonLaw.com CreativeLizardProductions.com

DISCLAIMER:

None of this has anything to do with us, someone else is responsible for the entire thing, and we have no idea who or why. We do not know anything about it. It may be alien life forms for all we know: we haven't a clue. You cannot blame us for anything that may result from your visit. That was entirely your own personal choice, made by you of your own volition, and without our knowledge. We do not, after all, have any control over you and cannot by any stretch of the imagination be expected to accept or acknowledge, be it legally or morally, any accountability for decisions made by you on an independent basis, utilizing your own free will, and without our intervention. We are therefore in no way, shape, or form answerable to anyone for any consequences arising from the aforementioned or indeed any other actions, similar or otherwise, because it was not us that did, or did not do anything. It is not even remotely our fault, and we are in no way prepared or willing to accept any liability, not even slightly, ever. We are, in fact completely and utterly blameless, in that it is definitely not our concern, and no blame can possibly be laid at our doorstep, even if we had one, the possession of which we hereby reserve as being entirely our own free choice. The onus is not on us at all, and furthermore, never has been. The entire matter is wholly beyond our control, and completely out of our hands, each of which are washed scrupulously clean of the whole business. We are not accountable for anything at all, and we hereby categorically deny all responsibility for all that has ever, or will ever happen. Our innocence is therefore wholly beyond doubt and absolutely unimpeachable, and so cannot, under even the remotest or unlikeliest circumstances, be brought into question. By clicking either on a link on this site, clicking on a link that leads to this site, or by arriving at this site by natural or supernatural means, you are in effect accepting responsibility for the fact that it is all entirely your own fault, down to the most miniscule detail, and that you are wholly accountable for whatever outcome may arise as a consequence of the aforementioned action or actions insofar as they were undertaken personally by you on an entirely voluntary basis and without any persuasion, coercion or influence from any party or parties other than yourself. Don't come sniveling to us, we are only figments of your imagination. I also agree that if I am ever with a contributor to this website during mealtimes I agree to pay for any super-sizing of their meal, or at least a nice dessert or one of those foo-foo drinks with an umbrella or a monkey. By admitting to have seen the worthless spineless drivel on this website (also known as content)

I Agree Wholeheartedly and Without Reservation to the above. (Except maybe for that part about the monkey.)

All Your Base Are Belong To Us.

Soylent Green Is People!

Never make a bet with a Sicilian when Death is on the Line!

No. Really, I do agree.