Users today are demanding a more personalized and elegant computing environment. The expectations of IT look-and-feel in the workplace are increasing as enterprise users begin to crave the same experience delivered by consumer products. In this entry I refer to “Windows 7 experience” and “Windows 7-like desktops” to describe the general look and feel of the modern Windows desktop. All desktops shown and discussed in this blog are XenApp desktops running on Windows Server 2008 R2. Windows Server 2008 R2 is the server version of Windows 7 and is therefore able to deliver much of the functionality in Windows 7 itself.

This blog will touch on Desktop Appliances with XenApp Hosted Shared Desktops, a solution provided with XenApp 6.0. Deploying an aging XP workstation as a desktop appliance is a simple way to convert a physical XP desktop to a virtualized Windows 7-like desktop experience with the help of XenApp. This conversion offers an updated user experience while squeezing every last penny out of those old XP workstations.

Windows 7-like Desktop Experience on XenApp 6.0

Back in October, Citrix quietly released a series of PowerShell scripts capable of transforming the traditional XenApp 6.0 desktop into a Windows 7 lookalike. The scripts are available today via the Citrix community code share for manual deployment. In the near future, this functionality will be bundled up into a more user friendly deployment package to simplify the job for XenApp admins.

This set of desktop mods unlocks various look and feel features such as custom wallpapers and themes, high-detail graphics, and options for customizing the taskbar and start menu. The goal is to spice up the TS based desktops that roll out with XenApp 6.0 and provide users with a desktop experience that looks and acts like Windows 7.

Better looking desktops are a great thing, but let’s not forget that getting to that desktop is also part of the user’s day-to-day IT experience. Published desktops can be connected to using traditional methods such as Web Interface and Citrix Receiver but this blog entry will focus on how to deliver a desktop using a desktop appliance as the endpoint.

What is a desktop appliance?

A desktop appliance is a new industry name for a juiced up thin client. A desktop appliance has more capabilities than a traditional thin client (such as USB ports, GPU, multi-monitor) but still less computer power and capabilities than a traditional desktop computer. Similar to a thin client, a desktop appliance is primarily used as an endpoint to connect to published applications or desktops hosted elsewhere.

Reuse, Recycle, Refurbish

Before going out and purchasing brand new thin clients or desktop appliances, check your storage closet to see if you have any old XP workstations collecting dust. These timeworn machines are great candidates to be refurbished into desktop appliances.

I was pleasantly surprised to find out that many “designed for XP” machines meet a lot of requirements for today’s desktop appliances. Citrix has made it simple to convert a dated XP machine into an endpoint for delivering a rich Windows 7-esque experience. Let’s take a look at what it takes to complete the conversion and what the user will get after refurbishing a PC as a desktop appliance.

A second chance for a first impression…

One way to make an impression on your users is to avoid booting to the passé XP login screen. When configured as a desktop appliance, the machine boots directly into the Citrix Web Interface login. You can even customize this landing page to show off your company branding!

Steps for Deploying a Desktop Appliance and Configuring XenApp Shared Hosted Desktops

With the remainder of this blog entry I will walk through the steps to refurbish an XP workstation into a desktop appliance and configure a shared hosted desktop. When all said and done, the desktop appliance will boot directly to the web interface login. This authentication is the only point of user intervention before a Windows 7 desktop experience is presented. The setup and configuration breaks down into 4 parts.

  1. (optional) Customize your XenApp 6.0 desktops using the PowerShell modification scripts.
  2. Publish a desktop and assign appliance users.
  3. Create a desktop appliance Web Interface site.
  4. Refurbish and old PC into a desktop appliance.

Step 1: Enabling a Windows 7 Experience on XenApp 6.0 Desktops

To learn more about modifying your XenApp 6.0 desktops, check out the scripts and materials posted at the Citrix Developer Community website. This step can be done at any time and is not required for connecting to the published desktop via a desktop appliance.

Step 2: Publish a Desktop and Assign Appliance Users

When accessing an appliance mode web interface site, the user is not presented with a choice of published apps or desktops to launch. Instead, the desktop assigned to that user is immediately launched. The result is a one-to-one, user-to-desktop requirement for users connecting to a desktop via appliance mode. In a XenApp environment this means the user should only have access to a single published desktop.

  1. Publish a XenApp 6.0 server desktop.
  2. Assign the desktop to explicit users on the domain.
  3. Ensure that appliance mode users only have a single published desktop available!

Step 3: Create a Desktop Appliance Web Interface Site

The appliance mode site is actually an additional website that gets hosted alongside the standard Web Interface site. The appliance site is created by default when deploying Web Interface for XenDesktop and can be easily added for XenApp. Creating an appliance mode site will not have any impact on existing web interface sites (unless you overlap the URLs).

There is no option for creating or configuring an appliance mode site in the current version of the Citrix Web Interface Management Console. No worries, it’s very simple to do using the Citrix sitemgr tool and a good opportunity to get down and dirty with your web interface site config.

Creating the appliance site:

  • Navigate to: c:\Program Files (x86)\Citrix\Web Interface\5.3.0.
  • Run command:
    sitemgr -c DACDest=1:/Citrix/DesktopAppliance,XMLService=XAServer:XmlSvcPort
  • Confirm the site was created by accessing it at the newly created URL or by checking for the deployment of site files at c:\inetpub\wwwroot\citrix\DesktopAppliance.

Configuring a single domain login:
If all users accessing the appliance site will authenticate using the same domain, the domain field can be hidden to simplify and clean up the login.

  • Edit the file “c:\inetpub\wwwroot\citrix\DesktopAppliance\conf\webinterface.conf” as follows:
  • Uncomment “DomainSelection” and set it to “<yourdomain.net>”
  • Uncomment “HideDomainField” and verify it is set to “On”
  • Uncomment “LoginDomains” and set it to “<yourdomain.net>”
  • Uncomment “RestrictDomains” and verify it is set to “On”

Step 4: Refurbish and old PC into a Desktop Appliance

  1. Install Windows XP or XPe on the client machine. Login as the local administrator.
  2. Enable the guest account.
    • The desktop appliance can be on or off the domain. In this example, we kept the machine outside of the domain and used the guest account as the initial login.
  3. Install CitrixOnlinePluginWeb edition.
  4. Create a shortcut in the all users startup folder that launches IE in kiosk mode, pointing at the desktop appliance WI site. The -k parameter runs IE in kiosk mode, which presents a clipped browser to the user and limits access to the taskbar and desktop.
    C:\Program Files\Internet Explorer\iexplore.exe" -k http://wiserver.mydomain.net/citrix/desktopappliance
  5. Add the desktop appliance site as a trusted site. This is required for the virtual desktop session to be launched without requiring the user to run any ActiveX or approve any dialogs.
    • Trusted sites can be pushed out using GPO. In this example our desktop appliance (client endpoint device) is not on a domain so we push the trusted site down via the registry.
    • Create a key for your domain along with two DWORDs named “http” and “https” with their value set to 2 to indicate a trusted site.
      [HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\mydomain.net]
      <span class="code-quote">"http"</span>=dword:00000002
      [HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\mydomain.net]
      <span class="code-quote">"https"</span>=dword:00000002

  6. Configure auto-login for the guest account. This is done so the user is not presented with any sort of XP login and is passed through to the Web Interface login on boot.
  7. Lock down internet explorer so the user cannot exit the browser running in kiosk mode.
    • Log in as administrator, open regedit.
    • Select HKEY_USERS and then File > Load Hncive.
    • Load the Guest registry hive at “c:\documents and settings\guest\ntuser.dat”.
    • Create the following registry keys and DWORD:
      [HKEY_USERS\Guest\Software\Policies\Microsoft\Internet Explorer\Restrictions]
      <span class="code-quote">"NoBrowserClose"</span>=dword:00000001

    • Unload the Guest hive by selecting it then File > Unload Hive.
  8. Restart or power down the machine. When the machine comes back up, it will automatically boot into the guest account. This account is now configured with a shortcut to run IE in kiosk mode; presenting the user with a web interface login. Once logged in, the user will not be presented with a list of apps/desktops and instead will automatically launch the desktop that was assigned to them.
    • A one-to-one desktop to user assignment is required for appliance mode to work. If you would like your users to have the choice of apps/desktops, simply change the shortcut to hit the normal WI site, instead of the appliance site.

Wrap-Up

Stay tuned for upcoming blogs on delivering a Windows 7-like desktop experience with XenApp 6.0 and deploying different variations of appliance mode on the endpoint. In the future I would like to cover more of the options and methods administrators have for locking down desktop appliances and thin clients. I will end with a quick summary of the stuff I covered above.

  • XenApp 6.0 desktops can emulate a Windows 7 experience using a series of PowerShell scripts.
  • Old XP workstations are great candidates to be repurposed as desktop appliances.
  • XenApp 6.0 Web Interface includes functionality for Appliance Mode connections.

Thanks for reading!