Where’s my MSI?

Posted by Jim Moyle on June 18th, 2009
When implementing a new VDI or terminal server project, the biggest stumbling block is not usually the solution framework, be that VMware, Microsoft or Citrix.  It’s the applications.
It’s those odd one or two apps that have either been created in house, are cheap bespoke applications or an app so old that it’s ceased being developed and is now out of support.
If the application is old and out of support I can’t blame the vendors, it’s the customer who should never have gotten themselves into that situation.  It’s the other two situations that need to be looked at.

Small application vendors need to raise their game, it’s no longer good enough to code an application, check it works on your local copy of XP or Vista and sell it to the customer.  Terminal services has been around fifteen years, and Application Virtualisation five years, these are no longer new technologies.  If I phone up a vendor and ask them what’s the correct way to install their application on terminal services or App-V, I don’t want to hear ’sorry that isn’t supported’.

In the past, I’ve had an application vendor hand me a ten sheet document with installation instructions for their app on TS, it went like this:
Create user X,
Assign Y and Z rights to User X
Install weird application service
Add User X to application service
Find Reg key HKLMSoftwareVendorxxxxxxxxxxxxxxxxxx-xxx-xxxxxxxxxxxxx and create DWORD value zzz IMPORTANT! see note
Once all these steps are finished, run the application and click the buttons m through p
Once done install the plug-in as normal.
note:
If you cannot find the regkey DO NOT install weird application service, create ODBC connection as shown on page 9

etc.

In my opinion the customer should have refused to accept this and asked the vendor to finish the application.
The reason that I want vendors to provide MSIs is that they have several advantages over other methods of installation:

  • Database driven instead of script driven
  • The application is installed in an administrative context
  • MSI provides a standard package format
  • Transactional install and rollback
  • Customisation via MST files
  • Many tools available

The tools part is starting to get really interesting, Apptitude have released their App-DNA product, which will test whether your app is suitable for Citrix, App-V, Windows 7, x64 and more.  If you have an MSI, it only needs to look at the MSI tables, you don’t even have to install the application to get the report.

Acresso, the folks who make Admin Studio, have developed a new feature which allows direct conversion from an MSI to an App-V, Citrix Streaming or VMware ThinApp package.

Both the above technologies can drastically reduce the time taken to implement new application delivery methods.  To best take advantage of both tools you need applications provided in an MSI format.

The main reason that I have found applications not being delivered in the correct format is that organisations have not realised that it is vital that the IT department of any organisation is involved in the decision making process when it comes to purchasing new applications, at the very least they need to set the minimum standards required:

  • The application should be provided in an MSI format
  • The vendor must suport multi user OS deployment
  • The vendor must support application virtualisation/streaming

If you are an application vendor and it’s ‘too much effort’ to support the above minimum standards, I would suggest you are cutting yourself off from a large and growing sector of the market.

If you develop applications in-house or are purchasing a bespoke product, there is no reason why standards should slip, apply the same set of rules to these as you would to an off the shelf product.  A bit more development time, is going to save you a whole lot of heartache in the future.

Citrix Streaming vs Application Installation best practice

Posted by Jim Moyle on June 3rd, 2009

Citrix say that best practice is to always stream your applications and only to install them as a last resort, I think there are at least a few occasions where the right thing to do isn’t to stream first and I thought I’d have a go at looking at those situations.

Last week I watched a webinar by Daniel Feller who is the “Server, desktop and application virtualization senior architect from Citrix” and he went into why it might be a good idea to stream all your apps.  He did say that since it normally wasn’t possible to stream all apps, mixed mode environments were what you would expect, with some streamed and some installed applications.

If you want to watch the webinar its recorded here TechTalk: Fact vs. Fiction: The Truth about App Compatibility & Citrix.

I like to keep things as simple as possible and anticipating using two technologies to put apps onto a Citrix server seems the wrong way to me, I’d much rather just use one.

As streaming can’t cope with drivers, services or apps that license based on MAC address you are likely to get at least a few that are not suitable for streaming.

Installing has a much higher hit rate than Streaming, most of the issues around multi user apps have now been solved including DLL Hell.

If you can get all your apps installed and working, why would you employ streaming?  This doesn’t mean I’m in favour of application silos, I mean if you can get all of your apps installed on the same server.  The apps will tend to work as they should as they are installed ‘naturally’.  Of course you should then package them for distribution, but that’s a whole other post.
Daniel put up the following slide near the end of his presentation:

I’d say your first impulse should be to install your apps, if you think you can get them all without any silos.  So columns one and two should be reversed.

If you need help getting your apps to work, have a look at this application validation toolkit

When installing applications you need a reliable way to build and re-build servers, re-install and update apps, while it is possible to script, a more reliable method should be used. You could use a generic server build tools or there are more specialist advanced building tools available from Citrix partners.

On a separate note, if you are interested in VDI or Terminal server solutions you could do a lot worse than look at Terminal Server and XenApp tuning tips recently published by Pierre Marmignon


Copyright © 2007 JimMoyle.com. All rights reserved.