The case of the SoftGrid dependent virtual application

An interesting thing happened the other day.    

While testing an upgrade scenario to Microsoft Application Virtualization 4.5 (beta), where we deployed several of our SoftGrid 4.1 applications to the 4.5 client after opening and closing them in the 4.5 sequencer, one particular application stood out.

This particular application depends on certain (conflicting) crystal reports dll’s which is why it’s run on MAV in the first place. Most of the application is located on a fileshare (including the main exe) and the sequence consists merely of files in the VFS and some Virtual Registry. Needless to say this application runs successfully on 4.1.

So while running this application on MAV Client 4.5 it errors stating that Crystal Reports is not correctly installed. Note that the application launches and that this error pops up while touching a certain reporting function.


No changes have been made to the sequence (other than opening and saving it on 4.5) nor to the backend, nor on any of the user-privileges. So why isn’t it working?

Well process monitor indicates that it’s looking for craxdrt.dll (a crystal dll) which it can clearly find in a subdirectory of CSIDL_PROGRAM_FILES_COMMON. So Crystal isn’t our problem.

Further down the log we see that the application is looking for MSVCR71.dll (and MSVCP71.dll) and it’s anxiously searching for it in several directories, but fails to find it. So the application is saying it’s missing Crystal Reports when it’s actually missing a Visual C Runtime component. So why is this application working on 4.1? As I stated the package itself wasn’t altered.

A look under the cover of the 4.1 sequence on the 4.1 client reveals the secret.


On the 4.1 client the application also is looking through several directories but this time it successfully finds it in the directory C:\Program Files\Softricity\SoftGrid for Windows Desktops. These files are actually no longer present in the most recent version of the client, ending in application failure.

The most probable reason why these files weren’t captured during initial sequencing is that the sequencer itself installs them (as does the client) and apparently the application doesn’t. In all testing and production scenarios it could rely on the files that were installed by either the sequencer or the client.

So guess I’m saying this virtual application is dependent of the SoftGrid client in more than one way. Be aware of these kind of dependencies in any particular upgrade scenario.

Application Virtualization 4.5 Release Candidate 1 available mid-June

I just received news that Application Virtualization 4.5 Release Candidate 1 will be made available mid-June on Microsoft Connect. They only moved one month from their original date. So that’s good news! This was announced at the Microsoft Management Summit in Las Vegas.

There will be many improvements and also some new features since the Beta version that was released in November 2007.

New SoftGrid 4.5 Unleashed Course available!

I just wanted to let everyone out there know that me and a couple of my colleagues developed a new course called “SoftGrid 4.5 Unleashed”. More than 5 years of SoftGrid experience and Best Practices from me and my colleagues went into the development of this training. The training is scheduled to take place multiple times in Amsterdam, The Netherlands. But also in Phoenix, United States, Frankfurt, Germany and Mechelen, Belgium in multiple languages.

We still have some seats available for the upcoming English training in Amsterdam, The Netherlands on May 19th to May 22nd.

Click here fore information, training schedule and registration…