During my travels i have come across clients (IT department) that have some confusion about where app-v stores any user created files.

The confusion lays with not understanding how app-v or more so systemguard in app-v handles where files/registries are written to and when.

For example, i have an application that if you press a specific button the application then writes files to both its own install folder another folder on program files and a folder into the users profile, i then sequence an application to c:\program files\<application> app-v will monitor and capture that application along with the tree structure to that sequenced application. if i then deploy the application to the environment and run the application i then click on the button mentioned above. most people will assume, that its an app-v package there for all of that data will be stored under the users app-v cache.

But its not as clean cut as that, files that are written to in a app-v captured folder (donesnt have to be in the PVAD (if used) ) will be captured inside the users app-v cache. however what defines what that is?

The reason i ask is when i sequence the application the install folder is captured. but so is the program files folder, using assumed logic, any file created in any sub folder in program files from the sequenced application will store itself in the app-v cache as the program files folder is captured.

It doesn't, it infact writes that file out to the local machine disk first, if access is denied, it will only then write back to the user app-v cache, and the same applies to registry entries.

Of course some would argue this is because program files is set to merge and the app folder is set to override, this is not true, you can set program files to overwrite or the install folder to merge and there would be no change.

Say we want to capture these files first and foremost in the app-v cache this would involve running the application during sequencing and then enabling the creation of those files either by the application functionality or via creating the files manually.

The latter option gives you the flexibility as you control it during sequencing what file is stored in the app-v cache the other although you can achieve the same results you would have to place a delete marker against the file in the virtual file system tab post sequencing, for example one function creates 2 files in program data and one in the users profile.

If you are running an appsense UP environment, ideally you want to keep all user changeable files outside the vfs so that appsense can capture these in as part of its UP as UP itself has proven to be unrelaible with app-v packages that store data inside the app-v cache along with issues surrounding app-v VRS and the appsense VRS that prevent appsense VRS items not applying to the package, if however you're using UE-V 2.1 you don't have to worry about it as the UE-V agent integrates with the app-v client and intercepts system guard re-directions (clever).