IAG 2007 Community Wiki

Citrix XenDesktop is an user-centric desktop virtualization solution that provides a complete system for desktop delivery. XenDesktop dynamically assembles virtual desktops on-demand, providing users a new personalized desktop each time they log on. Cirtix works similarly to Citrix Presentation Server where the user first login to a web page for authentication and then fetch the Virtualized Desktop using the ICA protocol.

Steps: (All files are pasted below)

  • Copy the SSLVPNTemplate.XML into 'c:\Whale-Com\e-Gap\von\conf\customupate'
  • Copy the 'WizardDefaultParam.ini' into 'c:\Whale-Com\e-Gap\von\conf\wizarddefaults\customupdate'
  • Copy the 'FormLogin.xml' into 'c:\Whale-Com\e-Gap\von\conf\FormLogin\customupdate'
  • Copy the 'WhlFiltSecureRemote_HTTPS.xml' into 'c:\Whale-Com\e-Gap\von\WebSites\\conf\customupdate'I found this to be in C:\Whale-com\e-Gap\von\conf\WebSites\\conf\CustomUpdate - DHW



IAG Configuration:

  • Login to the IAG GUI
  • Add a Browser-Embeded application
  • Select Citrix Xendesktop template
  • In Server Settings, make sure you include all IPs/hosts for the Virtualized Desktops.
  • Activate an select the second check option, 'Apply changes made to the external configuration settings'



Content of 'SSLVPNTemplate.XML':

<config>

                <templates>
<!--
*********************************************************************************
** Citrix XenDesktop Server                                                    **
*********************************************************************************
-->

<!-- Auto-Sense mode                                                          -->
<template name="CitrixXenDesktop" wfehandler="yes" userrights="0" use-with-lsp="yes" default="yes"><!--All Platforms-->
<port id="0" remoteport="1494,2598" flags="73" default="yes"/><!--All Platforms-->
</template>
                </templates>

                <content-filters>
                </content-filters>

                <access-lists>
                </access-lists>

   <WFEConfiguration>

      <!-- Citrix XenDesktop configuration handler -->
      <Handler Type="INIFile" Template="CitrixXenDesktop"><!--All Platforms-->
         <Constraints Operator="AND">
            <Constraint Type="URL">
               <URL Host=".*">/Citrix/.*launch.*.(asp|ica).*</URL>
            </Constraint>
            <Constraint Type="ContentType">
               <ContentType>application/x-ica</ContentType>
            </Constraint>
           <Constraint Type="ApplicationType">
                  <ApplicationType>CitrixXenDesktop</ApplicationType>
          </Constraint>
         </Constraints>
         <Data>
                                                <!-- References used later on -->
                                                <References>
                                                                <Reference name="DisableMappedPrinters" type="SessionVariable">
                                                                                <Container index="Pol_DisableCitrixMappedPrinters"/>
                                                                </Reference>
                                                                <Reference name="WIO" type="SessionVariable">
                                                                                <Container index="eGapComponents_WIOC_Running"/>
                                                                </Reference>
                                                </References>

                                                <!-- Forces removal of ICA file -->
            <ValueChange condition="WIO" positiveLogic="false">
               <SectionName>WFClient</SectionName>
               <ValueName>RemoveICAFile</ValueName>
               <Value>yes</Value>
            </ValueChange>
                                                <!-- Proxy* settings for Citrix clients with version 7.0 or higher to use HTTPS proxy -->
            <ValueChange condition="WIO" positiveLogic="false">
               <SectionName expression="true">.*</SectionName>
               <ValueName>ProxyType</ValueName>
            </ValueChange>
            <ValueChange condition="WIO" positiveLogic="false">
               <SectionName>WFClient</SectionName>
               <ValueName>ProxyType</ValueName>
               <Value>Secure</Value>
            </ValueChange>
            <ValueChange condition="WIO" positiveLogic="false">
               <SectionName>WFClient</SectionName>
               <ValueName>ProxyHost</ValueName>
               <Value>127.0.0.1:10081</Value>
            </ValueChange>
                                                <!-- This configures SOCKS settings for older clients -->
            <ValueChange condition="WIO" positiveLogic="false">
               <SectionName>WFClient</SectionName>
               <ValueName>ICASOCKSProtocolVersion</ValueName>
               <Value>5</Value>
            </ValueChange>
            <ValueChange condition="WIO" positiveLogic="false">
               <SectionName>WFClient</SectionName>
               <ValueName>ICASOCKSProxyHost</ValueName>
               <Value>127.0.0.1</Value>
            </ValueChange>
            <ValueChange condition="WIO" positiveLogic="false">
               <SectionName>WFClient</SectionName>
               <ValueName>ICASOCKSProxyPortNumber</ValueName>
               <Value>1081</Value>
            </ValueChange>
                                                <!-- AttachmentWiper helper - configures cache directory -->
            <ValueChange>
               <SectionName>WFClient</SectionName>
               <ValueName>PersistentCachePath</ValueName>
               <Value>..\WhlCitrixCache</Value>
            </ValueChange>
                                                <!-- Client printer mapping -->
                                                <ValueChange condition="DisableMappedPrinters">
               <SectionName>WFClient</SectionName>
               <ValueName>CPMAllowed</ValueName>
               <Value>Off</Value>
            </ValueChange>
            <ValueChange condition="DisableMappedPrinters">
               <SectionName>WFClient</SectionName>
               <ValueName>VSLAllowed</ValueName>
               <Value>Off</Value>
            </ValueChange>
         </Data>
      </Handler>

      <!-- Citrix XenDesktop Embedded clients handler -->
      <Handler Type="Applet" Template="CitrixXenDesktop"><!--All Platforms-->
         <Constraints Operator="AND">
            <Constraint Type="URL">
               <URL Host=".*">/Citrix/.*appembed.*\.asp.*</URL>
            </Constraint>
           <Constraint Type="ApplicationType">
                 <ApplicationType>CitrixXenDesktop</ApplicationType>
          </Constraint>

         </Constraints>
                                  <Data>
                                                 <Applet>
                                                                <Constraint name="name" value="javaclient"/>
                                                                <Constraint name="code" value="com.citrix.ConnectionCenter"/>
                                                                <ParamChange name="ProxyType" value="socksv5" condition="eGapComponents_WIOC_Running" positiveLogic="false"/>
                                                                <ParamChange name="ProxyHost" value="127.0.0.1:1081" condition="eGapComponents_WIOC_Running" 

positiveLogic="false"/>
                                                                <!-- Disable (semi) automatically created printers based on policy -->
                                                                <ParamChange name="user.localclientprinters" value="" condition="Pol_DisableCitrixMappedPrinters"/>
                                                 </Applet>
                                  </Data>
                  </Handler>
   </WFEConfiguration>

</config>




Content of 'WizardDefaultParam.ini' :

Application_List
NumOfApps=1
App1=CitrixXenDesktop

CitrixXenDesktop
EE=1
Name=Citrix XenDesktop Server
AppType=2
WhaleApp=0
Types=1,2
LegalCharsSet=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:@&=$+_-!',;~{}/
DangerousCharsSet=/\\:*?""<>|.%
DangerousCharsIncludeNull=1
ParamNameCaseSensitive=0
ParamValCaseSensitive=0
UrlCaseSensitive=0
AllowWebdav=0
PassLogoffToRWS=0
ReplyToAuth=0
UseSNT=0
Image=images/AppIcons/Citrix.gif
SSLVpnTemplate=CitrixXenDesktop
SSLVpnContentType=application/x-ica
SSLVPNNumOfElements=2
SSLVPNElement0ID=0IPBIND
SSLVPNElement1ID=0
0IPBINDName=Citrix VDI Servers:
0IPBINDType=0
0IPBINDGuiType=2
0IPBINDValidation=IP/DNS NotEmpty
0Name=Citrix VDI Ports:
0Type=1
0GuiType=0
0Value=1494,2598,3389,80,443
0Validation=Ports
OpenNewPage=1
FormLogin=1
ReplyToAuthType=1
UseLLNMode=1
ShowNote=2
ActivateSmugglingProtection=1
MaxHTTPBodySize=49152
ContentTypeList=application/x-www-form-urlencoded|multipart/form-data




Content of 'WhlFiltSecureRemote_HTTPS.xml':
<WHLFILTSECUREREMOTE ver="2.2">
    <DATA_CHANGE>
                <!-- To fix the Citrix XenDesktop's initial client detection that occurs prior to displaying the login page -->
                                <APPLICATION>
                <APPLICATION_TYPE>CitrixXenDesktop</APPLICATION_TYPE>
                   <URL>
                    <NAME>.*silentDetection.aspx.*</NAME>
                     <ADD_SIGNATURE encoding="" location="before">/Citrix/DesktopWeb/");</ADD_SIGNATURE>
                   </URL>
                </APPLICATION>
   </DATA_CHANGE>
</WHLFILTSECUREREMOTE>

Content of 'Formlogin.XML' :

<WHLFILTFORMLOGIN ver="1.0">
          <APPLICATION>
                  <!-- The Application tag was missing - DHW -->
               <APPLICATION_TYPE>CitrixXenDesktop</APPLICATION_TYPE>
                                <USAGE description="form_login">
                                <PRIMARY_HOST_URL><![CDATA[/Citrix/.*/auth/login.aspx]]></PRIMARY_HOST_URL>
                                <SECONDARY_HOST_URL><![CDATA[/Citrix/.*/auth/login.aspx]]></SECONDARY_HOST_URL>
                                <SECONDARY_HOST_URL><![CDATA[/Citrix/.*/auth/login.aspx]]></SECONDARY_HOST_URL>
                                <USER_AGENT>
                                                <AGENT_TYPE search="group">all_supported</AGENT_TYPE>
                                                <POLICY>multiplatform</POLICY>
                                </USER_AGENT>
                                <MULTIPLE_LOGIN>true</MULTIPLE_LOGIN>
                                <LOGIN_FORM>
                                                <NAME>CitrixForm</NAME>
                                                <METHOD>POST</METHOD>
                                                <CONTROL handling="dummy_value">
                                                                <TYPE>USER_NAME</TYPE>
                                                                <NAME>user</NAME>
                                                                <DEF_VALUE>whaleusr</DEF_VALUE>
                                                </CONTROL>
                                                <CONTROL handling="dummy_value">
                                                                <TYPE>PASSWORD</TYPE>
                                                                <NAME>password</NAME>
                                                                <DEF_VALUE>whlpass</DEF_VALUE>
                                                </CONTROL>
                                                <CONTROL handling="dummy_value">
                                                                <TYPE>DOMAIN</TYPE>
                                                                <NAME>domain</NAME>
                                                                <DEF_VALUE>whldomain</DEF_VALUE>
                                                </CONTROL>
                                                <LOGIN_EVALUATOR indicate="failure">
                                                                <SEARCH encoding="">ERROR:</SEARCH>
                                                                <SEARCH encoding="">credentials supplied were invalid</SEARCH>
                                                </LOGIN_EVALUATOR>
                                </LOGIN_FORM>
                                </USAGE>
                </APPLICATION>
</WHLFILTFORMLOGIN>

ScrewTurn Wiki version 2.0.22. Some of the icons created by FamFamFam. Here's an Imprint.
This site is not affiliated with, sponsored by or under the control of Microsoft Corporation. Microsoft is not responsible for any content contained within this web site. This site is not endorsed by Microsoft Corporation. Microsoft™, IAG 2007™, ISA Server™, Windows™ are either registered trademarks or trademarks of Microsoft™ Corporation in the United States and/or other countries.

See the Code of Conduct and Site FAQ for additional information.