Citrix XenApp 6, IIS 7.0 and port 80….

In my homelab i’ve been installing a new Citrix XenApp 6 environment. Installation went fine, but when I put the URL into a browser i got the following message:

Websitewrong

During my investigation of what the problem was, I noticed on the IIS server the Default Web Site had a stop sign:

WEbsitestop

In the event viewer I noticed a Event ID 1004 for the IIS service.

001

Searching this problem on Google I found this might involve a different service using Port 80. To solve this problem we need to know which service is causing this problem. To do so you need to do the following steps:

  • Open a command prompt and execute: netstat -ano

CMD

  • Let’s s check PID 1976 through taskmanager:

Taskmgr

  • So it’s Citrix XenApp XML service, let’s solve the problem by setting the XML service to share with IIS. First we’ll have to stop the XML service. To do so, open the command prompt and execute the following line: net stop ctxhttp

Stophttpservice

  • At the command prompt, uninstall the Citrix XML Service: ctxxmlss /u

uninstallxml

  • Copy the following files to the IIS scripts directory on your Web server:
    ctxconfproxy.dll
    ctxsta.config
    ctxsta.dll
    ctxxmlss.exe
    ctxxmlss.txt
    radexml.dll
    wpnbr.dll
    You can find these files in \Program Files (x86)\Citrix\System32. The default scripts directory is \Inetpub\AdminScripts.

Copy

  • In the IIS scripts directory, create a folder called ctxadmin and copy the file ctxadmin.dll from \Program Files (x86)\Citrix\System32 to \Inetpub\AdminScripts\ctxadmin

Ctxadmin

  • Let’s make sure the copied files have the appropriate rights. Open the IIS Manager (Step 1):

IISstep123

  • In the IIS Manager select the IIS server (Step 2), and in the IIS server Home page right click the Isapi and CGI Restrictions, and click Open Feature (Step 3). The Isapi and GCI Restrictions screen will open, in which we will add the dll files we’ve added before:

IISadd

  • After we’ve clicked add the Add Isapi or CGI restrictions window appears click on the button with the 3 dots and navigate to the ctxconfproxy.dll file. double click and make sure the Allow extension path to execute is selected before clicking OK:

IISadd2

  • Repeat the above steps to add and allow the following ISAPI extensions:
    \inetpub\scripts\ctxsta.dll
    \inetpub\scripts\radexml.dll
    \inetpub\scripts\wpnbr.dll
    \inetpub\scripts\CtxAdmin\ctxadmin.dll

IISadd3

  • In the left side window right-click Application Pool and click Add Application Pool.

IISadd4

  • In the Add Application Pool dialogue box under Name type CtxScriptsPool, in .NET Framework version, select .NET Framework v2.0.50727, select Classic in Managed pipeline mode, check Start application pool immediately and click OK.

IISadd5

  • Repeat the procedure to create a CtxAdminPool:

IISadd6

  • To make sure the newly created CtxScriptsPool starts automatically go to the Application Pool and click Advanced Settings.

IISadd7

  • Go to Process Model – Identity and change the builtin account to NetworkService.

IISadd8IISadd9

  • Repeat this proces for the CtxAdminpool.
  • After this is done right-click the Default Web Site and click Add Application, in the left side pane:

006

  • In the Add Application dialogue box, type in Scripts for Alias, select CtxScriptsPool for Application Pool, browse to C:\inetpub\AdminScripts for Physical path, and click OK.

ctxscriptpool

  • Repeat this for the CtxAdminPool. In the Add Application dialogue box, type in CtxAdmin for Alias, select CtxAdminPool for Application Pool, browse to C:\inetpub\AdminScripts\ctxadmin for Physical path, and click OK.

Ctxadmin1

  • In the left side pane, right-click the Scripts application and click Add Virtual Directory.

007

  • In the Add Virtual Directory dialogue box, type in CtxIntegrated for Alias, browse to C:\inetpub\AdminScripts\ for Physical path, and click OK.

008

  • In the left side pane, double-click to select the Scripts application and in the center pane, double-click Handler Mappings.

009

  • From the left side pane, click on Edit Feature Permissions, check Execute in the Edit Feature Permissions dialogue box, and click OK.

010

  • Confirm that the ISAPI-Dll mapping is Enabled for the CtxAdmin application (This should be the case because the setting is inherited from the Scripts application).

011

  • At a command prompt, stop and restart the Web server by typing: iisreset. This setting takes effect after the Web server restarts.

The result:

Done