I’m excited to announce support for publishing content in the XenApp and XenDesktop Service. This enables you to publish, as an application, links to resources and documents.
You can publish an application that is simply a URL or UNC path to a resource (such as a MS Word document or web link). This application then appears in StoreFront, as expected.
On the client, the resource should open in the natural way:
- If a locally installed application is appropriate, it will be launched to open the resource
- If a File Type Association has been defined, a published application will be launched to open the resource.
How To Publish Content
This initial release of publishing content is available exclusively via the XenDesktop SDK. No support has been added to Studio yet. You’ll need to download and install the XenApp and XenDesktop Remote PowerShell SDK from the XenApp and XenDesktop Service Downloads page.
For this demo I have already created a catalog with a single server OS machine and added that machine to a delivery group named PublishedContentApps. As expected, you can also use workstation OS catalogs. I have also published the WordPad application in this delivery group.
On the machine where you installed the Remote PowerShell SDK, open PowerShell and enter the command:
Add-PsSnapin Citrix*
$dg = Get-BrokerDesktopGroup –Name PublishedContentApps
You’ll be prompted to authenticate to Citrix Cloud as follows:
Enter your Citrix Cloud credentials and click Sign In. If you have multiple customers associated with that credential, you will need to select the customer being administered and click Select.
The Get-BrokerDesktopGroup cmdlet will then complete and the returned DesktopGroup record assigned to $dg.
How do you publish a resource at a URL or UNC path as part of that DeliveryGroup?
We choose to introduce the new ApplicationType (PublishedContent) to the Broker SDK. This enables you to manage your published resources using the same methods as you do for your applications and desktops.
Now to create an application definition that publishes content, you simply need to specify PublishedContent as the ApplicationType property and provide the URL or UNC path to the resource as the CommandLineExecutable property.
To publish the Citrix home page as an application, enter the following:
$citrixUrl = "https://www.citrix.com/"
$appName = "Citrix Home Page"
New-BrokerApplication –ApplicationType PublishedContent –CommandLineExecutable $citrixURL -Name $appName -DesktopGroup $dg.Uid
The description of the newly created application will be echoed to the PowerShell window. Note the ApplicationType and CommandLineExecutable values.
Open Storefront and log on as a user with access to the PublishedContentApps desktop group. You will see the newly created application with the default icon. See https://citrixblogs.wpengine.com/2013/08/21/xd-tipster-changing-delivery-group-icons-revisited-xd7/ to learn how to customize the icon.
Click on the “Citrix Home Page” application and the URL will be launched in a new tab in a locally running instance of your default browser:
Similarly, you can publish resources located at UNC paths. I’ve created the share PublishedResources and granted access to my test users. Then to publish both an RTF and DOCX file in that share as an resource from the same delivery group I used the following:
$rtfUNC = "\\GMSXJ-EDGE0.xd.local\PublishedResources\PublishedRTF.rtf"
$rtfAppName = "PublishedRTF"
New-BrokerApplication –ApplicationType PublishedContent –CommandLineExecutable $rtfUNC -Name $rtfAppName -DesktopGroup $dg.Uid
$docxUNC = "\\GMSXJ-EDGE0.xd.local\PublishedResources\PublishedDOCX.docx"
$docxAppName = "PublishedDOCX"
New-BrokerApplication –ApplicationType PublishedContent –CommandLineExecutable $docxUNC -Name $docxAppName -DesktopGroup $dg.Uid
Refresh your StoreFront window to see the newly published documents:
Click on the PublishedRTF and PublishedDOCX applications and each document gets opened in a locally running WordPad:
Viewing and Editing
After creating the PublishedContent applications using the SDK, Studio can be used to view the applications:
You can also edit the properties of the applications in the usual manner. Modify the “Path to the executable file:” if you wish to change the resource that is published:
You can also define File Type Associations of your other applications to use them to open your published content. Here I edit the published WordPad application to create a File Type Association for .rtf files:
Note that you’ll need to put the Delivery Group in Maintenance Mode to edit the File Type Associations. Don’t forgot to take it out of Maintenance Mode afterwards!
Now refresh StoreFront to load the File Type Association modifications then click on the PublishedRTF and PublishedDOCX applications and notice the difference. The PublishedDOCX still opens in the local WordPad. However, the PublishedRTF is now opened in the published WordPad due to the File Type Association.
Summary
The ability to publish resources directly adds significant flexibility to how you deliver content to your users. You benefit from the existing access control and management of XenDesktop applications and can decide between local and published applications for opening your content.
Enjoy!