The Ultimate Citrix BuildingBlock

‘Twas a month before Xmas and through the hotel, nothing was stirring… well maybe, except for the 450+ geeks and guru’s who assembled at the Hilton Universal City, Los Angeles for the first major Citrix Technology Exchange event on Dec 2nd 2012. RES Software had been invited as a platinum sponsor of the event. Besides showing our products at the vendor’s tables, we also had a couple of presentation slots. I want to take a moment to specially thank my friend Rick Eilenberger at Citrix for putting this great event together. Be sure to check out his follow-up article here.

During one of the RES Software presentations, I had the pleasure of once again demonstrating the unparalleled awesomeness of the RES Automation Manager. This time I had the good Mr. Luca Lo Castro with me on stage, as he is indeed the evil mastermind behind this latest creation. What we have here is nothing less than one of the most awesome Run Books created for RES Automation Manager yet. The Runbook does the following:

  • Unattended installation of Citrix Provisioning Server 6.0 (PVS)
  • Unattended installation of Citrix XenApp 6.5 (XA)
  • Unattended installation of Xen Desktop 5.5 (XD)
  • Preparation of a Windows 7 image (application of best practices, per Citrix’s recommendations.

This is quite valuable for anyone who installs these products for a living, no matter if you are a consultant, a Citrix SE or perhaps a Citrix admin at a large installation. The cool part is that ALL of the above is done in less than 45 minutes! Add that to the approx. 15 minutes it takes to stand up the RES Automation Manager infrastructure, and ask yourself this: How long does it take you to stand up a XenDesktop + PVS + XA environment under normal circumstances? I trust you see my point. So what are the prerequisites for all this? You’ll need the following:

  • Your 3 .ISO files, respectively for PVS, XA and XD. If you haven’t got them, download them from
  • A server (200x, doesn’t really matter), which will hold your DBMS for Automation Manager and be a mount point for your ISO’s. Let’s call it Server1. If you can run a compatible datastore for Automation Manager, this could be your laptop!
  • Mount the ISO’s on this server using Daemon Tools or similar. Alternatively, if you are using a VM, you can just mount the ISO’s directly on the virtual machine as DVD drives. Finally if you already have the ISO’s extracted somewhere, you can just share those folders. Either way, make sure you share the individual mount folders, so the contents of each ISO is available as a \\server1\share UNC path.
  • You will also need 3 blank x64 Server 2008R2 servers. And I do mean blank. For example, not manually install the .Net 4 client profile ahead, as it will mess up the unattended installation of SQL Express. These servers will be the target servers for PVS, XA and XD. Lets call these machines Server A, B and C
  • Finally you’ll need a blank Windows 7 machine. This is the machine which will be prepped for use with PVS (registry hacks applied, services configured etc) as the golden image.

To get things stood up, here are some guidelines to get you started:

  1. Download and install the RES Automation Manager aka AM. Refer to the Getting Started guide.
  2. Deploy the AM Dispatcher to Server1
  3. Deploy the AM Agents to the 3 blanks Servers A..C
  4. Import the buildingblock, which you will find at the end of this article.
  5. In the AM console, go to Repository | Run Books
  6. Rightclick on the Citrix POC-Sales runbook and select Schedule Job
  7. Fill out the parameters for the runbook as described below
  8. Hit OK, then hit the local Starbucks.. :)

The parameter screen needs a bit of explanation, because if you don’t fill things in right, then of course “interesting” things may happen. You know the drill: BS in, BS out. So let’s have a look at a screen I’ve already filled out below. Click to enlarge:

 The table below explains each field and what you need to enter. There’s a couple of blank spots, but as soon as I get them validated by Luca I’ll be sure to update the posting.

Field Description
customer This is the name of the site where you are installing the proof-of-concept. This will be displayed as the Farm name
newXA Hostname of one of the 3 blank Server2008R2’s which is to become the XenApp 6.5 server. Just use NETBIOS name
newXD Hostname of one of the 3 blank Server2008R2’s which is to become the XenDesktop 5.5 server. Just use NETBIOS name
newPVS Hostname of one of the 3 blank Server2008R2’s which is to become the Provisioning Server 6.0. Just use NETBIOS name
securitycontext This is a combined field of domain\username + password credentials to be used for the installation. Normally you would use the equivalent of a Domain Admin for this.
domain Supply the FQDN of the current domain to which we are installing into, such as
licserv Where the Citrix License server is installed. This has to be a Server 2008R2. IIS will be installed here to support the license server
components Here you can chose one of 4 options: 1) install just the license server, 2) Install just the Web Interface, 3) Install XenApp, and 4) Install XenApp + WebInterface
exmode Here you select either to Create a new farm from scratch, or Join an existing one
version Chose here what flavor of XenApp you want to install: Advance, Enterprise or Platinum
optimization This section lets you chose one or more optimization methods to be applied to the Windows 7 image. These are documented in (link needed)
sqldatafolder This is the path to where the SQLexpress will create the datastores. For regular POC scenarios, this doesn’t need to be modified
sqlInstancename Name of the SQL instance to be created. More info needed ???
sapassword specify the sa password for the new SQLexpress datastore
TerminalServerLicenseServer Specify the hostname of the TS License server. This is strictly not necessary for a short term demo environment as you’ll have temporary licenses to work with. This is used when enabling Terminal Services in Application mode
TSLicenseMode When enabeling TS in Application mode you have to chose what licensing method. You can specify here either PerUser or PerDevice.
PVSpath The \\server\share UNC path to the share that contains the mounted ProvisioningServer .ISO or the contents of it.
XApath The \\server\share UNC path to the share that contains the mounted XenApp .ISO or the contents of it.
XDpath The \\server\share UNC path to the share that contains the mounted XenDesktop .ISO or the contents of it.




























Those of you who are savy with Automation Manager may wonder why that AM resources aren’t utilized for this RunBook. The reason is twofold: First of all, you don’t wan’t to be waiting to upload the close to 8GB of the 3 ISO’s together to the datastore. Not that it can’t handle it, but think about that you would have to do that every time there is a new .ISO. it would make things really cumbersome. Second, by not using a linked resource we preserve the flexibility of the runbook, without having to modify it, i.e. we don’t need to edit any resource every time we go to a new place where we want to use the Run Book.

I guess at this point you want to have a go at the RunBook, so just click on the Christmas present on the right to download:


Note: If you have problems with getting the runbook to work, again: Make sure the 2008 servers are blank. If still no luck, post your results in the forum, so we can get some eyes on it. The buildingblock is provided as-is. It’s not something that has been provided officially in the context of RES or RES Support.


  • By Stefan, December 20, 2011 @ 09:21

    Awesome! Keep up the good work!

Other Links to this Post

  1. Automated XenDesktop 7.5 Build with RES AM | RES Software Blog — September 9, 2014 @ 12:33

  2. Automating Citrix Provisioning Server Install with RES AM | Virtual Engine — February 6, 2015 @ 09:12

RSS feed for comments on this post. TrackBack URI

Leave a comment

Comments are welcome as always. Just do the math below. * Time limit is exhausted. Please reload the CAPTCHA.