When I was an SE in Southern California back in the day, I had a toolkit that I always referred to for specific things. If you know me from those days, you knew that my biggest tool was the wtsuprn.ini file that I had created to map printers in NT 4.0 and Windows 2000 to the correct drivers on user devices. I was addicted to amassing as many mappings as humanly possible. But I had other things too - for example, a set of utilities that I would use to help troubleshoot applications that I wanted to install on XenApp servers. Well, I was talking to a customer today and it made me think back to those days and consider what my application validation toolkit would look like today.
First and foremost, my number one prescription for any application is application virtualization. This, in my experience, has offered the highest level of application compatibility with the least effort. Basically, what this entails is using the profiler tool in XenApp to package your applications. You create a single package that targets multiple operating systems. What's cool about this is that you can include registry keys, scripts, files, and anything else that you want into the application package. Examples might include a specific version of a system DLL that the application requires but which makes other applications fail. You would just isolate the file in the application package and it is made available to the application during run-time without overwriting the system DLL on the target device. Another great benefit of application virtualization is local and offline application delivery. I can essentially deliver apps to servers much faster but also to PC's and even for use while users are disconnected. This is ALWAYS my first step at delivering any application with XenApp... even those that I know will install directly without a problem.
Alas, application virtualization isn't a silver bullet for everyone. Maybe your vendor won't support it and that's a problem for you. Or maybe the application uses a service that can't be isolated. Well, in that case you might need to use a hybrid approach. You have three choices (I've listed them below in order of my preference).
- Profile the app and stream it (we've already talked about that)
- Install the service onto target machines and virtualize the application components (basically profile the app and stream it. It will be able to communicate with the installed service on the target device at run-time)
- Install the application (this is the traditional method of delivery to XenApp servers)
If you have to go with 2 or 3, then you might need tools to help coerce some "poorly written" applications into working in a multi-user environment. Here is my list of utilities and resources that I would use to give customers and partners advice or to troubleshoot the applications myself. Some are resource lists, others are built into XenApp, others are available as free/shareware or for purchase. If you have a tool that you use, add it to this list as a comment. Let's build a list of resources together.
| Resource |
Description |
|---|---|
| XenApp's Profile Management feature |
HOLD THE MOUSE cowboy. Before you move down the list, you need to read this. Profile management helps you prevent profile bloat. That's a given. You can read all about it at Dave Wagner's blog. However, profile management has a great utility called verbose logging and it's amazing! You turn it on and install an application. Then run the application as a user. You open the log and you have a list of every registry key and file that was written or touched (it's like regmon and filemon in one, just not as pretty). This is great for checking if the app is writing to HKLM or trying to overwrite a DLL or read-only file. Profile management is available in Enterprise and Platinum edition. Open the admin guide by clicking the link and then go to page 28 to see how to activate verbose logging. BUT WAIT... there's more. Profile management let's you include and exclude profile components. So, if an application is writing user settings to a global file somewhere it might be possible to copy it into the users profile for persistence between sessions and OS's. You owe it to yourself to check it out. (BTW... to help you shrink already-bloated profiles, check out profile nurse - free from Sepago) |
| App compat toolkit |
The application compatibility toolkit is a step by step process for validating applications on XenApp. It utilizes best practices and a virtual environment to help make the process easier. |
| Citrix Ready. Community Verified. |
This is a great resource for checking to see if other Citrix customers or partners have had experience with your application(s) and if there are some pitfalls you can avoid. Another great thing about this site is that it also covers hardware compatibility for things like printers. Please contribute if you can. It's only as good as the community makes it. |
| Terminal Server Microsoft KB Listing project |
The holy grail for administrators and developers. It begs the question... Is there such a thing as too much information? Here, Jim Kenzig lists every single article he could find on developing, securing, troubleshooting, yada yada yada for applications running on Terminal Services. |
| App DNA |
OK, so it's a 3rd party and it's for charge but if you're sufficiently in a jam and have nowhere else to turn, chances are these guys can help. If I were a customer though, I'd leave all the messing around here to my resellers/solution advisor because if you haven't figured it out by this point it's probably worth paying someone else to do so. |
I hope this core list helps you. If you've got other tools, by all means... please list them below as comments and give us a little information about them. Also, I'm interested in knowing how many of you are using application virtualization and profile management. To that end, I'd appreciate if you could complete the quick poll's below. Here's to the community.
UPDATE: You may also wish to check out the TechTalkthat Dan Feller is doing on Application Validation.
Vinny Sosa
Every organization is cutting costs, looking for ways to save money - 'doing more with less' CIOs are making it clear to their IT organization - find cost savings, in one meeting the CIO said we need to find projects that will save us $2M+ and we need a few of these now!
In all the meetings I have had, Citrix has been at the top end of possible projects that can really save money now! Citrix champions within the IT organization are being called on to expand and accelerate their projects. For a long time these Citrix champions were seen as a niche group within IT, now they are being called upon to lead larger projects as their work has been at the core of saving organizations real dollars as they centralize and virtualize their application environments.
Often, projects around Citrix technology have not been specifically about cost savings, it's usually solving other problems, such as application delivery for challenging apps, providing remote and secure access to applications or giving access to new locations/branches or home users. All these scenarios also include an element of cost saving, using Citrix was always the lowest cost option.
What is not so obvious is that these Citrix projects where not just the best/lowest cost option but also they provided real cost savings to the organization, reducing the TCO for the IT team, and providing best in class ROI. Gartner did some studies that showed Citrix XenApp ROI was less than 9 months. (To get a TCO and ROI calculator done for your organization ask your Citrix partner contact to build one for you.)
Delivering all your Windows apps with Citrix XenApp is at the heart of the real cost savings, Check out the compatibility tool, http://community.citrix.com/citrixready if your app is not listed it you can add it. Saving of over 40% on your desktop management costs can be realized by running all your apps via XenApp.
Whether it's about TCO or ROI, Citrix have always shown excellent results and now that cost savings are the priority, Citrix champions are shinning a cost savings light on their organizations. To find out more about saving real money for your organization and meet some of the real Citrix champions working at our customer sites come to Citrix Synergy in May 2009 http://www.citrixsynergy.com.
Citrix champions speak out! Are you seeing your projects increase in these financially challenging times? Are you shining a cost saving light for your organization?
The App Compat Toolkit for XenApp is a valuable web resource that contains essential tools and best practices to help customers and partners quickly migrate applications to XenApp. It's as easy as Analyze, Virtualize and Validate.
Analyze - Quickly determine which applications have already been delivered with XenApp by searching the new Citrix Ready Community Verified online database.
Automatically assess the application in your environment to understand any incompatibilities in detail by using the AppTitude Virtualization Manager for Citrix XenApp from our ISV partner AppDNA. This product is currently in beta, click here to download.
Virtualize - Best practice is to virtualize every application and manage as a single instance in the datacenter. This reduces incompatibility and conflict on the server and on the user machine and dramatically reduces testing and support costs
Validate - Choose the application testing method that is best for your environment. Test in house with fully configured Evaluation Virtual Appliance (EVA) or the new Citrix Ready Virtual Lab online test portal. Either way, you get to Proof of Concept and final deliver faster and with more confidence. To learn more, go to the Validate page.
The App Compat Toolkit for Xenapp gives you:
- Faster time to application delivery
- Increased confidence by following best practices
- Quicker remediation of application incompatibilities
- Leverage of the experience in the Citrix community
We introduced this last week at Summit and have received a favorable response. Please tell us what you think? Please leave a comment.
Determining application compatibility in a XenApp/Terminal Server environment has long been a task that tended to be hit or miss, or should we say, try it and see if it works for certain application. The Citrix Ready team and other teams in Citrix have been working with teams in Microsoft to try and ease this pain a little. I wanted to realy a tool that the TS team in Microsoft has been working on to help with the App Compat story moving forward with Longhorn and XenApp 5.0. The tool is called the Windows Server 2008 TS Application Compatibility Analyzer and is currently in Beta. As most of us know, the first step in being compatible with XenApp is to be compatible with Terminal Services. From my discussions with the MS TS team, this tool is NOT , nor designed to be backwards compatible with Windows Server 2003 and TS, but is definitely a step in the right direction for the future. I fully expect the cooperation we have with the MS team in this area will continue to grow and we are able to eventually have a better set of tools and data to help our joint customers better determine application compatibility in a XenApp/TS environment, and we are following the progress of this area closely in the Citrix Ready team to ensure we leverage such technology to grow the Citrix Ready program as well. So in the near future, you may find this tool, or similar tools being a pre-requisite for ISV applications to be come Citrix Ready.
Links:
Terminal Services Team Blog - Terminal Services Application Analyzer Beta
Microsoft Connect - Terminal Services Application Compatibility
TS Application Compatibility Download Beta Page
If you have other tools or favorite links to share that can help our Citrix Community with App Compatibility testing, please share you comments below.