Install, set up, upgrade, and uninstall

Before installing and configuring

To install and configure StoreFront, complete the following steps in order:

  1. If you plan to use StoreFront to deliver Citrix Virtual Apps and Desktops resources to users, ensure that the StoreFront server is joined to either the Microsoft Active Directory domain containing your users’ accounts or a domain that has a trust relationship with the user accounts domain.

    Important:

    • For single server deployments you can install StoreFront on a non-domain-joined server.
    • StoreFront cannot be installed on a domain controller.
  2. If not already present, StoreFront requires Microsoft .NET Framework, which can be downloaded from Microsoft. You must have Microsoft .NET installed before you can install StoreFront.

  3. Optionally, if you plan to configure a multiple server StoreFront deployment, set up a load balancing environment for your StoreFront servers.

    To use Citrix ADC for load balancing, you define a virtual server to proxy your StoreFront servers. For more information on configuring Citrix ADC for load balancing, see Load balancing with Citrix ADC.

    1. Ensure that load balancing is enabled on your Citrix ADC appliance.

    2. For each StoreFront server, create individual HTTP or SSL load balancing services, as appropriate, using the StoreFront monitor type.

    3. Configure the services to insert the client IP address into the X-Forwarded-For HTTP header of requests forwarded to StoreFront, overriding any global policies.

      StoreFront requires users’ IP addresses to establish connections to their resources.

    4. Create a virtual server and bind the services to the virtual server.

    5. On the virtual server, configure persistence using either the Client IP or Cookie Insert method. Ensure the Time To Live (TTL) is sufficient to enable users to stay logged on to the server as long as required.

      Persistence ensures that only the initial user connection is load balanced, after which subsequent requests from that user are directed to the same StoreFront server.

  4. Optionally, enable the following features.

    • .NET Framework Features > .NET Framework, ASP.NET

    Optionally, enable the following roles and their dependencies on the StoreFront server.

    • Web Server (IIS) > Web Server > Common HTTP Features > Default Document, HTTP Errors, Static Content, HTTP Redirection

    • Web Server (IIS) > Web Server > Health and Diagnostics > HTTP Logging

    • Web Server (IIS) > Web Server > Security > Request Filtering, Windows Authentication

      The StoreFront installer checks that all the preceding features and server roles are enabled.

  5. Install StoreFront.

    If you intend the server to be part of a server group, both the StoreFront installation location and IIS website settings, physical path and site IDs must be consistent across them.

  6. Optionally, configure Microsoft Internet Information Services (IIS) for HTTPS if you plan to use HTTPS to secure communications between StoreFront and users’ devices.

    HTTPS is required for smart card authentication. By default, Citrix Workspace app requires HTTPS connections to stores. To configure IIS so that you can use an HTTPS hostbaseURL in StoreFront, create an HTTPS binding to the default website and link it to the StoreFront server certificate. For more information about adding HTTPS binding to an IIS site, see Secure your StoreFront deployment.

  7. Ensure your firewalls and other network devices permit access to TCP port 80 or 443, as appropriate, from both inside and outside the corporate network. In addition, ensure that any firewalls or other devices on your internal network do not block traffic to any of the unassigned TCP ports.

    When you install StoreFront, a Windows Firewall rule is configured enabling access to the StoreFront executable through a TCP port randomly selected from all unreserved ports. This port is used for communications between the StoreFront servers in a server group.

  8. If you plan to use multiple Internet Information Services (IIS) websites, after creating the websites in IIS, use the PowerShell SDK to create a StoreFront deployment in each of those IIS websites. For more information, see Multiple Internet Information Services (IIS) websites.

    Note:

    StoreFront disables the management console when it detects multiple sites and displays a message to that effect.

  9. Use the Citrix StoreFront management console to configure your server.

Install StoreFront

Important

To avoid potential errors and data loss when installing StoreFront, ensure all applications are closed and no other tasks or operations are running on the target system.

  1. Download the installer from the download page.

  2. Log on to the StoreFront server using an account with local administrator permissions.

  3. Ensure that the required Microsoft .NET Framework is installed on the server.

  4. Locate CitrixStoreFront-x64.exe, and run the file as an administrator.

  5. Read and accept the license agreement, and click Next.

  6. If the Review prerequisites page appears, click Next.

  7. On the Ready to install page, check the prerequisites and StoreFront components that are listed for installation and click Install.

    Before the components are installed, the following roles are enabled if they are not already configured on the server.

    • Web Server (IIS) > Web Server > Common HTTP Features > Default Document, HTTP Errors, Static Content, HTTP Redirection

    • Web Server (IIS) > Web Server > Health and Diagnostics > HTTP Logging

    • Web Server (IIS) > Web Server > Security > Request Filtering, Windows Authentication

    • Web Server (IIS) > Management Tools > IIS Management Console, IIS Management Scripts and Tools

    The following features are also enabled if they are not already configured.

    • .NET Framework Features > .NET Framework, ASP.NET
  8. When the installation is complete, click Finish. The Citrix StoreFront management console starts automatically. You can also open StoreFront from the Start screen.

    Confirmation dialog

  9. In the Citrix StoreFront management console, click Create a new deployment.

    1. Specify the URL of the StoreFront server in the Base URL box.
    2. On the Store Name page, specify a name for your store, and click Next.

On the Delivery Controllers page, enter details of the Citrix Virtual Apps and Desktops deployments that that provide the resources you want to make available in the store.

  1. Set the Transport type and the Port, such as HTTP and port 80, or HTTPS and port 443, and click OK.

  2. On the Remote Access page, select None. If you are using Citrix Gateway, select No VPN Tunnel and enter your gateway details.

  3. On the Remote Access page, select Create. Once the store has been created, click Finish.

Your store is now available for users to access through the Citrix Receiver for Web site, which enables users to access their desktops and apps through a webpage.

The URL for users to access the Citrix Receiver for Web site for the new store is displayed. For example: example.net/Citrix/StoreWeb/. Log on and you access the new user interface in Citrix Workspace app.

Citrix Receiver for Web site

To install StoreFront at a command prompt

  1. Log on to the StoreFront server using an account with local administrator permissions.

  2. Ensure that the requirements for installation of StoreFront are met before installing StoreFront. Refer to Before installing and configuring for details.

  3. Browse your installation media or download package, locate CitrixStoreFront-x64.exe, and copy the file to a temporary location on the server.

  4. At a command prompt, navigate to the folder containing the installation file and type the following command.

    CitrixStoreFront-x64.exe [-silent] [-INSTALLDIR installationlocation] [-WINDOWS_CLIENT filelocation\filename.exe] [-MAC_CLIENT filelocation\filename.dmg]
    

    Use the -silent argument to silently install StoreFront and its prerequisites. By default, StoreFront is installed at C:\Program Files\Citrix\Receiver StoreFront. However, you can specify a different installation location using the -INSTALLDIR argument, where installationlocation is the directory in which to install StoreFront. If you intend the server to be part of a server group, both the StoreFront installation location and IIS website settings, physical path and site IDs must be consistent across them.

    By default, if a Citrix Receiver for Web site cannot detect Citrix Workspace app on a Windows or Mac OS X device, the user is prompted to download and install the appropriate Citrix Workspace app for their platform from the Citrix website. You can modify this behavior so that users download the Citrix Workspace app installation files from the StoreFront server instead. For more information, see Configure how resources are displayed for users.

    If you plan to make this configuration change, specify the -WINDOWS_CLIENT and -MAC_CLIENT arguments to copy Citrix Receiver for Windows or Citrix Workspace app for Windows, and Citrix Receiver for Mac or Citrix Workspace app for Mac installation files, respectively, to the appropriate location in your StoreFront deployment. Replace filelocation with the directory containing the installation file that you want to copy, and filename with the name of the installation file. Citrix Receiver for Windows or Citrix Workspace app for Windows, and Citrix Receiver for Mac or Citrix Workspace app for Mac installation files are included on your Citrix Virtual Apps and Desktops installation media.

CEIP

If you participate in the Citrix Customer Experience Improvement Program (CEIP), anonymous statistics and usage information are sent to Citrix to improve the quality and performance of Citrix products.

By default, you are automatically enrolled in CEIP when you install StoreFront. The first upload of data occurs approximately seven days after you install StoreFront. You can change this default in a registry setting. If you change the registry setting before installing StoreFront, that value is used. If you change the registry setting before upgrading StoreFront, that value is used.

Warning:

Editing the registry incorrectly can cause serious problems that may require you to reinstall your operating system. Citrix cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. Be sure to back up the registry before you edit it.

Registry setting that controls automatic upload of analytics (default = 1):

```
Location: HKLM:\Software\Citrix\Telemetry\CEIP
Name: Enabled
Type: REG_DWORD
Value: 0 = disabled, 1 = enabled
```

By default, the Enabled property is hidden in the registry. When it remains unspecified, the automatic upload feature is enabled.

Using PowerShell, the following cmdlet disables enrollment in CEIP:
New-ItemProperty -Path HKLM:\SOFTWARE\Citrix\Telemetry\CEIP -Name Enabled -PropertyType DWORD -Value 0

Note:

The registry setting controls the automatic upload of anonymous statistics and usage information for all components on the same server. For example, if you have installed StoreFront on the same server as the Delivery Controller and decide to opt-out of CEIP using the registry setting, the opt-out applies to both components.

CEIP data collected from StoreFront

The following table gives examples of the type of anonymous information collected. The data does not contain any details that identify you as a customer.

Data Description
StoreFront version String denoting the installed version of StoreFront. For example, “3.8.0.0”
Stores count A counter for the number of stores in the deployment.
Server Count in server group A counter for the number of Servers in the Server group.
Delivery Controller Count per store List of numeric values indicating the number of Delivery Controllers available for each store in the Deployment.
HTTPS enabled String denoting whether HTTPS is enabled (“True” or “False”) for the deployment.
HTML5 setting for Citrix Receiver for Web List of Strings denoting the HTML5 Receiver setting (“Always”, “Fallback”, or “Off”) for each Receiver for Web site.
Workspace control enabled for Citrix Receiver/Workspace app List of Booleans denoting whether “Workspace Control” is enabled (“True” or “False”) for each Receiver for Web site.
Remote Access enabled for store List of Strings denoting whether “Remote Access” is enabled (“ENABLED” or “DISABLED”) for each store in the Deployment.
Gateways count A counter for the number of Citrix Gateways configured in the deployment.

Citrix Analytics service

If you are a Citrix Cloud customer and you have an on-premises StoreFront deployment, you can configure StoreFront so that data is sent to the Citrix Analytics service in Citrix Cloud. When configured, Citrix Workspace app—and Citrix Receiver for Web sites accessed from HTML5-compatible browsers—send user events to Citrix Analytics for processing. Citrix Analytics aggregates metrics on users, applications, endpoints, networks, and data to provide comprehensive insights into user behavior. To read about this feature in the Citrix Analytics documentation, see Onboard Virtual Apps and Desktops Sites using StoreFront.

To configure this behavior:

  • Download a configuration file from Citrix Analytics.
  • Import Citrix Analytics data into your on-premises StoreFront deployment using PowerShell.

After StoreFront is configured, Citrix Workspace app can send data from StoreFront stores when the Citrix Analytics service requests it.

Important:

Your StoreFront deployment must be able to contact the following addresses at port 443 for this feature to work properly and consume the Citrix Cloud services:

  • https://*.cloud.com
  • https://*.citrixdata.com

Download the configuration file from Citrix Analytics

Important:

A configuration file containing sensitive information is required for initial configuration. Keep the file safe after downloading. Do not share this file with anyone outside of your organization. After configuration you can delete this file. If you need to reapply the configuration again on another machine, you can download the file again from the Citrix Analytics service management console.

  1. Log on to Citrix Cloud (https://citrix.cloud.com/) using an administrator account.
  2. Select a Citrix Cloud customer.
  3. Open the Citrix Analytics service management console by clicking Manage.

    Analytics tile

  4. In the Citrix Analytics service management console, select Settings > Data Sources.
  5. In the Virtual App and Desktops card, select the () menu icon then select Connect StoreFront deployment.
  6. On the Connect StoreFront Deployment page, select Download File to download the StoreFrontConfigurationFile.json file.

Example configuration file

{
  "customerId": "<yourcloudcustomer>",
  "enablementService": " https://api.analytics.cloud.com /casvc/<yourcloudcustomer>/ctxana/v1/cas/<yourcloudcustomer>/XenDesktop/<deviceid>/dsconfigdata",
  "cwsServiceKey": "PFJTPn…….. T4=",
  "enablementServiceStatus": " https://api.analytics.cloud.com /casvc/<yourcloudcustomer>/ctxana/v1/cas/storefront/config",
  "instanceId": "d98f21d0-56e0-11e9-ba52-5136d90862fe",
  "name": "CASSingleTenant"
}

where

customerId is the unique ID for the current Citrix Cloud customer.

cwsServiceKey is a unique key identifying the current Citrix Cloud customer account.

instanceID is a generated ID used to sign (secure) requests made from Citrix Workspace app to Citrix Analytics. If you register multiple StoreFront servers or server groups with Citrix Cloud, then each one has a unique instanceID.

Import Citrix Analytics data into your StoreFront deployment

  1. Copy the StoreFrontConfigurationFile.json file to a suitable folder on the on-premises StoreFront server (or one server in a StoreFront server group). The following commands assume that the file is saved to the Desktop.
  2. Open PowerShell ISE and select Run as Administrator.
  3. Run the following commands:

    Import-STFCasConfiguration -Path "$Env:UserProfile\Desktop\StoreFrontConfigurationFile.json"
    Get-STFCasConfiguration
    
  4. This command returns a copy of the imported data and displays it in the PowerShell console.

    get stf cas configuration

Note:

On-premises StoreFront servers, which are installed on Windows Server 2012 R2, may require the C++ run time software components to be manually installed, so that they can register with CAS. If StoreFront is installed during Citrix Virtual Apps and Desktops installation, this step is not required, because the CVAD metainstaller already installs the C++ run time components. If StoreFront is installed using just the CitrixStoreFront-x64.exe metainstaller without the C++ runtime, it may fail to register with Citrix Cloud after you have imported the CAS configuration file.

Propagate Citrix Analytics data to a StoreFront server group

If you are performing these actions on a StoreFront server group, you must propagate the imported Citrix Analytics data to all members of the server group. This step is not necessary in a single StoreFront server deployment.

To propagate the data, use one of the following approaches:

  • Use the StoreFront management console.
  • Use the PowerShell cmdlet Publish-STFServerGroupConfiguration.

Check StoreFront server group ID

To check whether your deployment has successfully registered with the Citrix Analytics service, you can use PowerShell to discover the ServerGroupID for your deployment.

  1. Log on to your StoreFront server, or to one StoreFront server in the server group.
  2. Open PowerShell ISE and select Run as Administrator.
  3. Run the following commands:

    $WebConfigPath = "C:\Program Files\Citrix\Receiver StoreFront\Framework\FrameworkData\Framework.xml"
    $XMLObject = (Get-Content $WebConfigPath) -as [Xml]
    $XMLObject.framework.properties.property
    

    For example, these commands generate output like the following:

    name value
    ---- -----
    ClusterId 8b8ff5c8-44ba-46e4-87f0-2df8cff31432
    HostBaseUrl https://storefront.example.com/
    SelectedIISWebSiteId 1
    AdminConsoleOperationMode Full
    

Stop sending data to Citrix Analytics from StoreFront

  1. Open PowerShell ISE and select Run as Administrator.
  2. Run the following commands:

    Remove-STFCasConfiguration
    Get-STFCasConfiguration
    

    Get-STFCasConfiguration returns nothing if the previously imported Citrix Analytics data has been successfully removed.

  3. If you are performing these actions on a StoreFront server group, propagate the change and remove the imported Citrix Analytics data from all members of the server group. On one server in the server group, run the following command:

    Publish-STFServerGroupConfiguration
    
  4. On any other server group members, run the following command to confirm that Citrix Analytics configuration has been successfully removed from all servers in the group:

    Get-STFCasConfiguration
    
  5. Log on to Citrix Cloud (https://citrix.cloud.com/) using an administrator account.
  6. Select a Citrix Cloud customer.
  7. Open the Citrix Analytics service management console by clicking Manage.
  8. In the Citrix Analytics service management console, select Settings > Data Sources.
  9. In the Virtual App and Desktops card, select the StoreFront deployment count:

    storefront server groups

  10. Identify the StoreFront deployment you want to remove by referring to its host base URL and ServerGroupID.
  11. In the () menu, select Remove StoreFront deployment from Analytics.

    storefront server groups

Note:

If you remove the configuration from the server side, but not from Citrix Analytics, the StoreFront deployment entry remains in Citrix Analytics but receives no data from StoreFront. If you remove the configuration only from Citrix Analytics, the StoreFront deployment entry is re-added at the next App pool recycle (done on an IIS reset or automatically every 24 hours).

Configure StoreFront to use a web proxy to contact Citrix Cloud and register with Citrix Analytics

If StoreFront is placed on a host webserver behind a web proxy, registration with Citrix Analytics will fail. If StoreFront administrators use an HTTP proxy in their Citrix deployment, StoreFront traffic bound for the Internet must pass through the web proxy before it reaches Citrix Analytics in the cloud. StoreFront does not automatically use the hosting OS’s proxy settings; additional configuration is required to instruct the store to send outbound traffic through the web proxy. You can configure a <system.net> proxy configuration by adding a new section to the store web.config file. Do this for every store on the StoreFront server that will be used to send data to Citrix Analytics.

Running the Powershell script Config-StoreProxy.ps1 automates this process for one or more stores and automatically inserts valid XML to configure <system.net>. The script also backs up the store web.config file to the current user’s desktop, allowing the unmodified web.config file to be restored if necessary.

Note:

Running the script more than once may result in multiple copies of the <system.net> XML being added. Each store should only have a single entry for <system.net>. Adding multiple copies prevents the Store proxy configuration from working correctly.

  1. Open up the Powershell ISE and select Run as Admin.

  2. Set $Stores = @("Store","Store2") to include the stores you wish to configure with a web proxy.

  3. Specify either:

    • an IP address, OR
    • an FQDN for the web proxy
  4. Run the following Powershell:

    $Stores = @("Store","Store2")
    $ProxyIP = "10.0.0.1"
    $ProxyFQDN = "proxyserver.example.com"
    $ProxyPort = 8888
    
    # Set this for every Store using Stores array
    function Set-StoreProxyServer() # Tested with both IP and FQDN
    {
        [CmdletBinding()]
        param([Parameter(Mandatory=$true,ParameterSetName="ProxyIP")][Parameter(Mandatory=$true,ParameterSetName="ProxyFQDN")][array]$Stores,
            [Parameter(Mandatory=$true,ParameterSetName="ProxyIP")][string]$ProxyIP,
            [Parameter(Mandatory=$true,ParameterSetName="ProxyFQDN")][string]$ProxyFQDN,
            [Parameter(Mandatory=$true,ParameterSetName="ProxyIP")][Parameter(Mandatory=$true,ParameterSetName="ProxyFQDN")][int]$ProxyPort)
    
        foreach($Store in $Stores)
        {
            Write-Host "Backing up the Store web.config file for store $Store before making changes..." -ForegroundColor "Yellow"
            Write-Host "`n"
    
            if(!(Test-Path "$env:UserProfile\desktop\$Store\"))
            {
                Write-Host "Creating $env:UserProfile\desktop\$Store\ directory for backup..." -ForegroundColor "Yellow"
                New-Item -Path "$env:UserProfile\desktop\$Store\" -ItemType "Directory" | Out-Null
                Write-Host "`n"
            }
    
            Write-Host "Copying c:\inetpub\wwwroot\Citrix\$Store\web.config to $env:UserProfile\desktop\$Store\..." -ForegroundColor "Yellow"
            Copy-Item -Path "c:\inetpub\wwwroot\Citrix\$Store\web.config" -Destination "$env:UserProfile\desktop\$Store\" -Force | Out-Null
    
            if(Test-Path "$env:UserProfile\desktop\$Store\web.config")
            {
                Write-Host "$env:UserProfile\desktop\$Store\web.config file backed up" -ForegroundColor "Green"
            }
            else
            {
                Write-Host "$env:UserProfile\desktop\$Store\web.config file NOT found!" -ForegroundColor "Red"
            }
            Write-Host "`n"
    
            Write-Host "Setting the proxy server to $ProxyAddress for Store $Store..." -ForegroundColor "Yellow"
            Write-Host "`n"
    
            $StoreConfigPath = "c:\inetpub\wwwroot\Citrix\$Store\web.config"
            $XMLObject = (Get-Content $StoreConfigPath) -as [Xml]
    
            if([string]::IsNullOrEmpty($ProxyFQDN))
            {
                $ProxyServer = ("HTTP://$ProxyIP"+":"+$ProxyPort)
            }
            else
            {
                $ProxyServer = ("HTTP://$ProxyFQDN"+":"+$ProxyPort)
            }
    
            $XMLObject = (Get-Content $StoreConfigPath) -as [Xml]
    
            # Create 3 elements
            $SystemNet = $XMLObject.CreateNode("element","system.net","")
            $DefaultProxy = $XMLObject.CreateNode("element","defaultProxy","")
            $Proxy = $XMLObject.CreateNode("element","proxy","")
            $Proxy.SetAttribute("proxyaddress","$ProxyServer")
            $Proxy.SetAttribute("bypassonlocal","true")
    
            # Move back up the XML tree appending new child items in reverse order
            $DefaultProxy.AppendChild($Proxy)
            $SystemNet.AppendChild($DefaultProxy)
            $XMLObject.configuration.AppendChild($SystemNet)
    
            # Save the modified XML document to disk
            $XMLObject.Save($StoreConfigPath)
    
            Write-Host "Getting the proxy configuration for c:\inetpub\wwwroot\Citrix\$Store..." -ForegroundColor "Yellow"
            $XMLObject = (Get-Content $StoreConfigPath) -as [Xml]
            $ConfiguredProxyServer = $XMLObject.configuration.'system.net'.defaultProxy.proxy.proxyaddress | Out-Null
            Write-Host ("Configured proxy server for Store $Store"+": "+ $ConfiguredProxyServer) -ForegroundColor "Green"
            Write-Host "`n"
        }
        Write-Host "Restarting IIS..." -ForegroundColor "Yellow"
        IISReset /RESTART
    }
    
    Set-StoreProxyServer -Stores $Stores -ProxyFQDN $ProxyFQDN -ProxyPort $ProxyPort
    # OR
    Set-StoreProxyServer -Stores $Stores -ProxyIP $ProxyIP -ProxyPort $ProxyPort
    
  5. Check that the C:\inetpub\wwwroot\Citrix< Store>\web.config now contains a new <system.net> section at the end of the web.config file.

            </dependentAssembly>
        </assemblyBinding>
    </runtime>
    <system.net>
        <defaultProxy>
        <proxy proxyaddress="HTTP://proxyserver.example.com:8888" bypassonlocal="true" />
        </defaultProxy>
    </system.net>
    </configuration>
    
  6. Import the Citrix Analytics data as described in Import Citrix Analytics data into your StoreFront deployment.

Method 2: Manually add a <system.net> section to the store web.config file

This must be done for every store on the StoreFront server that will be used to send data to Citrix Analytics.

  1. Back up the web.config file for the store and copy it to another location outside of C:\inetpub\wwwroot\Citrix< Store>\web.config.

  2. Modify the following XML with your proxy settings using either an FQDN-and-port combination, or using an IP-and-port combination.

    For example, using an FQDN-and-port combination, use the following <system.net> element:

    <system.net>
        <defaultProxy>
        <proxy proxyaddress="HTTP://proxyserver.example.com:8888" bypassonlocal="true" />
        </defaultProxy>
    </system.net>
    

    For example, using an IP-and-port combination, use the following <system.net> element:

    <system.net>
        <defaultProxy>
        <proxy proxyaddress="HTTP://10.0.0.1:8888" bypassonlocal="true" />
        </defaultProxy>
    </system.net>
    
  3. At the end of the store web.config file, insert the appropriate <system.net> element where indicated here:

    <runtime>
    <gcServer enabled="true" />
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
        <assemblyIdentity name="System.Web.MVC" publicKeyToken="31BF3856AD364E35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
        </dependentAssembly>
        <dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
        </dependentAssembly>
    </assemblyBinding>
    </runtime>
    
    Insert the <system.net> element here
    
    </configuration>
    
  4. Import the Citrix Analytics data as described in Import Citrix Analytics data into your StoreFront deployment.

Upgrade StoreFront

Upgrading preserves your StoreFront configuration and leaves users’ application subscription data intact so that users do not need to resubscribe to all of their applications. By contrast, uninstalling StoreFront removes StoreFront and associated services, sites, application subscription data (on stand-alone servers), and associated configuration.

Good to know

  • Upgrading the operating system version on a server running StoreFront is not supported. Citrix recommends that you install StoreFront on a new installation of the operating system.
  • Upgrading to the latest StoreFront current release from an older current release that is now End of Life is not supported. For more information see CTX200356.
  • StoreFront does not support multiple server deployments containing different product versions, so all servers in a server group must be upgraded to the same version before you grant access to the deployment.
  • StoreFront does not support multiple server deployments containing different server OSs, so all servers in a server group must be on the same Windows Server OS.
  • Concurrent upgrade is not supported for multiple server deployments, servers must be upgraded sequentially.
  • Any stores which use the classic user experience are updated to use the unified experience when you upgrade to this version of StoreFront. We recommend that you make users aware of the new experience which the upgrade introduces, described in Unified user experience. If you have customized the unified experience, your customizations are preserved when you upgrade to this version of StoreFront. Check that the appearance of your customizations is still suitable with the new unified experience.
  • Before the StoreFront upgrade runs it performs some pre-upgrade checks. If any pre-upgrade check fails, the upgrade does not start and you are notified of the failures. Your StoreFront installation remains unchanged. After fixing the cause of the failures, rerun the upgrade.
  • If the StoreFront upgrade itself fails, your existing StoreFront installation may lose its initial configuration. Restore your StoreFront installation to a functional state then rerun the upgrade. To restore StoreFront to a functional state consider the following approaches:
  • Any StoreFront upgrade failures which occur from the Citrix Virtual Apps and Desktops metainstaller are reported in a dialog, with a link to the relevant failure log.

Get ready to upgrade

Before you start the upgrade, we recommend that you perform the following steps which can prevent upgrade failure:

  • Plan your backup strategy before upgrading.
  • Close all other applications on the StoreFront server.
  • Close the StoreFront management console.
  • Close all command line and PowerShell windows.
  • Close all StoreFront-related folders such as C:\inetpub\wwwroot\Citrix\Store and C:\inetpub\wwwroot\Citrix\StoreWeb. This prevents Windows Explorer from taking an exclusive lock on them.
  • Before upgrading a server, restart it to ensure that there are no exclusive locks on StoreFront files or folders. (Restarting the explorer process—for example by closing all instances of Windows explorer—is not enough).
  • Run the upgrade immediately without starting any other programs on the server.
  • Upgrade the server using an admin account with no other installations running and a minimum of other applications.

Upgrade a stand-alone StoreFront server

  1. Disconnect users from the StoreFront deployment to prevent them from accessing the servers while the upgrade is in progress. This ensures that all StoreFront files are accessible by the installer during the upgrade. If the installer cannot access any files, they are not replaced and the upgrade fails, resulting in the removal of the existing StoreFront configuration.

  2. Back up the server by creating a VM snapshot.
  3. Export the existing StoreFront configuration (recommended).

  4. Run the installation file for this version of StoreFront.

To upgrade a StoreFront server group

Upgrading StoreFront server groups involves using one of the servers to remove the other servers from the group. The removed servers retain configuration related to the group, which can prevent them being joined to a new server group. Before they can be reused to build new server groups, or as standalone StoreFront servers, they must be reset to factory defaults, or have StoreFront reinstalled on them.

Before upgrading a server group:

  • Back up all servers in the group by creating VM snapshots. This allows you to quickly revert to a working three node server group if the upgrade does not go as planned.
  • Export the existing StoreFront configuration (recommended). Only export the server group configuration from one server. Provided you have propagated all changes between them, all servers in a server group maintain identical copies of the configuration. This backup allows you to easily build a new server group.

Example 1: Upgrade a three-node StoreFront server group during scheduled maintenance downtime

This describes upgrading a StoreFront server group of three servers A, B, and C, during scheduled downtime.

  1. Disable user access to the server group by disabling the load balancing URL. This prevents users from connecting to the deployment during the upgrade process.
  2. Use server A to remove servers B and C from the group.

    Servers B and C are now ‘orphaned’ from the server group.

  3. Upgrade server A by running the installation file for this version of StoreFront.
  4. Ensure that server A has been successfully upgraded.
  5. On servers B and C, uninstall the currently installed version of StoreFront, then install the new version of StoreFront.
  6. Join servers B and C to the upgraded server A to create an upgraded server group. This server group consists of one upgraded server (A) and two freshly installed servers (B and C).

    The Join existing server group process automatically propagates all configuration data and subscription data to new servers B and C.

  7. Check all servers are functioning correctly.
  8. Enable user access to the upgraded server group by enabling the load balancing URL.

Example 2: Upgrade a three-node StoreFront server group without scheduled downtime

This describes upgrading a StoreFront server group of three servers A, B, and C, without scheduled downtime.

Before upgrading a server group:

  1. Export subscription data from server A using Export-STFStoreSubscriptions. This backup is necessary because servers are factory reset later in the process, which deletes subscription and configuration data. See Manage subscription data for a store.

  2. Disable user access to server C by disabling the load balancer service that represents server C. This prevents users from connecting to server C during the upgrade process. Keep the load balanced service representing servers A and B enabled, so your users can continue to use them.
  3. Use server A to remove server C from the group. Servers A and B continue to provide access to your users’ resources. Server C is now orphaned from the server group, and is factory reset.
  4. Reset the orphaned server C to factory defaults using Clear-STFDeployment.
  5. Import the StoreFront configuration you previously exported into server C using Import-STFConfiguration.
  6. Upgrade server C by running the installation file for this version of StoreFront. Server C now has an identical configuration to the old server group, and is upgraded to a new version of StoreFront.
  7. Import the subscription data which you exported previously into server C. It is not necessary to repeat this step again later. Only one server needs a copy of the subscription data to propagate it to any other servers that join the group.
  8. Repeat steps 2–6 using server B. During this time, only server A is providing users with access to resources. It is therefore best do this step during quiet working periods, where load on the StoreFront server group is expected to be minimal.
  9. Join server B to server C using the Join existing server group process. This gives a single server deployment on the current version of StoreFront (server A), and a new two-node server group on the new StoreFront version (servers B and C).
  10. Enable the load balanced services for both server B and C so they can take over from server A.
  11. Disable the load balanced service for server A so that users are directed to the newly upgraded servers B and C.
  12. Repeat steps 2–6 using server A. The server group upgrade process is now complete. Servers A, B, and C have identical configuration and subscription data from the original group.

Note:

During the brief period when server A is the only accessible server, subscriptions can be lost (step 9). This can cause the new server group to have a slightly outdated copy of the subscription database after upgrade, and any new subscription records to be lost.

This has no functional impact because subscription data is not essential for users to be able to log on and launch resources. Users would, however, need to subscribe to a resource again after server A is factory reset and joined to the newly upgraded group. Although it is unlikely that more than a few subscription records would ever be lost, it is a possible consequence of upgrading a live StoreFront production environment with no downtime.

Configure StoreFront

When the Citrix StoreFront management console first starts, two options are available.

  • Create a deployment. Configure the first server in a new StoreFront deployment. Single-server deployments are ideal for evaluating StoreFront or for small production deployments. Once you have configured your first StoreFront server, you can add more servers to the group at any time to increase the capacity of your deployment.
  • Join existing server group. Add another server to an existing StoreFront deployment. Select this option to rapidly increase the capacity of your StoreFront deployment. External load balancing is required for multiple server deployments. To add a server, you need access to an existing server in the deployment. Citrix recommends no more than 6 servers to a server group.

Uninstall StoreFront

In addition to the product itself, uninstalling StoreFront removes the authentication service, stores, Citrix Receiver for Web sites, Desktop Appliance sites, and XenApp Services URLs, and their associated configurations. The subscription store service containing users’ application subscription data is also deleted. In single-server deployments, details of users’ application subscriptions are therefore lost. However, in multiple server deployments these data are retained on other servers in the group. Prerequisites enabled by the StoreFront installer, such as the .NET Framework features and the Web Server (IIS) role services, are not removed from the server when StoreFront is uninstalled.

  1. Log on to the StoreFront server using an account with local administrator permissions.
  2. Close the StoreFront admin console if it is open.
  3. Close any PowerShell sessions that may have been used to manage StoreFront via its PowerShell SDK.
  4. On the Windows Start screen or Apps screen, locate the Citrix StoreFront tile. Right-click the tile and click Uninstall.
  5. In the Programs and Features dialog box, select Citrix StoreFront and click Uninstall to remove all StoreFront components from the server.
  6. In the Uninstall Citrix StoreFront dialog box, click Yes. When the uninstallation is complete, click OK.