What is the App-V IgnoredApps key and why should I be aware of it?

TipThe IgnoredApps key is used to mark an inconsistency between a locally-cached .OSD file which is either corrupt or not accessible for various reasons and its original location. There could be many reasons for this, including but not limited to:

  • Malformed XML
  • File corruption
  • Access Permissions erroneously placed on the cache

Location

The Key is located in the registry here:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Softgrid\4.5\Client\IgnoredApps

The value is a String Data type that correlates to the UNC or URL path to the OSD file from the Content Path, and will be the time stamp of the OSD file in the cache.

Examples of the various reasons for an application to appear here would be:

  • Unable to access or load OSD file from cache and cannot replace it with streamed or published copy due to access issues.
  • Unable to access or load AppFS storage from cache and cannot replace it with streamed or published copy due to access issues.
  • Unable to access or load icons from cache and cannot replace it with streamed or published copy due to access issues.

A common error message you may see that can result from this is:

The Application Virtualization Client could not launch the application you requested.
The specified application does not exist. Check the name you specified, and then try again.
Error Code: xxxxxx-xxxxxx04-00000A09

Why is this Key Here?

The Application Virtualization client keeps a list of OSD files that have been rejected in this key. The primary intent is to help optimize DC refresh (Publishing Refresh) by avoiding downloads of OSD files that cannot be used to create an application for the current user/machine, and have not changed since the last time they were downloaded (and hence, would still not be usable). When the OSD is downloaded on an attempt to create/add a new application, if the OSD is rejected for a reason that is not transient (unsupported OS, XML is invalid, etc.), an entry for it will be added to IgnoredApps. On every OSD download for a file that is not already cached, the list in the registry will be checked, and if an entry for the OSD path is found, the timestamps will be compared. If the timestamp is different, the IgnoredApps entry will be removed, the OSD file will be downloaded, and the parsing will continue (which may fail again, leading to a new entry on IgnoredApps). If the timestamp is the same, the OSD file will not be downloaded, and the attempt to create the application will fail.

The list is applied dynamically (checks are made in the registry each time they are applicable). The list is applied to any non-cached OSD path (local or remote).

You can manually add, remove, or modify entries, to prevent a download or force a download.

Removing these entries:

Even if the underlying issue has been corrected, you will still need to remove the entry(s) under this key manually. Once you corrected the underlying issues, remove the entries under the keys. You will need to restart the Application Virtualization Client service upon doing so.

Steve Thomas | Senior Support Escalation Engineer