We have got many enquiries on how to customize Receiver for Web to prevent users from removing auto-provisioned applications, in some cases, even to hide the plus sign that opens up the application catalogue for users to select applications. StoreFront 2.5 provides two new features to serve these use cases: mandatory applications and locked down store.

Mandatory applications

If you want all of your users to have a core set of applications, which cannot be removed from the Receiver home screen, you can add a new keyword “Mandatory” to your published applications in your XenApp farms/XenDesktop sites. The applications with the “Mandatory” keyword will automatically appear on the Receiver home screen and there will be no UI for users to remove them. Users can still use the self-service UI to add more applications or remove non-mandatory applications.

Locked down store

If you want all of the users to have all applications you publish, you can configure a store to be locked down. In this way, all applications will appear on the Receiver home screen. They cannot be removed or moved. The plus sign will not be available. This can be done by running a PowerShell command.

First you have to import the necessary PowerShell modules. The following snippet does this for you:

$dsInstallProp = Get-ItemProperty `
 -Path HKLM:\SOFTWARE\Citrix\DeliveryServicesManagement -Name InstallDir 
$dsInstallDir = $dsInstallProp.InstallDir 
& $dsInstallDir\..\Scripts\ImportModules.ps1 

The command to lock down a store is Set-DSLockedDownStore, which syntax is:

Set-DSLockedDownStore [[-SiteId] <Int64>] [[-VirtualPath] <String>] `
 [[-IsLockedDown] <Boolean>]

SiteId is the IIS Web Site Id, which normally is 1. VirtualPath is the virtual path for the store you want to configure which normally is /Citrix/Store. IsLockedDown is a Boolean value to configure the store to be locked down or not.

For example, if you want to make your store at /Citrix/Store1 a locked down store, the following command will configure it:

Set-DSLockedDownStore 1 "/Citrix/Store1" $true

Note: The user experience described in this article currently only applies to Receiver for Web. Native Receivers will catch up in due course.