Jul 11, 2013 - 20 Comments - Virtual Vibes -

Shell Extensions and Runtimes with App-V 5.0 SP2

So it’s no secret that one of the major improvements to come along with the App-V 5.0 SP2 Beta is the way we now handle and support shell extensions and runtime dependencies. Let’s take a closer look…

Shell Extensions

They are finally here! Probably the most requested feature when we talked about improvements for the App-V Sequencer.


This is what we would see pre-SP2 for App-V 5.0:


An extensive list of shell extensions are now fully supported, including:

  • ·         Context menu handler
  • ·         Drag-and-drop handler
  • ·         Drop target handler
  • ·         Data object handler
  • ·         Property sheet handler
  • ·         Infotip handler
  • ·         Column handler

This means shell extensions such as the ones you get with WinRar are now supported when delivering via App-V. The great thing about all of this is no extra work is required.

Shell extensions show themselves inside the AppxManifest.xml:

Another thing we support is ActiveX controls and Brower Helper Objects:

ActiveX Controls

ActiveX controls are now registered and supported via the AppxManifest.xml


The example above shows the control registered by Flash Player, this is used for things such as Internet Explorer integration. This means RunVirtual is no longer needed for this scenario, unfortunately the application still has to be published globally for this to work however.

Browser Helper Objects

Another extension we support are browser plugins, again aiding scenarios where we need applications to integrate with IE.

The example above shows the plugin Adobe Reader registers for Internet Explorer. Once we publish it globally to the machine, no extra work is required, the next time we open up Internet Explorer we will see the plugin is available to be enabled:

Again this means the RunVirtual feature doesn’t need to be utilised in this instance.

Runtime Dependencies

The other leap forward brought with SP2 is the how we now automatically package and deploy SxS Assemblies, most commonly in the form of  VC++ run-time dependencies and MSXML.

These are automatically detected, the great thing about this is that is regardless of whether they are already on the sequencing machine or not, this is done by scanning the executable for any dependencies. On the client side, we will check for the presence of the required SxS and if it is not there it will be automatically installed.

You can review captured dependencies after sequencing also within the report.xml file:

Of course if you don’t want the Sequencer to automatically capture these dependencies there you can stop the behaviour by going to Tools -> Options in the Sequencer:


20 Responses to Shell Extensions and Runtimes with App-V 5.0 SP2

  1. Peter Wood

    When can we expect the official Release of SP2?

    26 Apr 2014 - Reply
    • Thamim Karim

      Unfortunately there is no publicly available date to share at present for SP2.

      26 Apr 2014 - Reply
      • Peter Wood

        OK; Thanks.

        26 Apr 2014 - Reply
  2. Danny

    Any release date available now?

    26 Apr 2014 - Reply
  3. Amal

    If we want to Virtualise an ActiveX component today in AppV 5.0 SP1 is the only way RunVirtual?  If our requirement is that we have 2 different versions of an ActiveX to isolate from each other then that doesn't get resolved by RunVirtual because it all runs in one big bubble.  For example, can you still create the I.E shortcut and virtualise each ActiveX separately as you could in AppV 4.x using AppV 5.0 SP1 – is this what you are specifically resolving with SP2 and if so how long till the release?

    26 Apr 2014 - Reply
  4. DAPP #

    Tried sequencing Salesforce for Outlook plug-in as an add-on in App-V 5.0 SP2. But while launching the shortcut, natively installed outlook is not recognizing virtualized salesforce plug-in. Does shell extensions, will work only for browser plugin or for all other plug-ins also.. I am stuck up here, can u pls help me out…. Am i missing anything???

    26 Apr 2014 - Reply
    • Thamim Karim

      Hi there, I haven’t seen this functionality working with anything other than Browser helper objects and ActiveX Controls. You may need to use RunVirtual for your scenario.

      26 Apr 2014 - Reply
  5. VirtualizeMe-123

    We have virtualized many ActiveX controls pre SP2 without much issue. To access the IE with the virtual plug-in we removed all native shortcuts to IE and published one with the /appvve switch. Everything is published on a per user basis

    26 Apr 2014 - Reply
  6. App-V 5.0 Ramp up Guide | VirtualVibes

    […] Shell extension and runtime support | Blog […]

    1 May 2014 - Reply
  7. rohit

    Hi Thamim,

    I am working on appv5.0 SP2 packaging.
    one of my shortcut of application gives error that “409: ACTIVEX Component can’t create objects”

    any suggestions on this?

    8 Aug 2014 - Reply
  8. Sequencing a Shortcut in App-V 5.0 – Local and Virtual Interaction | VirtualVibes

    […] might be thinking RunVirtual or even the new integrations we have with App-V 5.0 SP2 has pretty much deprecated this technique, however there still might be instances where you want […]

    14 Jan 2015 - Reply
  9. Thati555

    Hi Thamim,

    Is shell extension supported only in global publishing scenario? It doesn’t seem to be the case with WinRAR and Notepad++. I have sequenced WinRAR with APP-V 5.0 SP3 and published to User group and I see the context menus appeared automatically without any extra work. However, for ActiveX and I had to create run virtual key for IE process. Could you please tell me if I’m missing anything with Shell extension?

    17 Jun 2015 - Reply
    • Thamim Karim

      Shell extensions do not need to be published globally, however ActiveX plugins to need global publishing to work natively.

      19 Jun 2015 - Reply
  10. App-V 5.1 | The Feature Run Down | Virtual Vibes

    […] This new checkbox allows you to choose not to have BHOs enabled in your package, previous to 5.1 BHOs where enabled by default with no way to change this in the package. Now for example if you want to publish a package globally but don’t want BHO integration to occur you can untick the box shown below. It will then comment out the BHO references in the manifest so they no longer apply, notice it doesn’t use a true/false switch like other integrations. If you’re wondering what BHOs actually are, then scroll half way down this post here. […]

    17 Aug 2015 - Reply
  11. App-V 5 FAQ: Visual C++ Redistributable as local installs or allow App-V to deploy as needed? | Aaron Parker

    […] Shell Extensions and Runtimes with App-V 5.0 SP2 on Virtual Vibes […]

    29 Oct 2015 - Reply
  12. Mistral

    Hi Thamim

    according to

    they need to be published globally.

    In the text:
    Requirements for using shell extensions:
    Packages that contain embedded shell extensions must be published globally.

    In the table below the ‘X’ is missing for global publishing, though.

    Which one is true now?

    I have seen not working shell extensions when not published globally.

    1 Jun 2016 - Reply
    • Thamim Karim


      In my testing I have always found user targeting sufficient for shell extension integration

      1 Jun 2016 - Reply
  13. Frank Fette

    Hi Thamim,
    the pictures are gone.
    They refer to http://blogs.technet.com/resized-image.ashx/__size/550×0/__key/communityserver-blogs-components-weblogfiles/00-00-00-96-30/8547.shellmanifest.png
    Can you repair it. (You have an backup of the originals? :))

    Regards from Germany

    17 Jan 2017 - Reply
    • Thamim Karim

      Hi Frank,

      Thanks for the heads up. I have now fixed this so should all display as intended now…

      27 Jan 2017 - Reply

Leave a Reply

Your email address will not be published. Required fields are marked *