Saturday, 10 September 2011



When trying to upgrade to Metaframe XP I received the Error: An Error Occurred




 During IMA Component Install. Setup will Now Exit. IMA Component Install Error - Error




 Code : 0x000000b7  




To resolve this issue, perform the following steps:


Stop the Client Installation Service.
Remove the ImaRpcClient.dll file from the \%systemroot%\system32 directory. 
Restart MetaFrame XP installation.

What is the License Auto-activation for Citrix® MetaFrame XP™ Electronic License Program? 



License Auto-activation for Citrix® MetaFrame XP™


Electronic License Programs
March 18, 2002

What is licenses auto-activation?
License auto-activation is a benefit offered to customers purchasing 
MetaFrame XP product through an electronic licensing program with 
Citrix.  License auto-activation removes the need to activate 
MetaFrame product licenses via the Citrix Activation System.  With 
license auto-activation, MetaFrame XP product licenses purchased 
through an electronic licensing program are automatically activated 
when they are installed on the MetaFrame XP server.

Who is eligible for license auto-activation?

Customers who are purchasing new MetaFrame XP product or have 
purchased MetaFrame XP product via one of the electronic license 
programs are eligible to receive license auto-activation for their 
product purchases.  Citrix electronic licensing programs include:
· Corporate Licensing Program – CLP
· Enterprise Licensing Program – ELP
· Premium Licensing Program – PLP


The following electronic licensing program customer types are 
eligible for license auto-activation:
· New MetaFrame XP customers
· Existing MetaFrame XP customers
· MetaFrame XP customers who have migrated from MetaFrame 1.8
· MetaFrame 1.8 customer who are planning to migrate to 
MetaFrame XP

When will license auto-activation be available?

License auto-activation for MetaFrame XP will be available on March 
18, 2002.  Any new purchases of MetaFrame XP via electronic licensing 
programs on or after March 18, 2002 will include license auto-
activation.  In addition, customers who have previously purchased 
MetaFrame XP via an electronic licensing program will be able to 
exchange their current product licenses for auto-activating licenses 
via the MyCitrix portal http://www.citrix.com/MyCitrix

What is required to enable license auto-activation?
In order to enable license auto-activation for MetaFrame XP you must 
purchase new product or have existing product that was purchased 
through an electronic license program with Citrix.  If you are 
purchasing new MetaFrame XP product after March 18th, 2002, your 
product licenses will include auto-activation functionality.  If you 
have purchased MetaFrame XP product before March 18th, 2002 you will 
have the ability to exchange your existing licenses for auto-
activating licenses via the MyCitrix portal at 
http://www.citrix.com/mycitrix.  In addition to obtaining your auto-
activating licenses you will need to apply a hotfix to your MetaFrame 
XP server before you install your auto-activating licenses.  Please 
see information at the end of this document relating to the auto-
activation hotfix.

I am an electronic licensing program customer, how do I obtain 
license auto-activation?
To obtain and utilize license auto-activation for your MetaFrame XP 
product, please follow the information below that pertains to your 
current situation:

New customer purchasing MetaFrame XP

If you are a new customer purchasing MetaFrame XP through an 
electronic licensing program with Citrix your product purchase and 
your product licenses will already be enabled for auto-activation.  
The license package delivered to you from Citrix will contain 
licenses that include the auto-activation functionality.  To enable 
your systems for auto-activation you will need to install the auto-
activation hotfix for MetaFrame XP before you install the licenses on 
your MetaFrame XP server.  Please see the hotfix reference 
information provided at the end of this document for information on 
obtaining the auto-activation hotfix

Existing MetaFrame XP customer
If you are an existing MetaFrame XP customer who purchased product 
before March 18, 2002 you are eligible to obtain auto-activating 
licenses for your existing products.  In order to utilize auto-
activation functionality you will need to exchange your current 
product licenses for new auto-activating licenses.  You can exchange 
your existing licenses via the MyCitrix portal at 
http://www.citrix.com/mycitrix.  

To exchange your licenses and enable auto-activation please follow 
the steps below.
1. Logon to the MyCitrix portal at http://www.citrix.com/mycitrix
2. Click on the Licenses tab at the top of the page
3. In the menu on the left side of the page, select the Auto-
Activating Licenses link under the Subscription Advantage heading.
4. Follow the directions on the page to exchange your current 
product licenses for new auto-activating product licenses.
5. Install the auto-activation hotfix for MetaFrame XP.  
Information for the hotfix can be found at the end of this document.
6. Remove your existing product licenses from your MetaFrame XP 
servers.  You must remove your old licenses from the system before 
installing the new auto-activating licenses.
7. Install your new auto-activating licenses on your MetaFrame 
XP server.  There will be no need to activate these licenses via the 
Citrix Activation System.  The licenses will automatically be 
activated when installed.

The on-line license exchange is a real-time automated process that 
will automatically display all of your current product licenses and 
allow you to convert them in a single step.  After you have exchanged 
your licenses, you will be presented with a license certificate 
containing your new auto-activating licenses.  At this time your 
existing licenses will be disabled from the Citrix Activation 
System.  You will no longer be able to utilize your old product 
licenses and should instead use the new auto-activating licenses.

Existing MetaFrame XP customer who migrated from MetaFrame 1.8
If you are an existing MetaFrame XP customer who migrated from 
MetaFrame 1.8 you are eligible to obtain auto-activating licenses for 
your existing products.  In order to utilize auto-activation 
functionality you will need to exchange your current product licenses 
for auto-activating licenses.  In addition to exchanging your 
MetaFrame XP migration licenses you will also need to exchange your 
previous MetaFrame 1.8 licenses for auto-activating versions that are 
compatible with MetaFrame XP.  You can exchange your existing 
licenses via the MyCitrix portal at http://www.citrix.com/mycitrix.  

To exchange your licenses and enable auto-activation please follow 
the steps below.
1. Logon to the MyCitrix portal at http://www.citrix.com/mycitrix
2. Click on the Licenses tab at the top of the page
3. In the menu on the left side of the page, select the Auto-
Activating Licenses link under the Subscription Advantage heading.
4. Follow the directions on the page to exchange your current 
product licenses for new auto-activating product licenses.
5. Install the auto-activation hotfix for MetaFrame XP.  
Information for the hotfix can be found at the end of this document.
6. Remove your existing product licenses from your MetaFrame XP 
servers.  This includes your MetaFrame XP migration licenses as well 
as your MetaFrame 1.8 licenses.  You must remove your old licenses 
from the system before installing the new auto-activating licenses.
7. Install your new auto-activating licenses on your MetaFrame 
XP server.  Please be sure to install the newly exchanged MetaFrame 
1.8 auto-activating licenses as well as the MetaFrame XP auto-
activating migration licenses. 

The on-line license exchange is a real-time automated process that 
will automatically display all of your current product licenses and 
allow you to convert them in a single step.  After you have exchanged 
your licenses, you will be presented with a new certificate 
containing your auto-activating licenses.  At this time your existing 
licenses will be disabled from the Citrix Activation System.  You 
will no longer be able to utilize your old product licenses and 
should instead use the new auto-activating licenses.  

MetaFrame 1.8 customer who is planning to migrate to MetaFrame XP
If you are a current MetaFrame 1.8 customer who is planning to 
migrate to MetaFrame XP, you will need to complete the migration 
process to MetaFrame XP before you can continue.   You may complete 
the migration process by fulfilling your migration product on-line 
via the MyCitix portal at http://www.citrix.com/mycitrix.  When you 
fulfill your MetaFrame XP migration, the MetaFrame XP migration 
licenses that you receive will already be enabled for auto-
activation.  These MetaFrame XP migration licenses will not need to 
be exchanged on-line.  

Your existing MetaFrame 1.8 product licenses are not currently 
enabled for auto-activation for MetaFrame XP.  You will need to 
exchange your existing MetaFrame 1.8 product licenses for new auto-
activating licenses that are compatible with MetaFrame XP.  You can 
exchange your MetaFrame 1.8 licenses via the auto-activating license 
exchange site on the MyCitrix portal.

To exchange your MetaFrame 1.8 product licenses after you have 
fulfilled your MetaFrame XP migration licenses, follow these steps:
1. Ensure that you have completed the migration to MetaFrame XP 
and have fulfilled your MetaFrame XP migration licenses.
2. Logon to the MyCitrix portal at http://www.citrix.com/mycitrix
3. Click on the Licenses tab at the top of the page
4. In the menu on the left side of the page, select the Auto-
Activating Licenses link under the Subscription Advantage heading.
5. Follow the directions on the page to exchange your current 
MetaFrame 1.8 product licenses for new auto-activating product 
licenses.
6. Install the auto-activation hotfix for MetaFrame XP.  
Information for the hotfix can be found at the end of this document.
7. Remove your existing product licenses from your MetaFrame XP 
servers.  This includes your MetaFrame XP migration licenses as well 
as your MetaFrame 1.8 licenses.  You must remove your old licenses 
from the system before installing the new auto-activating licenses.
8. Install your new auto-activating licenses on your MetaFrame 
XP server.  Please be sure to install the newly exchanged MetaFrame 
1.8 auto-activating licenses as well as the MetaFrame XP auto-
activating migration licenses. 

The on-line license exchange is a real-time automated process that 
will automatically display all of your current product licenses and 
allow you to convert them in a single step.  After you have exchanged 
your licenses, you will be presented with a new certificate 
containing your auto-activating licenses.  At this time your existing 
licenses will be disabled from the Citrix Activation System.  You 
will no longer be able to utilize your old product licenses and 
should instead use the new auto-activating licenses.  

How do I get auto-activating versions of my Feature Release licenses?
Your Feature Release licenses are automatically included in the 
license exchange and the license fulfillment processes for auto-
activation outlined in this document.  If you have previously 
fulfilled your Feature Release 1 licenses for MetaFrame XP before 
March 18, 2002, you will need to exchange these Feature Release 1 
licenses for new auto-activating versions of the licenses.  This will 
be completed when you follow the directions above to exchange your 
MetaFrame XP product licenses.  Your current Feature Release licenses 
will be included automatically in the exchange process. 

If you have not fulfilled your Feature Release 1 product for 
MetaFrame XP, you may fulfill your product licenses via the MyCitrix 
portal at http://www.citrix.com/mycitrix.  When you fulfill your 
MetaFrame XP Feature Release 1 licenses after March 18, 2002, the 
product licenses that you receive will already be enabled for license 
auto-activation.  There will be no need to exchange these licenses if 
they were fulfilled on or after March 18, 2002.

What are the MetaFrame XP system requirements to support licenses 
auto-activation?
In order to support licenses auto-activation on MetaFrame XP, 
customers must have their MetaFrame XP server installed with Service 
Pack 1.  In addition to this, the license auto-activation hotfix for 
MetaFrame XP (referenced above) must be installed on the system prior 
to installing the new auto-activating licenses.
Where can I download the hotfix for MetaFrame XP that enables license 
auto-activation?
The hotfix for MetaFrame XP that enables license-auto activation is 
available from the Citrix Knowledge Base at 
http://knowledgebase.citrix.com.  Please see the hotfix information 
below which contains details for your product platform and language 
as well as links to the hotfixes.

License auto-activation hotfix for MetaFrame XP
In order to enable auto-activation functionality on MetaFrame XP you 
must install a Hotfix on your system prior to installing the new auto-
activating Licenses.  The auto-activation hotfix in conjunction with 
your auto-activating licenses will remove the need for you to 
activate your licenses via the Citrix Activation System.  Please see 
the table below to determine which hotfix you need for your MetaFrame 
XP product. 

MetaFrame XP for Windows 2000
English – Hotfix XE101W016
German – Hotfix XG101W016
Japanese – Hotfix XJ101W016
French – Hotfix XF101W016
Spanish – Hotfix XS101W016

MetaFrame XP for Windows NT 4.0 Terminal Server Edition (TSE)
English – Hotfix XE101T016
German – Hotfix XG101T016
Japanese – Hotfix XJ101T016
French – Hotfix XF101T016
Spanish – Hotfix XS101T016

The hyperlinks in the list above will link directly to the auto-
activation hotfixes for MetaFrame XP.  Alternatively you can download 
the hotfixes from the Citrix Knowledgebase at 
http://knowledgebase.citrix.com .  You can enter the hotfix name into 
the search field and click on the "search" button to navigate to the 
specific hotfix.  Please ensure that you have Service Pack 1 for 
MetaFrame XP installed prior to applying the hotfix.  Once you have 
downloaded the hotfix for your product platform and language you will 
need to install the hotfix before you install your auto-activating 
licenses.  If you attempt to install the licenses without first 
installing the hotfix, the license auto-activation functionality will 
not work.

If I have difficulties with license auto-activation, where can I get 
more information?
If you are having difficulties with license auto-activation you can 
contact a Subscription Advantage Member Relations representative, 
please send your questions via email to subscription@citrix.com or 
call a representative at:
USA & Canada:             (800) 424-8749 begin_of_the_skype_highlighting            (800) 424-8749      end_of_the_skype_highlighting      
Europe:             +353 1 805 5000 begin_of_the_skype_highlighting            +353 1 805 5000      end_of_the_skype_highlighting      
Asia Pacific:             +61 2 8870 0899 begin_of_the_skype_highlighting            +61 2 8870 0899      end_of_the_skype_highlighting      
Direct:             (954) 267-2599 begin_of_the_skype_highlighting            (954) 267-2599      end_of_the_skype_highlighting      


© Copyright 2002 Citrix Systems, Inc. All rights reserved. CitrixÒ, 
ICAÒ, MetaFrameÒ and MetaFrame XP™ are registered trademarks or 
trademarks of Citrix Systems, Inc., in the United State and other 
countries.  MicrosoftÒ, WindowsÒ, and Windows NTÒ are registered 
trademarks of Microsoft Corporation.  UNIXÒ is a trademark of The 
Open Group in the United States and other countries.  All other 
trademarks and registered trademarks are the property of their 
respective owners.

Instead of installing new servers from scratch, assuming I have identical servers, could not I simply image (clone) one of my current terminal servers? 



Technically this is possible BUT it is not recommended. Some companies when dealing with support issues will not support a machine that was built using such method. But yes, it can be done. The easiest way is to simply use a tool like Symantec Ghost to create an image. Make sure you image a server that was preferably removed from the domain and when the image is loaded on the new server, before rebooting the machine to use the image, disconnect it from the network, rename it and use a tool like NewSID (from Sysinternals.com) to change the machine SID. Make sure you change its IP addresses as well. Once you have done that simply connect the machine to the network and join it to the domain.

NOTE: the procedure for cloning Citrix servers is quite different due to the IMA architecture. For the latest article on the subject please check: http://support.citrix.com/article/CTX107406

One of my Microsoft Office applications (Word, Outlook, excel, powerpoint) keeps coming up in safe mode on my Windows Terminal Server. How do I prevent this? 



Note the below solution requires editing the Registry. Please remember to MAKE A BACKUP prior to editing the Windows Registry. Don`t mess with it if you don`t know what you are doing! All disclaimers apply.

When you start Microsoft Outlook (or another Office application on Windows Terminal Services
you may receive the following error message:

Outlook failed to start correctly last time. Starting Outlook in safe mode will help you correct or isolate a startup problem in order to successfully start the program. Some functionality may be disabled in this mode.

Do you want to start Outlook in safe mode?

You can click either Yes or No and Outlook opens. The next time you launch Outlook you are not given the prompt.
However, at the next launch of Outlook you are given the prompt. On the following logon, you are not given the prompt.
This loop of Outlook 2002/3 prompting for Safe Mode every other time you launch Outlook continues indefinitely.

CAUSE
=====

HKEY_LOCAL_MACHINE\Windows NT\Current Version\Terminal Server\Install\Software\Microsoft\Office\10.0\Outlook\Resiliency
with the key TermSrvCopyKeyOnce with a value of 0x1 exists in the Registry on the Windows 2000 Terminal Server in one of the subkeys under Resiliency.

When Outlook 2002/3 starts, the following Registry key is created:

HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Outlook\Resiliency.

NOTE: The Resiliency registry key for Outlook is new for Outlook 2002.

If no problems are encountered, the Resiliency key is deleted. If one of the many tests that Outlook makes at startup fail,
subkeys are written under the Resiliency key and the Resiliency key is not deleted. If the key remains,
the next start of Outlook 2002 gives the prompt.

If a subkey is deleted by an application from HKEY_CURRENT_USER (HKCU) --
specifically a subkey from HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Outlook\Resiliency while the server is in
Terminal Server Install mode, the data is copied to HKEY_LOCAL_MACHINE (HKLM):

HKLM\Software\Microsoft\Windows NT\Current Version\Terminal Server\Install\Software\\Microsoft\Office\10.0\Outlook\Resiliency

When the application attempts with the server in Terminal Server Application Mode to access the key again and finds it missing,
the application looks in this location (HKLM) for the key. If the Resiliency key is there and has the key TermSrvCopyKeyOnce under one of the
subkeys of the Resiliency key, the Resiliency key is written back to HKCU.

In this case, the Resiliency key was written with subkeys while in install mode. Once the terminal server goes back
to application mode every user is affected since Outlook 2002 always looks for the Resiliency key, thus causing the loop.

RESOLUTION
==========

Deleting

HKLM\Software\Microsoft\Windows NT\Current Version\Terminal Server\Install\Software\Microsoft\Office\10.0\Outlook\Resiliency

resolves the problem.

If you are running Citrix Metaframe Presentation Server, check to see if speedscreenApi.dll is listed as the faulting module.
You may run into this issue  after installing Metaframe and installing the lastest batch of Microsoft Updates for Windows 2000/3.

To fix this emove the keys for iexplore.exe and outlook.exe under

hklm\software\citrix\ctxhook\AppInit_Dlls\SpeedScreen

which should resolve the error message.
After that run the speedscreen manager to add those two applications to the list.

My Applications are not refreshing correctly within an ICA session. What can I do? 



The below article from the Citrix Knowledge base may assist: CTX107329 - Application Not Refreshing Correctly Within an ICA Session
Document ID: CTX107329, Created on: Sep 13, 2005, Updated: Sep 13, 2005
Products: Citrix MetaFrame XP 1.0 for Microsoft Windows 2003, Citrix MetaFrame XP 1.0 for Microsoft Windows 2000, Citrix Presentation Server 4.0 for Microsoft Windows 2000, Citrix Presentation Server 4.0 for Microsoft Windows 2003, Citrix MetaFrame Presentation Server 3.0 for Microsoft Windows 2000, Citrix MetaFrame Presentation Server 3.0 for Microsoft Windows 2003, ICA Win32 Program Neighborhood Client, ICA Win32 Web Client, ICA Win32 Program eighborhood Agent

Symptoms

Applications are not refreshing correctly within an ICA session.

Resolution

Maximum memory allows you to specify the maximum memory to be used on the server for each client connection. You can specify an amount in kilobytes from 150 to 8192. Using more color depth and higher resolution for connections requires more memory. You can calculate the maximum memory required by using the following equation:
Calculating how much LVB memory is required for the seamless connection
Virtual Horizontal Resolution * Virtual Vertical Resolution * 3;
16-Bit (High Color) connections:
Virtual Horizontal Resolution * Virtual Vertical Resolution * 2;
8-Bit (256 Color) connections:
Virtual Horizontal Resolution * Virtual Vertical Resolution;
4-Bit (16 Color) connections:
(Virtual Horizontal Resolution * Virtual Vertical Resolution) / 2;
A great way to troubleshoot this issue is to make the change to a specific server and set the maximum memory to 8192
(which is the highest amount of memory that a WinStation can use). There is no way to increase this value. If setting the value to 8192 fixes the problem, try lowering the maximum memory to use for each sessions graphics.

What Does the CMSTART Command Do? 



This article from the Citrix Knowledge base describes what the CMStart command does. To save on memory this command can be removed from the appsetup key and won`t affect functionality of Citrix but users will no longer get the shadow notification window when being shadowed and client updating may not occur.
CTX983798 - What Does the CMSTART Command Do?
Document IDCTX983798, Created on: Sep 28, 2001, Updated: Nov 15, 2004
Products: Citrix MetaFrame 1.8 for Microsoft NT 4.0 Server Terminal Server Edition, Citrix MetaFrame Presentation Server 3.0 for Microsoft Windows 2000, Citrix MetaFrame Presentation Server 3.0 for Microsoft Windows 2003, Citrix MetaFrame XP 1.0 for Microsoft Windows 2000, Citrix MetaFrame XP 1.0 for Microsoft Windows 2003 
CMSTART is the initial process that is run after a user authenticates. It is called by winlogon.
WARNING: 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. For information about how to edit the registry, view the "Changing Keys and Values" Help topic in Registry Editor (Regedit.exe) or the "Add and Delete Information in the Registry" and "Edit Registry Data" Help topics in Regedt32.exe. Make sure you back up the registry before you edit it. If you are running Windows NT, also update your Emergency Repair Disk (ERD).
Cmstart.exe is a process that runs when you log on to the MetaFrame server. It is associated with Wfshell.exe and Icast.exe. This is controlled by the follow registry key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon Value of AppSetup
    1. Cmstart starts the client manager file Cltmgr.exe (checks the client version upgrades if needed). It is possible that the ICA Client Update Database may be growing large. Disable the ICA Client Automatic Updates to see if the logon process is quicker.
    2. Cmstart looks for applications under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce and HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce. If any executables are listed here, try removing them one at a time. Reboot the server after removing each executable.
    3. Entries under HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon Value of AppSetup will override similar HKLM settings.
    4. NOTE:By default, the AppSetup Value does not appear under this HKCU key.

What are the known ports needed for Citrix? 



CTX101810 - Known Citrix Ports
Document ID: CTX101810, Created on: May 12, 2003, Updated: Jul 11, 2005
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 
Summary
This article discusses the known TCP/IP ports (TCP and/or UDP) that are used by Citrix services.
Information
Function
Ports
ICA (Default)
TCP: 1494
IMA
TCP: 2512
CMC
TCP: 2513
SSL
TCP: 443
STA (IIS)
TCP: 80
TCP Browsing
UDP: 1604
XML (Default)
TCP: 80
Citrix License Management Console
TCP: 8082
Presentation Server Licensing
TCP: 27000
ICA session w/ Session Reliability enabled
TCP: 2598
Also, in addition to port 27000, Citrix Licensing uses a dynamically determined TCP port for the Citrix vendor daemon. See the Additional Information section below for a link to a document with information on how to configure the Citrix vendor daemon with a static port.
When configuring or changing these ports, Citrix recommends that you use a port that is not being used by any other services.
Notes
1. XML and the sharing of port 80 when using MetaFrame XP and IIS is supported. See CTX655216 - How to Change the ICA Port Number Assignment to alter port 1494 for ICA.
2. See CTX799332 - Running Citrix Secure Gateway and IIS/NFuse on the same server to configure CSG, IIS, and NFuse on the same server.
References
Microsoft’s article Q150543 for Windows NT, Terminal Server, and Microsoft Exchange Services Use TCP/IP Ports.
Additional Information

Explaining and Changing the Citrix XML Service Port 



CTX104063 - Explaining and Changing the Citrix XML Service Port
Document ID: CTX104063, Created on: May 7, 2004, Updated: Jul 11, 2005
Products: Citrix MetaFrame XP 1.0 for Microsoft Windows 2000, Citrix MetaFrame XP 1.0 for Microsoft Windows 2003, Citrix MetaFrame Presentation Server 3.0 for Microsoft Windows 2000, Citrix MetaFrame Presentation Server 3.0 for Microsoft Windows 2003 
Explaining the XML Service
The Citrix XML service was introduced with MetaFrame 1.8 Service Pack 2 or greater and a Feature Release 1 license needed to be installed. MetaFrame XP and greater incorporates the Citrix XML service as a standard feature.
When the MetaFrame 1.8 Service Pack 2 or greater is installed and the server rebooted, the Citrix XML Service binaries will be placed on the system whether the Citrix XML Service was or was not installed. All that must be done to complete the Citrix XML Service installation is to register the XML Service itself by running the ctxxmlsscommand.
Unlike MetaFrame XP or greater, MetaFrame 1.8 does not allow for the sharing of port 80 with IIS.
The below command line syntax applies to all MetaFrame environments.
CTXXMLSS.EXE Command Line Usage
Syntax
CTXXMLSS [switches] [/Rnnnn] [/Knnn] [/U] [/?]
Parameters
/Rnnnn - Registers the service on port number nnnn
/Knnn - Keep-Alive nnn seconds (default 9).
/U - Unregisters the service.
/? (help) - Displays the syntax for the utility and information about the utilities options.
After the Citrix XML Service is registered, a new service will appear in the Services Applet and registry entries are created. Ensure this service is started.
To determine what port is being used, either look in the Citrix Management Console (MetaFrame XP and greater) and/or locate the following registry key (assuming IIS port sharing is not being used).
WARNING: Using Registry Editor incorrectly can cause serious problems that may
require you to reinstall your operating system. Microsoft cannot guarantee that problems
resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at
your own risk.For information about how to edit the registry, view the "Changing Keys
and Values" Help topic in Registry Editor (Regedit.exe) or the "Add and Delete
Information in the Registry" and "Edit Registry Data" Help topics in Regedt32.exe. Make
sure you back up the registry before you edit it. If you are running Windows NT, also
update your Emergency Repair Disk (ERD).
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CtxHttp.
Value: "TcpPort" If the value is listed in hex, changed to a decimal notation.
If Microsoft IIS is installed, the administrator of the MetaFrame XP installation is given the option to install the Citrix XML Service and share a port with IIS.
In fact, no separate XML service is running. IIS serves the XML data using an ISAPI filter named Wpnbr.dll located in the \Inetpub\Scripts folder. To remove the Citrix XML Service functionality from your MetaFrame server, simply rename or delete the Wpnbr.dll file.
Lastly, once the XML Service port is changed on the MetaFrame Servers, change NFuse or Web InterFace, MetaFrame Secure Access Manager, or the Program Neighborhood Client to use the new port.
Un-registering the XML Service
1. Open a ‘Command Prompt’ window
2. Run ‘ctxxmlss /u’ (This command will un-register the Citrix XML service and mark it for deletion)
3. Reboot the server
Registering the XML on a port other than sharing with IIS
1. Un-register the service using the instructions above.
2. Open a ‘Command Prompt’ window
3. Run ctxxmlss /r[Port Number] (Notice that there is no space between the switch “/r” and the port number.
4. Reboot the server or open the service control manager and manually start the Citrix XML Service
Registering the XML Service to share the port with IIS 5.0
1. Un-register the service using the instructions above.
2. Copy the files ctxxmlss.txt, clm.dll, wpnbr.dll to the ‘\Inetpub\Scripts’ folder. ***(If you are runningMetaFrame Presentation Server 3.0 then the clm.dll file is no longer needed).***
3. If you are running MetaFrame Presentation Server 3.0 locate the file ctxadmin.dll and copy it to a folder called ctxadmin under \Inetpub\Scripts
4. Open the IIS Manager MMC Snap-in
5. Expand the ‘Default Web Site’
6. Right click on the ‘Scripts’ folder and click on properties
7. On the ‘Virtual Directory’ tab make sure that the ‘Execute Permissions’ field is set to ‘Scripts and Executables’
8. Open a Command Prompt windows
9. Run the command ‘iisreset’ (Be aware that this command will restart all IIS related services)
Registering the XML Service to share the port with IIS 6.0
By default when installing IIS 6.0 the virtual Scripts Folder is not created
1. Un-register the service using the instructions above.
2. Navigate to the ‘\Inetpub’ folder and create a new folder with the name of ‘Scripts’
3. Open the IIS Manager MMC Snap-in
4. Right click on the ‘Default Web Site’ and select New | Virtual Directory…
5. Click Next
6. Under Alias: type the name ‘Scripts’ and click Next
7. Under Path: type Drive Letter:\Inetpub\Scripts and click Next
8. Under Allow the following permissions: make sure that the following are selected
a. Read
b. Run Scripts (such as ASP)
c. Execute (such as ISAPI applications or CGI)
9. Click Next and click Finish
10. Right click on the Scripts virtual directory and go to Properties
11. Under the Virtual Directory tab make sure that the Execute Permissions: field is set to Scripts and Executables
12. Under the Directory Security tab click on Edit… under Authentication and Access Control and make sure that the Enable anonymous access check box is checked
13. Now copy the files ctxxmlss.txt, clm.dll, wpnbr.dll to the newly create Scripts folder under the Inetpub folder.***(If you are running MetaFrame Presentation Server 3.0 then the clm.dll file is no longer needed).***
14. If you are running MetaFrame Presentation Server 3.0 locate the file ctxadmin.dll and copy it to a folder called ctxadmin under \Inetpub\Scripts
15. In IIS Admin right click Web Service Extensions, select Add a new web service extension. Type the nameCitrix XML ISAPI in the Extension name field and hit add. In the Add File popup window, type in or browse to the location of the wpnbr.dll file. Then finish by checking the Set the extension status to allowed box.
16. For MetaFrame Presentation Server 3.0 In IIS Admin right click Web Service Extensions, select Add a new web service extension. Type the name Citrix XML Administration ISAPI in the Extension name field and hitadd. In the Add File popup window, type in or browse to the location of the ctxadmin.dll file. Then finish by checking the Set the extension status to allowed box.
17. Run the command ‘iisreset’ (Be aware that this command will restart all IIS related services)
Note: The file ‘ctxxmlss.txt’ is located in the ‘Program Files\Citrix\System32’ folder and the files ‘clm.dll’ and wpnbr.dll are located in the ‘%SYSTEMROOT%\System32’ folder
With MetaFrame Presentation Server 3.0 all the files required are located in ‘Program Files\Citrix\System32’
 WI_xxxxxx? IS there a way to do it so I can still use Workspace Control? 
How do I make Web Interface display the client name in the printers applet instead of



When workspace control is enabled connections via the web interface get named with a WI_ and various letters afterwords. It makes it very difficult for users to figure out what printer is theirs if there are multiple printers available to the user.
The following KB article from Citrix explains how to modify this behavior, following the article is a "hack" by thinfan to allow workspace control to still be enabled but still show workstation client name.
CTX103674 - Effects of Removing the Client Name Tag in Web Interface 3.0

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


Document ID: CTX103674, Created on: Apr 14, 2004, Updated: Apr 14, 2004

Products: Web Interface for MetaFrame Presentation Server 3.0

Summary

When the workspace control feature is enabled, Web Interface 3.0 produces random client names for each user.
For example, the client name that appears in the Management Console for MetaFrame and in client printer names
within the user’s session will be a string such as WI_dAYSH5XuZ//+a3jGPEO0.

Administrators who want to use the workstation name as the client name can do so by removing the line
ClientName=[NFuse_ClientName] from the /Citrix/MetaFrame/conf/template.ica file on the server running
Web Interface 3.0. However, removing the ClientName=[NFuse_ClientName] line from Template.ica
has negative effects on some features of Web Interface 3.0.

CTX859359 – How the Win32 ICA Client determines the value for ClientName

Details

The load balancing logic for session reconnects relies in part of the ClientName variable. Type QFARM /DISC
on a MetaFrame Presentation Server to view the list of disconnected sessions and their associated client names.

When the client name generated by Web Interface does not match the client name used by the ICA client,
users are directed to the least busy server in the farm instead of the server where their disconnected session resides.

Unique client names for each device are needed to facilitate the Workspace Control feature introduced in
Web Interface 3.0. When workspace control is enabled, users click a Disconnect or Log Off button on the Web Interface,
causing all of their client sessions to be disconnected or logged off.

So not to disturb other sessions that the user may have running from other client devices, Web Interface
uniquely identifies each client device using a randomly generated client name. Web Interface includes the
generated client name when sending a disconnect or logoff request to the server farm.
The MetaFrame farm disconnects or logs off only from client sessions running with the generated client name.

If the [NFuse_ClientName] tag is removed from Template.ica, the device name or a name of the user’s choosing
is used as the client name within client sessions. However, the Web Interface server, which cannot detect the
device name, continues to use a randomly generated client name when sending
workspace control requests to the farm. Therefore, the disconnect and logoff requests will cease to
function, because the server farm will not contain any sessions that use the random generated client name.

When Reconnect (at logon or by pressing the Reconnect button) is configured to reconnect to both
disconnected and active applications, any active sessions on the current client device are disconnected
and then reconnected if the client name of those sessions does not match the random
client name generated by Web Interface. Users will see those applications disappear and then reappear.

In Web Interface 2.0 and earlier and in Web Interface 3.0 when workspace control is not enabled,
removing the ClientName=[NFuse_ClientName] tag from Template.ica removes the ability of
Web Interface to reconnect a user to a disconnected session.

Additional Information

When workspace control is enabled, Web Interface 3.0 client names are always prefixed with “WI.”
This makes it possible to create MetaFrame policies that apply only to Web Interface users by
defining a wildcard policy filter where the client name is WI_*.

When Workspace Control is not enabled, Web Interface reverts to the legacy behavior of using
Domain-username for the client name. If the domain-user name string exceeds 20 characters, it is
truncated to 14 characters followed by a pound sign or hash ( # ) mark, where the pound sign or hash mark is five
characters that are unique for each user. For example, acmecorp-johannsebastianbach would be converted to
acmec-johannse-cnmbh. The shorter client name allows more readable client printer names.

_________________________________________________________________________________________________________

The below is ThinFan`s hack to enable clientname showing and still have Workspace Control Available.

We modified the Session.cs file
and left workspace control enabled.  Now we get User Name (not
domain-username) for the Client ID AND we have workspace control
still.


Session.cs info:

Here is the original Code

Change these lines to decide how the client name is chosen:

    // Get the client name to use (create a new one, if necessary)
    String clientName = (String)deviceState.get(COOKIE_LOGIN_CLIENT_NAME);
    if (!MPSClientNames.isValidUniqueName(clientName)) {
        if( config.getWorkspaceControlConfiguration().getEnabled() ) {
            clientName = MPSClientNames.generateUnique();
            deviceState.put(COOKIE_LOGIN_CLIENT_NAME, clientName); // Remember for future sessions
        } else {
            // Use the old client name format when Workspace Control is disabled for
            // compatibility (MPS/U and MF1.8 need the old format to do roaming
            // reconnection).
            clientName = MPSClientNames.fromAccessToken( accessToken );
        }
    }

For example, replacing the lines above with this should always use the
client name derived from the username:

    // Always determine the client name from the user`s identity
    String clientName = MPSClientNames.fromAccessToken( accessToken );
------------------------
Note the above method shows domain/Username as the printer name. If you do not want the domain use the below code:

  // Always determine the client name from the user`s identity

    String clientName = MPSClientNames.fromAccessToken( accessToken );

              String[] client = clientName.Split(`-`);  

                        clientName = client[1];

                        deviceState.put(COOKIE_LOGIN_CLIENT_NAME, clientName);

All disclaimers apply. Use this tip at your own risk!

What is the Local Host Cache? How do I recreate the Local Host cache? 



The following Citrix Knowledge Base article may prove helpful:
CTX759510 - Function of the Local Host Cache on MetaFrame XP

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


Document ID: CTX759510, Created on: Jun 7, 2001, Updated: Nov 5, 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

Each MetaFrame XP server stores a subset of the data store in the Local Host Cache (LHC). The LHC performs two primary functions:

• Permits a server to function in the absence of a connection to the data store.

• Improves performance by caching information used by ICA Clients for enumeration and application resolution.

The LHC is an Access database, Imalhc.mdb, stored, by default, in the %ProgramFiles%\Citrix\Independent Management Architecture folder.

The following information is contained in the local host cache:

• All servers in the farm and some basic information.

• All applications published within the farm and their properties.

• All Windows network domain trust relationships within the farm.

• All information specific to itself. (product code, SNMP settings, licensing information)

On the first startup of the member server, the LHC is populated with a subset of information from the data store. From then on,
the IMA service is responsible for keeping the LHC synchronized with the data store. The IMA service performs this task through
change notifications and periodic polling of the data store.

If the data store is unreachable, the LHC contains enough information about the farm to allow normal operations for up to 96
hours on servers running SP2/FR2 or greater. On servers with no service pack or SP1/FR1, the grace period is 48 hours. During
this grace period, the server continues to service requests while the IMA service attempts to connect to the data store
periodically (based on the data store query interval). If the data store is unreachable for 96 hours, the licensing subsystem
fails to verify licensing and the server stops taking incoming connections.

Because the LHC holds a copy of the published applications and Windows domain trust relationships, ICA Client application
enumeration requests can be resolved locally by the LHC. This provides a faster response to the ICA Client for application
enumerations because the local server does not have to contact other
member servers or the zone data collector. The member server must still contact the zone data collector for load management resolutions.

In some instances it can be necessary to either refresh or recreate the local host cache. The sections below describe these situations.

Refreshing the Local Host Cache

If the IMA service is currently running but published applications do not appear correctly in ICA Client application
browsing, force a manual refresh of the local host cache by executing dsmaint refreshlhc from a command prompt on the
affected server. This action forces the local host cache to read all changes
immediately from the data store.

A discrepancy in the local host cache occurs only if the IMA service on a server misses a change event and is not
synchronized correctly with the data store.

Recreating the Local Host Cache

If the IMA service does not start, the cause may be a corrupt LHC.

Recreating the Local Host Cache after a minimum of SP1 has been installed:

Important: The data store server must be available for dsmaint recreatelhc to work. If the data store is not available,
the IMA service will fail to start.

1. Stop the IMA service on the MetaFrame server, if it is started. This can be done via the command line, net stop imaservice,
or from services.

2. From the command line run: dsmaint recreatelhc  which renames the existing LHC database, creates a new database and modifies the following
registry key HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\IMA\Runtime\PSRequired key to 1. Setting the value PSRequired to 1 forces
the server to establish communication with the datastore in order to populate the Local Host Cache database. When the IMA
service is restarted, the LHC is recreated with the current data from the data store.

3. Restart the IMA service. This can be done via the command line, net start imaservice, or from services.

OR

To recreate the LHC database on servers that do not have a minimum of SP1 installed, follow these steps to manually recreate the LHC:

Verify the data store is available before beginning this procedure. If the data store is not available, the IMA service fails to start
until the data store is available.

1. Stop the IMA service on the MetaFrame server, if it is started. This can be done via the command line, net stop imaservice, or
from services.

2. Go to %ProgramFiles%\Citrix\Independent Management Architecture and rename the imalhc.mdb to imlhc.mdb.bak

3 Launch the ODBC Data Source Administrator:

• On Windows 2000, choose Control Panel > Administrative Tools > Data Sources (ODBC).

• On TSE, choose Control Panel > ODBC Data Sources.

3. Select the File DSN tab and browse to %ProgramFiles%\Citrix\Independent Management Architecture.

4. Select the imalhc.dsn file and click Configure.

5. In the Database area, click Create. The New Database dialog box appears.

6. In the Database Name box, type the name imalhc.mdb for the new local host cache database.

7. Click OK to create the database, and then click OK to close the ODBC Data Source Administrator.

8. Open regedt32 and navigate to the following registry key:
 HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\IMA\RUNTIME and modify the
value of PSRequired (REG_DWORD): 0x1

9. Restart the IMA service. This can be done via the command line, net start imaservice, or from services.

IMPORTANT: Restarting the IMA service instead of rebooting might cause the SNMP service to Dr. Watson if SNMP is enabled

No comments:

Post a Comment