Build Your Own XenApp in the Cloud

I will cut to the chase. We have already built “ready to use” XenApp servers in Amazon EC2. Just search for Citrix in the AMI section and launch them. The basic XenApp server can be found here:
http://community.citrix.com/display/cdn/Windows+Apps+as+a+Service

Other flavors of XenApp servers have been built, and the AMI IDs and descriptions can be found here:
http://community.citrix.com/display/cdn/Citrix+C3+Lab

The topic has come up a few times lately, so I figured I would put this out there. The following are the instructions to create a XenApp server in the cloud, and then clone it. The instructions are for the Amazon EC2 Cloud, although they could be adapted for use with any cloud provider.

Creating a XenApp Server in the cloud (Amazon EC2 for example):

Windows Prep

  • Sign in to the Amazon Web Services Console
  • Select the Amazon EC2 Tab
  • Select Images –> AMIs
  • View Amazon Images
  • Search for WIndows Platforms –> 2008
    • Select either 32 bit (i386) or 64 bit (x86_64)
  • Launch the AMI
    • Make sure you launch it in the same Availability Zone as your other AMI’s and volumes
  • Right-Click to Get Administrator Password
  • RDP to the instance (command prompt, mstsc /console)
  • Change password (Administrative Tools –> Computer Management –> Users –> <user> right click –> Set Password.
  • Set Ec2Config Service Settings. Program Files –> Amazon –> Ec2ConfigSetup –> Ec2ConfigServiceSettings.exe.
    • Uncheck (disable) Set Computer Name.
    • Uncheck (disable) Initialize Drives
    • Uncheck (disable) Set Password, both random and feature after sysprep.
  • Set Computer Name. My Computer –> right click –> Properties –> Computer Name –> Change –> <new computer name>.
    • You will use this hostname to apply for a XenApp license, so make note of it.
  • Restart.
  • Install Microsoft Terminal Server, by User, for 120 days.
    • You will need a Microsoft Terminal Server license
  • Install IIS, ASP, .Net, Windows Authentication, WMI scripting
  • Create an Elastic IP Address (Static IP), associate it to the AMI instance id. (optional).
  • Install DotNet 3.5
  • Install DotNet 3.5 SP1

XenApp Install

Launch XenApp Delivery Services Console (Access Management Console)

  • Publish Notepad, IE and Desktop
  • Auto populate the Domain
    • AMC -> Citrix Resources -> Configuration Tools -> Web Interface -> XenApp -> Configure Authenticaiton methods -> Explicit -> Properties -> Authentication Type -> Settings -> Display Domain Box – Prepopulated.
    • Hide Domain Box.

Launch XenApp Web Interface Console

  • Create Web Interface (Set as default for IIS)
  • Create XenApp Service
  • Set Client Secure Access mode to “Alternate” for EC2 Images only (not VPC images)
  • Upload SetAltAddressService.exe to c:\drive
  • Install SetAltAddressService.exe
    • b. From command prompt: c:\windows\Microsoft.NET\Framework\v2.0.*\installutil.exe c:\setAltAddressService.exe
  • Username/password: <domain>\Administrator, <password>
  • Set the service to start Automatically.

Clone the Server

  • From the Amazon Web Services Console select Instances under navigation
  • Highlight the server you just created
  • Right-Click “Create Image (EBS AMI)”

Make it public

  • When the building of the AMI (cloning) is finished, set permissions to public so others can launch it (unless you want to keep it a secret)

Note: To change the name of the server to eliminate duplicate hostnames & licensing

  • If this is a single server farm you can just rename the server and get a new license file. Removing the server from the farm would have no affect as it’s the only host in the farm.
  • If this is a multi-server farm, you should run XenAppPrep

It’s powerful!