During a recent project Citrix Receiver for Windows RT version 1.2 was released to the public and by lucky coincidence a majoy stakeholder in the project happened to be the proud owner of a Windows Surface RT which seemed like an ideal opportunity to try out the new Web Interface support for Windows RT.
Now being honest I have not got this working when users are logging in via the Metro Citrix Receiver app but in my defence I was quite busy. I did however manage to provide access for Windows RT web browsers via Web Interface. Now I know that doesn’t sound ground breaking, and thats because it isn’t really, but it is blog worthy simply because it does not work as I’d expected out of the box.
The reason for this is that we weren’t using Web Interface 5.4 hosted on a Windows Server, we had deployed our NetScalers with Web Interface on NetScaler (WIoNS). An unexpected side effect being I’d not taken into consideration that the default rewrite policies, created when selecting the ‘Enable Access through Citrix Receiver’ tick box in the WIoNS wizard, would not apply to this new mysterious Windows RT browser.
Essentially the issue is although applications are enumerated on the Web Interface page when you attempt to launch an application all you’re met with a short period of Internet Explorer loading ‘launcher.jsp’ and nothing more.
Once the following rewrite policies are applied ICA access via Windows RT web browsers shoudl work as expected (i.e. browse to the Access Gateway Vserver FQDN from the Windows RT web browser, log into the Access Gateway logon page and launch applications from the Web Interface)
set rewrite policy rw_wi_200_by_ipad_iphone -rule "HTTP.RES.STATUS.EQ(200) && HTTP.REQ.URL.CONTAINS("launcher.jsp") && (HTTP.REQ.HEADER("User-Agent").CONTAINS("iPad") || HTTP.REQ.HEADER("User-Agent").CONTAINS("Safari") || HTTP.REQ.HEADER("User-Agent").CONTAINS("Windows RT") || HTTP.REQ.HEADER("User-Agent").CONTAINS("iPhone")) "
set rewrite policy rw_wi_302_by_ipad_iphone -rule "(HTTP.RES.STATUS.EQ(302) || HTTP.RES.STATUS.EQ(200)) && HTTP.REQ.URL.SUFFIX.EQ("jsp") && (HTTP.REQ.HEADER("User-Agent").CONTAINS("iPad") || HTTP.REQ.HEADER("User-Agent").CONTAINS("Safari") || HTTP.REQ.HEADER("User-Agent").CONTAINS("Windows RT") || HTTP.REQ.HEADER("User-Agent").CONTAINS("iPhone")) && HTTP.RES.HEADER("Location").CONTAINS("/site/launch.jsp?CTX_UID=")"
Hopefully this helps someone else.
I’ve not given up on access via the Metro Citrix Receiver I’ve just run out of time to test. Once I rebuild by test XenServer environment I’ll give it another go.
For those with slightly older environments I can confirm browser access from Windows RT was tested and does work with Access Gateway 9.1 104.5 and Web Interface on Windows 5.3 although it’s not supported. This isn’t subject to the same issue as the Web Interface is not hosted on the NetScaler. Again not a ground breaking result but it’s just something else we tested briefly when we had the chance.