Explaining the XML Service
The Citrix XML Service was introduced with MetaFrame 1.8 Service Pack 2 and a Feature Release 1 license needed to be installed. MetaFrame XP and later incorporates the Citrix XML Service as a standard feature.
When MetaFrame 1.8 Service Pack 2 or later is installed and the server rebooted, the Citrix XML Service binaries are 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 ctxxmlss command.
Unlike MetaFrame XP or later, 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 appears in the Services Applet and registry entries are created. Ensure this service is started.
To determine which port is being used, either look in the Citrix Management Console (MetaFrame XP and later) 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, change 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.
Unregistering the XML Service
1. Open a command Prompt window.
2. Run ctxxmlss /u (This command will unregister the Citrix XML Service and mark it for deletion).
3. Reboot the server.
Registering the XML Service on a port other than sharing with IIS
1. Unregister the service using the previous instructions.
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. Unregister the service using the previous instructions.
2. Copy the files ctxxmlss.txt, clm.dll, wpnbr.dll to the \Inetpub\Scripts folder. ***(If you are running MetaFrame Presentation Server 3.0 then the clm.dll file is no longer needed).***
3. If you are running MetaFrame Presentation Server 3.0 or Citrix Presentation Server 4.0, locate the file ctxadmin.dll and copy it to a folder called ctxadmin under \Inetpub\Scripts.
4. If you are running Citrix Presentation Server 4.0, locate the files ctxconfproxy.dll,ctxsta.dll,ctxsta.config and copy them to \Inetpub\Scripts.
5. Open the IIS Manager MMC Snap-in.
6. Expand the Default Web Site.
7. Right-click the Scripts folder and click Properties.
8. On the Virtual Directory tab make sure that the Execute Permissions field is set to Scripts and Executables.
9. Open a command prompt window.
10. Run the iisreset command (be aware that this command will restart all IIS-related services).
Registering the XML Service to share the port with IIS 6.0
For Citrix Presentation Server 4.0 on Windows 2003, refer to CTX107683 – How to Configure the XML Service to Share with IIS.
Otherwise, follow these steps:
By default when installing IIS 6.0 the virtual Scripts Folder is not created.
1. Unregister the service using the previous instructions.
2. Navigate to the \Inetpub folder and create a new folder named Scripts.
3. Open the IIS Manager MMC Snap-in.
4. Right-click 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 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 Edit… under Authentication and Access Control and make sure that the Enable anonymous access check box is selected.
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 name Citrix XML ISAPI in the Extension name field and click Add. In the Add File popup window, type in or browse to the location of the wpnbr.dll file. Then finish by selecting the Set the extension status to allowed check 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 click Add. In the Add File popup window, type in or browse to the location of the ctxadmin.dll file. Then finish by selecting the Set the extension status to allowed check box.
17. Run the iisreset command (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.