Lately I have been working a fair bit with application streaming in my environment. This week, in fact, we have cut over part of the environment to application streaming instead of application publishing. Taking into account the known limitations and slight differences between local application installation and application streaming everything is going really well.

I have now moved onto testing the feasibility of other applications with application streaming. OpenOffice 3 is one such application. Up until now I have not experienced any really big issues with streaming applications. So I tried to profile the OpenOffice installation with the Citrix streaming profiler 1.2.

Everything seemed to profile ok. I don’t normally run the application during the profiling process. So when I tried to launch the application all I got was a nice error message.

An error occurred while starting your application

An error occurred while starting your application.

Where to start?

Once I got this message I reloaded the package profile and attempted to run it in the profiling tool. Still no good, this time you get a little error window with a red circle with the white cross and no text. I spent a little bit of time looking through the profile to see if I could find anything that looked wrong. Nothing. The Citrix support forums indicated that VC 2008 runtimes were required, so I loaded these, but it did not seem to change anything.

A filemon of the application didn’t reveal anything really either. The only real system references I found were to the c:\windows\WinSxs folder. So this is where I started focusing. I was working in a virtual XP environment so that I could roll back as required.

I copied the system files from the isolated WinSxs folder to the systems folder. No joy.

I needed to look at a working copy of OpenOffice 3 to see if I could find any missing files or registry entries. I loaded OpenOffice on the same profiling machine. It worked fine. But what was interesting was the profiled application also worked from within the profiling application. This indicated to me something was missing.

I rolled back the machine and used another tool called regsnap to capture the changes made by the OpenOffice installation. Again nothing really looked different. I captured the registry keys and files installed and tried copying them around. The only folders modified were in c:\windows\WinSxs. Eventually I made something new happen.

Now when I ran the OpenOffice from within the profiling application I received a new error message:

The application failed to initialize properly (0xc0150002). Click on OK to terminate application

If you tried to run it now with the XenApp streaming client you will not see anything. It does not launch or generate any error messages.

What was it?

The VC 2008 runtime distribution installed the correct VC90 core run times into the c:\windows\WinSxs\Manifests folder. These files changed the error message received from the first to the second. But it still was not working.

I copied the OpenOffice files one folder at a time. Then I re-ran the application in the application profiler. Once I copied the OpenOffice.org 3 folder it worked. I started renaming folders from the OpenOffice.org 3 folder and eventually found that I required these:

c:\program files\OpenOffice.org 3\Basis\Program

c:\program files\OpenOffice.org 3\URE\bin

In fact you do not need any files in these at all. The application seems to look for them. You can manually create them. Once you do this the application runs correctly.

Folders

Wrap up

I am still not sure why you need these folders.  Maybe someone else can help us out with that answer. I will look at isolation rules and do some more filemon to see if I can nut that out in the future.

How to stream it then? I will probably implement a pre-launch script that creates the folders I need or just create the empty folders on the machines by hand.  Each client that wants to run OpenOffice 3 will need to have the VC 2008 runtime distribution installed.

Apparently the Citrix Profiler 1.2 does not handle VC 2008 correctly at the moment but the next version will. I hope that comes out pretty soon.