Kirx' Blog -

Server-free Reporting with App-V 5 (Part 1) | May 18, 2014

Document_ReportingWith App-V 5 Microsoft allows to collect client reporting data also in scenarios, where neither the Native Infrastructure nor the Config Manager integration is used. In this article we discuss how to collect App-V Client reporting data just on a file share – and why this isn’t as easy as it appears to be.


Back in App-V and SoftGrid version 4, the App-V Management Server also collected usage data, stored that data in the single App-V database and generated some nice reports using the App-V Management Console. With App-V 5 this changed in several ways.

The most significant change is that in App-V 5 reporting information can be collected regardless of the deployment model. Whether you have a Native scenario (with App-V Management and Publishing Servers), use the integration with System Center Configuration Manager, deploy your packages by leveraging the .MSI files or use other technologies that often leverage App-V’s Powershell interface – all methods allow to configure the App-V client to collect and upload reporting data in the same way.

Reporting Data Collection with App-V Reporting Server

You may have hesitated from implementing App-V 5 Reporting, because basically all guidelines about how to configure it require you to install 1.5 App-V specific services. The ‘1’ service is the App-V Reporting Server, an IIS web application that collects reporting data, and the ‘0.5’ component is an database to store all the data, running on MS SQL Server.

Some of the introductions into App-V Reporting illustrate that:


Also just assumes the usage of a Reporting Server. identified an issue during installation of that component.

Even in our App-V Book we use a section of the Native Infrastructure chapter to talk about App-V Reporting Server installation, as it is very familiar to setting up the other native App-V server components.

Reporting Data Presentation with SQL Reporting Services

Furthermore, there are several sources that indicate that you not only need to install the App-V Reporting Server, but that you also should use MS SQL Reporting Services (surely not a lightweight installation), too. This is true, because none of the App-V components can actually generate reports. The only things you get out of App-V is a bunch of data.

Nicke Källen’s artivcle points to instructions how to set up MS SQL Reporting Services, and describes some first-steps of how to use SQL Reporting to extract usage data from an App-V Reporting SQL database – and Tim Mangan has prepared some more ready-to-use templates for that:

So you may plan to use reporting in a lightweight or highly distributed environment, but still need some App-V specific components running centrally or everywhere? Are you kidding?!

Of course not. And here is the first step.

Collecting App-V Reporting Data on a simple File Share

During working on the App-V Book’s Client chapter I dug into some of the configuration and administration depths of it. As we tried to collect all potential configuration sources, playing around with the Registry, the MODP Admin Template for Group Policies and also PowerShell came into play. A little bit hidden in the help about send-appvclientreport there is that mysterious hint of an UNC path that can be specified, too. So, back to the other configuration items but no, there was no indication that that the always referenced ‘URL’ might even be an ‘UNC’.

To make that one short: Wherever your App-V Client configuration asks you for a ‘Reporting Server URL’, you can easily just enter the UNC path to a file share. While you may argue that this post’s topic was something with ‘server free…’ – well yes, you should use a file server (remember that file shares on client operating systems have limits on concurrent connections).

You can configure the App-V client to automatically upload reporting data on a regular basis (including attempts to repeat uploads upon failure) just like it is described on Technet ( or by Nicke ( Just remember that you can use \\fileserver\share\ instead of an http(s) URL for the ReportingServerURL value.

And of course you can use send-appvclientreport for such uploads, too.

There are a few requirements for the file share, tough:

  • When configuring regular report uploads, the App-V client computer’s machine account has to have write permissions on the share. This is because by default a Scheduled Tasks will be created that runs under the SYSTEM context. Of course you could specify another account, but changes to the configuration may revert the task’s setting to its original state.
  • The user who is running the send-appvclientreport command has to have local admin privileges on the client. This is not a limitation of using an UNC, but of the App-V Client in general. Of course that user has to have write permissions on the share.

Once configured, the App-V Client will upload reporting data in XML format to the share. Basically every upload operation (as per configured scheduled, for instance once a day) will create a new file that has a GUID as its name and the .XML extension.

xml file list

However, those XML files are not easy to process, because

  • They contain binary information that make XML processing literally impossible.
  • Each file contains all the information that would be nicely separated into different tables in the App-V Reporting Server and SQL database scenario.
  • Data from one and a single client may be spread across various .XML files.
  • We still don’t have any method to present the data afterwards.

I’m afraid that you have to wait for the second part of this article in order to be able to process the data. When you open such an XML file in Internet Explorer (Windows’s default XML viewer), you’ll see nothing. If you open it up in like Notepadd++, you’ll see two lines: one with all the XML data, and one ending with a binary NULL. You have to do something to get a nice XML out of it, like the next one


What you of course already can start doing is to configure your App-V Client to upload their reporting data to nothing more than a simple file share.

I have chosen a somewhat shorter path: I knew that the peers at ProjectVRC were in preparation of some App-V 5 tests to compare the impact of various design decisio9ns (like Shared Content Store or Not, Fault Streaming vs. Full PreCachning and other) – so I reached out to Ryan Bijkerk ( to get some help… Again, the next article in this series will tell you more about that.


Posted in App-V, Client
Tags: , ,


  1. […] the end of the first part about App-V 5 Reporting I emphasized that just the centrally collected .XML files are certainly not […]

    Pingback by Server-free Reporting with App-V 5 (Part 2) | Kirx' Blog — May 21, 2014 @ 20:38

  2. […] first thing you need is of course some usage or reporting data. In the first part of this series you could read how to set up the App-V Client to upload usage data in semi-XML […]

    Pingback by Server-free Reporting with App-V 5 (Part 3): Finally some Reports! | Kirx' Blog — May 22, 2014 @ 10:49

  3. […] Blog: Server-free Reporting with App-V 5 (Part 1) Part 2, Part […]

    Pingback by App-V 5 Reporting Resources | Kirx' Blog — June 4, 2014 @ 19:27

  4. […] diagram. The management database, reporting database (which is somewhat optional, check this out HERE), you’ve got the App-V Web Services, of which there are now three. A Management Service, […]

    Pingback by App-V 5.0 Scalability | — March 14, 2015 @ 22:41

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: