App-V 5.1 | The Feature Run Down

Share on facebook
Share on twitter
Share on linkedin
Share on reddit
Share on stumbleupon

Great news, App-V 5.1 has finally been released! It has been a little while since the announcements at Ignite but now it is here at last. Overall this release goes a long way to consolidate all the work that has been put into App-V 5.0 since its original release and sends a strong message to anyone still on 4.6 that it’s time to migrate.

Here’s the official announcement and below is an overview of all the new features! Keep scrolling for a full run down…


Improved package conversion for 4.6 to 5.x

Added support for multiple scripts per event

Added enhanced Package Editor abilities


Modernised App-V Server Console


Windows 10 support

Reduced Copy-on-Write extensions exclusions list

Merged Environment Variables for Connection Groups

Consolidated and simplified client event logs


Improved package conversion for 4.6 to 5.x

App-V 5.1 brings about some marked improvements with the conversion tool, a feature which has had focus in releases previous to this one in an effort to improve the success rate that users can achieve when converting their legacy 4.6 packages over to the new format. 5.1 brings a range of improvements, the main two being the ability to carry across scripts from legacy packages over to the new format and the support for root drive hardcoded paths.

Script Conversion

App-V 5.1 will convert any legacy HREF 4.6 scripts over to the new format as shown below:


The 5.1 Sequencer will try and correlate events and triggers accordingly and give pretty decent feedback when it makes assumptions. For example here we are advised that the LAUNCH event as been translated into a StartVirtualEnvironment event, it also gives information about how it will treat the WAIT=TRUE in my legacy package script:


You may also notice the new switch available called -OSDsToIncludeInPackage which allows us to specify which .OSD files should be consumed into the package and User/Deployment Config XMLs, before 5.1 this granularity wasn’t available and all OSDs got pulled in.

As mentioned only HREF conversion is supported along with environment variables and registry, SCRIPTBODY is not supported:


Hardcoded Path Translation

The Q:\ drive (or whatever letter you used as a mount drive in 4.x) was an integral part of how we packaged in the legacy version of App-V, this means there is a strong possibility your 4.x packages have hardcoded paths tucked away inside its files (commonly in .ini, .conf and .xml), this is partly the reason why Microsoft always insisted the same drive letter was used as a mount across Sequencer and all clients.

Previous to 5.1 the converter never really dealt with this and would warn you after conversion:


Now with the improvements made in App-V 5.1 we will find that no warnings are given. That is because the Sequencer will pick up on the presence of these hardcoded paths and create a legacy mount drive mapping within the FilesystemMetadata.xml


By injecting the Q:\ Drive location into the root level translation, the client will know to map any requests from package processes to the mount drive into the relevant VFS location. Previously you would have something similar to this in the same file which likely would have meant your package would fail if it tried to refer to files in its own root via a hardcoded path:


Added support for multiple scripts per event

Bringing back a long awaited parity point with 4.6, 5.1 now supports multiple scripts per event. This basically works by calling a “scriptrunner.exe” as the path for your script handler. You will notice this .exe is included as part of your App-V Client install. You then simply pass -appvscript parameters in the section of your script to list out all the scripts you wish to run.


For example we might have something similar to below if we wanted run multiple scripts upon publish of our package. Notice we not only have the ability to call scripts but to also pass arguments against them and specify App-V related parameters too.

-appvscript checkregistry.ps1
-appvscript checkprereqs.vbs –appvscriptrunnerparameters –wait –timeout=15 –rollbackonerror
-appvscript checkerrors.bat "error.log"
<Wait timeout="75" RollbackOnError="true"/>
Added enhanced Package Editor abilities

So the familiar package editor has also had a bit of a revamp with a few key improvements:

Ability to import and export the manifest.xml

This allows you to make changes that become permanent and default within the .appv itself rather than rely on the dynamic configuration files. For example if you had a script that is required to allow your package to run and this script was required for all deployments then you could put this script into the manifest.xml and import it into the .appv. This feature is on the Advanced tab of the Package Editor.


Luckily the boys over at Virtual Engine have already updated ACE (my go to dynamic config .xml editor) to now support manifest.xml files! Check it out here.

Ability to disable Brower Helper Objects (BHOs)

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.



File and registry management improvements

There has been a range of small improvements made to the Package Editor in terms of the way we work with files and registry. Some improvements are less noticeable like the current path being displayed as you navigate the registry, others are more noteworthy such as the addition of “find and replace” and the options to import entire registry locations or file directories. All of these features increase the usability of the package editor and should make life that little bit easier.




Modernised App-V Server Console

App-V 5.0 brought forth a new web based management console built on Silverlight. In 5.1 this console has now been re-written in HTML 5. This should allow much easier development of the console going forward and also hopefully get rid of some of those annoying window scaling issues seen in the previous console.


Other improvements to the console include specific URLs per page which mean it is easy to bookmark or share links to specific pages or packages:


Auto resizing of console for those of you eager to use the console on smaller screens such as mobile devices is also accommodated:


Also a new notification centre that is less distracting and less tedious than the last with its overlapping notifications that needed to be individually dismissed. The console allows you to just click anywhere on the screen to ignore or dismiss all notifications in a single action if you want to clean up:



Windows 10 support

As you would expect with the recent release of Windows 10, it is now also supported with this new release of App-V.

Reduced Copy-on-Write extensions exclusions list

As some of you will remember App-V 5.0 had a long list of CoW exclusions (file types that cannot be written into the VE while it is running), you can refer to this here. 5.1 has now shrunk this list of 59 file types down to the following:

  1. .exe
  2. .dll
  3. .ocx
  4. .com
Merged Environment Variables for Connection Groups

Probably one of the more ‘under the hood’ and less visible changes, packages in a connection group will now merge their respective environment variables. In previous releases only the top level package of a connection group registered environment variables.

Consolidated and simplified client event logs

A great step forward to troubleshooting, anyone who has had to do beyond basic troubleshooting of the App-V Client will be familiar with the App-V Debug logs, a long list of an additional 32 nodes containing logs which could be enabled. The problem was knowing which log to enable. Microsoft have now rolled up these logs in a more simplified model which retains the three Admin, Operational and Virtual Applications nodes but has consolidated the debug logs into five additional logs.



5.1 training banner 3

Leave a Reply.

36 thoughts on “App-V 5.1 | The Feature Run Down”

  1. Thanks Thamim for your quick post with a clear explaination.Hope App-V 5.1 will be more advantageous. And ofcourse will be expecting new posts from you in upcoming days.

  2. Is there any possibility that App-v 5.0 will also support windows 10, or we have to move to App-v 5.1 for Windows 10.

  3. So still no ability to go back and directly edit shorcuts after the initial sequencing stage? We still have to pretend we are adding a new app to the package & go through all the hoops to access this dialog?

    • Thank you Thamim, This blog is one of the best informative and life saver,
      I wanted to know that , is there any specific reason for removing direct shortcut editing tab?

    • Hi Mark, Thanks for raising the question. The info was from Microsoft and I was involved in presenting this at Ignite earlier in the year. I will talk to the guys at MS to get the TechNet article updated.

    • Hi Mark, just a follow up to let you know Microsoft has now changed the TechNet article to align with the exclusions mentioned in this post.

      Thanks again for raising this.

      • Hi Thamim,

        The link “” still shows the CoW exclusion list with 59 file extensions.

        Could you please confirm if the list on this page (with only 4 file extensions) or the list in the above link is the updated?

        Thanks in advance.

  4. Hi Thamim,

    Any link to download the App-v 5.1 Sequencer and Client setup?
    Also, I want to know that the applications that will be converted from App-V 4.6 format through App-V 5.1 will be supported by App-v Client 5.0 or not?

    • Hi Mohit, please use MSDN or your VLSC portals. 5.1 packages will be supported by the 5.0 client however I would recommend upgrading the clients. The official order of migration upgrade is:

      1. App-V Server
      2. Sequencer
      3. App-V Client or App-V Remote Desktop Services (RDS) Client

  5. Thamim, have the AppV advanced logs been removed in Appv 5.1 or consolidated? I have only just had a chance to look at AppV 5.1 and noticed these seems to be very different then 5.0.

    Any help much appreciated.

  6. Hi Tham, Can I have yours and others thoughts on whether the App-V 5.1 client installation on a clean machine requires a reboot or not. The install logs do not request one but connecting to a VDI machine over ICA I have noticed that the appv client cmdlets will not load.

  7. Hi Thamim,

    I would like to know what the “ProductSourceURLOptOut” tag actually in the Deployment Config.xml really does. I have referred the url: But it didn’t give me much information.

    Also, I would like to like understand the use of xmlns=”” tag in the userconfig file.

  8. Hi Thamim,
    I am using App-V 5.1 sequencer in Windows-10 Anniversary Build, whereas when i tried to convert App-V 4.6 packages it is showing that appvpackageconverter is not installed.

    I have Installed the Sequencer through WIN10 ADK.
    There is no option (Feature) to select the App-V Converter Installation.

    Tried with Appvsequencer.exe as such done in windows 7 machines,but throwing error that it could not be installed.

    Is there any other way to Install it.please suggest.

  9. Hi Thamim,
    I’m using Windows 8.1 VM and local admin account non-domain joined VM, trying to run multiple scripts with scriptRunner.exe, having issues when trying to launch the package with the deployment configuration.xml Or user configuration.xml. They don’t seem to be run the permissions script or Powershell script, the files have been added to the package. extract taken below, am I do something wrong.?
    -appvscript %windir%\System32\WindowsPowerShell\v1.0\powershell.exe -executionPoilcy bypass -file “[{AppvpackageRoot}]\..\Scripts\Set.ps1 -appvscriptrunnerparameters –wait –timeout=40 -rollbackonerror
    -appvscript CMD.exe /C ICACLS.EXE “[{AppvPackageRoot}]” /Grant Everyone:(OI)(CI)F -appvscriptrunnerparameters –wait –timeout=60 -rollbackonerror

  10. HI Thamim,

    I started learning App-v , want to know when we will use user scripts and machine scripts.

    it would be great if this can be explained with a good examples.

Comments are closed.