StoreFront 3.8 has just been released. It is available for download here. The headline features for this release are:

  • Hosting different stores on different IIS websites
  • Supporting Mozilla Firefox without NPAPI

This post provides a brief introduction to these features.

Hosting different stores on different IIS websites

Since we released the StoreFront 3.1 Tech Preview—which introduced the store-centric administration concept—toward the end of last year, I have been asking customers and partners whether there are still any major blockers for migrating from the good old Web Interface to StoreFront.

The feedback I received suggested that the last major blocker was the lack of capability to host different stores in different IIS websites. I heard that some of our customers even took the extraordinary approach of manually moving files around to make this possible, which rendered their deployment unsupported and difficult to maintain. The use case is primarily for large enterprises and service providers to support different FQDNs and TLS certificates for different stores.

So StoreFront 3.8 formally supports this type of deployment. As the main audience are large enterprises and service providers, who usually automate their deployment by scripting. This type of deployment is currently only configurable by using PowerShell. If you have stores on different IIS websites, the StoreFront Administration Console cannot be used to manage your deployment.

Now, let me show you how to create two stores hosted on two different IIS websites.

As shown in the screen shots below, I have created two IIS Websites: Acme and Worldco. Their site IDs are 2 and 3 respectively. I have bound them to different host names www.acme.com and www.world.com with appropriate TLS certificates.

iis-websites

The following code snippet will create a deployment with a store on the Acme Web Site:

$deployment1 = Add-STFDeployment -SiteId 2 -Confirm:$false -HostBaseUrl "https://www.acme.com"
$auth1 = Add-STFAuthenticationService -SiteId $deployment1.SiteId -VirtualPath /Citrix/Authentication
$store1 = Add-STFStoreService -SiteId $deployment1.SiteId -VirtualPath /Citrix/Store -AuthenticationService $auth1 '
    -FarmName Controller -FarmType XenApp -Servers xa.acme.net
$rfweb1 = Add-STFWebReceiverService -SiteId $deployment1.SiteId -VirtualPath /Citrix/StoreWeb -StoreService $store1
Set-STFWebReceiverCommunication -WebReceiverService $rfweb1 -Loopback On

Add-STFDeployment creates a deployment on the Acme Web Site, which includes an Account Service. Add-STFAuthenticationService creates an Authentication Service. Add-STFStoreService creates a Store Service associated with the Authentication Service and Add-STFWebReceiverService creates a Receiver for Web site for the store. Finally, I use Set-STFWebReceiverCommunication to turn on loopback communication between Receiver for Web and the StoreFront Services.

Similarly, the following code snippet creates a deployment with a store on the Worldco Web Site:

$deployment2 = Add-STFDeployment -SiteId 3 -Confirm:$false -HostBaseUrl "https://www.worldco.com"
$auth2 = Add-STFAuthenticationService -SiteId $deployment2.SiteId -VirtualPath /Citrix/Authentication
$store2 = Add-STFStoreService -SiteId $deployment2.SiteId -VirtualPath /Citrix/Store -AuthenticationService $auth2 '
    -FarmName Controller -FarmType XenDesktop -Servers xd.worldco.net
$rfweb2 = Add-STFWebReceiverService -SiteId $deployment2.SiteId -VirtualPath /Citrix/StoreWeb -StoreService $store2
Set-STFWebReceiverCommunication -WebReceiverService $rfweb2 -Loopback On

The sets of StoreFront Services created in both Web Sites are shown in the screen shots below:

stores
files

For completeness, here are the screen shots to show both working stores:

acme
worldco2

Supporting Mozilla Firefox without NPAPI

As you may have already known, Mozilla plans to remove support for NPAPI in Firefox 53 to be released in April 2017. In anticipation to this change, StoreFront 3.8 implements an alternative support for HDX engine detection and launch similar to what we have implemented for Google Chrome using URI handler. This will automatically activated for Firefox version 53 and later. However, if you would like to try it out now, you can modify the web.config file under the Receiver for Web site to activate it. Simply locate the line highlighted in the screen shot:

webconfigb1
This is a regular expression specifying that the URI handler is used for Firefox 53 and later. Assuming that you want to activate URI handler for the current Firefox version 50, you can change the regular expression to be (Firefox/(([5-9][0-9])|\d\d\d)). Below are the screen shots illustrate the HDX engine detection and download process using the URI handler through Firefox.

When you access the Receiver for Web site for the first time after the URI handler is enabled. You will be prompted to detect receiver.

detectrcv

If native Citrix Receiver is not installed, you will be presented a screen to download Citrix Receiver.

downloadrcv
After you select to agree the Citrix license agreement, you will be prompted by the browser to save the Citrix Receiver installer.

savercv
After you download and run the Citrix Receiver installer, select Continue in the following screen.

continuercv
You will be prompted to open Citrix Receiver Launcher. Please select Open link. For best experience, please also select Remember my choice for receiver links.
protocolhandler
After Citrix Receiver Launcher is run, you will be prompted to log in.

login

Summit banner