Jump to content
Welcome to our new Citrix community!

Default to Full Receiver without Client Detection

IS Infrastructure

Recommended Posts

Hi Guys,


I have disabled client detection on Storefront 3.11 as it causes an issue with our thin clients. We want to have the full receiver be the default option but still allow our users to select the light (html5) client if they wish.


As client detection is disabled Chrome and Firefox both default to the light client now. Is there any way to change to default to the full client?


Here is what were have in the web config:


          <html5 enabled="Fallback" platforms="Firefox;Chrome;Version/([6-9]|\d\d).*Safari;MSIE \d\d;Trident/([6-9]|\d\d);Android;iPad;iPhone;iPod;"
            launchURL="clients/HTML5Client/src/SessionWindow.html" preferences=""
            singleTabLaunch="false" chromeAppOrigins="chrome-extension://haiffjcadagjlijoggckpgfnoeiflnem"
            chromeAppPreferences="" />
          <protocolHandler enabled="false" platforms="(Macintosh|Windows NT).*((Firefox/((5[2-9]|[6789][0-9])|\d\d\d))|(Chrome/((4[2-9]|[56789][0-9])|\d\d\d)))"
            skipDoubleHopCheckWhenDisabled="true" />


ideally if users with Chrome or FF login and don't change anything we want it to use the full client or assume that it's installed. But we also want them to be able to change it to light and login if they so desire.


Any help is appreciated!


~ Shaun


Link to comment
Share on other sites

  • 9 months later...

Realize this is a little old, but see no response to it...I couldn't find an easy way with StoreFront, but if you have a NetScaler you can use these two commands to create a rewrite action/policy:


add rewrite action InsertPreferredClient insert_http_header Set-Cookie "\"CtxsUserPreferredClient=Native\""
add rewrite policy Preferred_Client_Not_Set "HTTP.REQ.COOKIE.NAMES.CONTAINS(\"CtxsClientDetectionDone\").NOT &&  http.req.url.endswith(\"/Citrix/<store>Web/\")" InsertPreferredClient


Note to change the "<store>Web" to match your StoreFront configuration.


Then bind it to your vserver(s) as appropriate for your environment.

Link to comment
Share on other sites

Hi Dennis,


I am sure I am missing something obvious, but I can't get this to work. I created the policies as below (here is the output from the running config) and bound to our SF VIP (LB-vserver-sf-prod). The Store URL is: http://VIPFQDN/Citrix/CRCSCitrixStoreFrontWeb


add rewrite action act_rewrite_prefer_nativeclient insert_http_header Set-Cookie "\"CtxsUserPreferredClient=Native\""
add rewrite policy pl_rw_prefernativeclient "HTTP.REQ.COOKIE.NAMES.CONTAINS(\"CtxsClientDetectionDone\").NOT && HTTP.REQ.URL.ENDSWITH(\"/Citrix/CRCSCitrixStoreFrontWeb/\")" act_rewrite_prefer_nativeclient
bind lb vserver LB-vserver-sf-prod -policyName pl_rw_prefernativeclient -priority 100 -gotoPriorityExpression END -type REQUEST


Note we are using AGEE and not going direct to SF. Anything jump out as an issue?



Link to comment
Share on other sites

  • 11 months later...

I hope you figured this out since it's been nearly a year now...sorry, I didn't see this earlier...


What I do see though is the bind point...I have mine bound to the Citrix Gateway vServer, not the StoreFront vServer.


Also, found some issues with the cookie expiration time not being set, which made it a session cookie of course...Set my action to be:

add rewrite action InsertPreferredClient insert_http_header Set-Cookie "\"CtxsUserPreferredClient=Native; expires=\" + SYS.TIME.ADD(33557600 ).TYPECAST_TIME_AT"

Link to comment
Share on other sites


This topic is now archived and is closed to further replies.

  • Create New...