GLADIATOR@MSFT

Adventures in Desktop, Application, and User State Virtualization

AppV: On Devirtualization

AppV: On Devirtualization

  • Comments 3
  • Likes

So, I am hanging out on the Technet Forums one Saturday night and I got inspired by a thread (http://social.technet.microsoft.com/Forums/en-US/9b136314-77be-4568-8bc6-6e2ed865f43e/this-document-could-not-be-opened-it-does-not-appear-to-be-a-crystal-report-document) to write this particular blog post. Yes, before I go any further, I will acknowledge the pathetic revelation of what I like to do on a Saturday night - because there is nothing more wild and crazy than hanging out on the forums. Anyway, I wanted to stress the importance of how you can use the sequencer as a troubleshooting mechanism to determine whether an issue with a problematic application is tied to the sequencing process or is an issue with virtualization (in general or with a particular virtualization subsystem.) So, it makes total sense that here I am late on a Friday revealing doing something I love to do – wax poetic about App-V on my blog!

So, if you encounter errors in your application and you suspect that an important asset was not captured during sequencing or you cannot eliminate whether or not a clean sequencing machine was used – you can always DEVIRTUALIZE! Devirtualization is a great step in troubleshooting as it helps you determine if an APPV package has all of the necessary file and registry assets. Here is what you need:

You will need a clean sequencing machine with . . .

  • . . . the same version of the sequencer used to sequence the application.
  • . . . any dependencies or middleware that the application needs to run (otherwise not included in the package.)
  • . . . a troubleshooting toolkit (i.e. Process Monitor)

Once this is in place, copy the package to the sequencer machine and then launch the sequencer application. From the Tools menu, select “Expand Package to Local System.”


Select the APPV package. It will then expand the package to a local installation footprint. If the application was sequenced properly, then all of the file, registry configuration, environment variables, and extension points will “install” to the local operating system. Once the expansion has completed, you can then proceed to launch and test the application. If the application functions correctly, you know the problems you have encountered with the application are not a result of sequencing issues. You can then redirect your troubleshooting towards issues including but not limited to:

  • Virtualization subsystems (Virtual COM, Virtual Objects, Virtual Services, VFS, etc.)
  • Incompatibilities with virtualization as a whole (drivers, COM+, etc.)
  • Information that could have been captured incorrectly in the FSMetadata.xml file (Short Names, Directory Opacity)
  • Registry Opacity
  • Static Dependencies

If the application fails to launch or function as expected after de-virtualization, then you can proceed to troubleshoot using your troubleshooting toolkit. Usually Process Monitor is quick to isolate these issues (missing files or registry entries.) However, you should always inspect the native equivalent of the extension points as well.

Comments
  • It's an essential feature - and I'm using it right now with a problem app, but narrowing down the root cause isn't easy.

    What we could do with more of are tools and resources (e.g official MS DOCUMENTATION!!!) on going down each of the options you mention.

    My current headache is thus:

    With App-V 4.6 (albeit on an older version of Windows) the app works 100%

    During sequencing with 5, the app works 100%

    After sequencing,and loading up the appv - one function doesn't work.

    Devirtualizing onto a clean image, the app works fine.

    Now, trying to use Procmon threw up some possible candidates - but I'm dealing with a .Net app that generated 55k events on just the main .exe alone.

  • What's the version build of the App-V client? What is the app in question? it does sound like a virtualization issue.

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment