Before you might think about how to integrate all of the components you might want to integrate it makes sense to have a feeling about the infrastructural changes you need in regards to an XenApp or XenDesktop environment. You might want to send your firewall team the ports you might need or…
If we look at an Citrix XenApp or XenDesktop infrastructure there are alot of components that can or need to be set up. The components depend on your Citrix license and the features you want to use.
I like the concept of generic components. Therefore every component in our deployment scenario should be as “vanilla” as possible. The more components you hardcode with settings the harder it will get to troubleshoot them.
Besides the standard Roles and Features on the left there are a few other ones you will need for your Citrix infrastructure Servers.
Remote Desktop Services Licensing
Remote Desktop Services Licensing is required even of you don´t want to use Microsoft Remote Desktop Services Hosts or Virtualization Hosts. Citrix XenApp and XenDesktop need a functioning RDS CAL server and you need to buy appropriate licenses for your operating system.
If you want to have an overview of High Availability for RDS deyploments you should check this Technet article. You also find the following statement regarding the other options of fault tollerance you might think about…
There are two deployment configurations that are not supported:
Clustering RD Connection Broker servers on RD Virtualization Host servers.
An active-active RD Connection Broker installation.
You should always search for the lowest common denominator that all of your infrastructure servers need. If you take a fresh Windows Server 2016 for example, you will see that the following Windows Features are present:
DisplayName : File and Storage Services
DisplayName : Storage Services
DisplayName : .NET Framework 4.6 Features
DisplayName : .NET Framework 4.6
DisplayName : WCF Services
DisplayName : TCP Port Sharing
DisplayName : SMB 1.0/CIFS File Sharing Support
DisplayName : Windows Defender Features
DisplayName : Windows Defender
DisplayName : GUI for Windows Defender
DisplayName : Windows PowerShell
DisplayName : Windows PowerShell 5.1
DisplayName : Windows PowerShell ISE
DisplayName : WoW64 Support
You could extend this via an unattended Script during installation or run a script after the server finished to add the missing features you want to have. On the right side you will find some scripts you can use for your own infrastructure servers.
With unattended files you can add your servers automatically to your domain and configure basic networking settings.
Citrix License Server
In smaller environments you can install the Citrix License Server on top of your Remote Desktop Services Licensing Server and it is perfectly fine to create Snapshots of this server for backup purposes. Even in enterprise environments some customers tend to keep it simple. But if you want real failover capabilities and need fault tolerance you should think about clustering the Citrix License Server component and RDS CAL server.
In order to install all the necessary components in an automated and silent way we need to check the command line parameters for every single component. This is the first step before starting to create installation packages that you can deploy.
I love the PowerShell AppDeployment Toolkit for that purpose because it is PowerShell based and can be used as stand-alone packages as well with nearly every electronic software delivery product out there.