VMware Horizon Community
almostIT
Enthusiast
Enthusiast

App Volume Writable Exclusions (latest version, 2303)

We need to use App Volume writable profiles in our environment to make use of o365. 

I've created a custom, 5GB, profile template. No problem here. 

However, to save space on that profile disk we cannot allow basic user directories to be saved - like Documents, Photos, Downloads and so on. 

I've reviewed over and over again the documentation to exclude these sections of the user profile, per VMWare documentation (they actually use "Documents" as a specific example), but it does not work. Either the user's profile breaks completely, and they cannot login, or the snapvol.cfg change does absolutely nothing. 

What is frustrating about the documentation is the vagueness surrounding WHERE the snapvol.cfg files should be placed and what format the MODIFIED snapvol.cfg should take. 

The configurations I've test are as follows: 

### FILE EXCLUSIONS ###

exclude_uwv_file=\users\%username%\documents\\

OS=any 

Placed in these locations as Snapvol.cfg: 

%SVAgent%\Config\Custom\Snapvol.cfg (doesn't work) 

%SVAgent%\Config\Custom\profile\Snapvol.cfg (doens't work) 

%SVAgent%\Config\Custom\profile\Snapvol.cfg (doesn't work) 

{Volume Root}\{Writable GUID}
\Config\writable\Snapvol.cfg (doens't work) 

For the sake of science, I've tested these with the default templates and its the same behavior. 

Any suggestions? Are there better ways other than trying to use a custom Snapvol.cfg? 

VMware App Volumes 4 Administration Guide - VMware App Volumes 2303

 

0 Kudos
5 Replies
almostIT
Enthusiast
Enthusiast

My thought is that the trailing "\\" are not doing what they're supposed to do, which is, if I'm not mistaken, create an empty "documents" or "downloads" folder on the profile writable, but omit content. 

I believe the idea is that so when user signs into a machine again, those exist, and Windows doesn't throw a fit. 

I just don't see how to get that to work correctly. 

 

0 Kudos
almostIT
Enthusiast
Enthusiast

Also, from the documentation (I've tried this exact example without success): 

Important Folders such as Desktop, Downloads, Documents, Pictures, Music, Videos, and
AppData, are necessary for the OS to function correctly and they must not be specified as
exclusions. If the trailing backslashes are not provided in the path when any of these folders are
used, then the folder gets excluded and the OS might not function as expected.

For example:
exclude_uwv_file=\users\%username%\documents\\

In this example, if an end user creates a file or folder within Documents, the file or folder
persists only for that session. When the end user logs off, the file or folder gets deleted.

That's exactly what I want to happen, but no matter what the profile is corrupt after I logoff and login to another session. 

I've created a simple Snapvol.cfg configuration file with that exact line in it. Then placed it in %SVAgent%\Config\Custom\profile\<Snapvol.cfg> and it corrupts the profile every time. 

0 Kudos
almostIT
Enthusiast
Enthusiast

I finally got this to work - sort of - the way I want with the help of TWO DIFFERENT VMware techs. 

 

I'll say this, their documentation with regard to Snapvol.cfg files is absolute garbage and does not do nearly enough to explain how they work, where they should be placed, or how to edit them properly. It's a wild goose chase, to be honest, to figure out a configuration that works - and I don't mean the file modification itself, I mean it's placement on the virtual machine as well.

 

To accomplish a situation where the writable EXCLUDES all the core Windows profile locations, like "Documents", "Downloads" and so on...DO EVERYTHING AS AN ADMIN

 

1. COPY the file "C:\Program Files (x86)\CloudVolumes\Agent\Config\Default\profile\Snapvol.cfg" to a NEW folder here, "C:\Program Files (x86)\CloudVolumes\Agent\Config\Custom" - you must CREATE the "Custom" folder at that location, then paste that specific aforementioned Snapvol.cfg to it as well. None of the other Snapvol.cfg files, as they are configured, will work for this scenario.

 

NOTE: the documentation insists you should be able to place a Snapvol.cfg file to "C:\Program Files (x86)\CloudVolumes\Agent\Custom\profile\", but this does not work, it just ignores the Snapvol.cfg in that location. ALSO, this configuration file, in this specific location, will apply to EVERY type of App Volume - I have not found a way to make this work ONLY for Writable profiles. I was happy just to have this sort of work.

 

The documentation does a poor job of pointing out WHICH Snapvol.cfg file to use for whatever purpose you're trying to accomplish, it doesn't help that for every type of volume, the configuration file is called "Snapvol.cfg".

 

One would think, after reading the documentation, you simply create a "Snapvol.cfg" file and add the exclusion lines you want - the documentation mentions this, but this is not the case at all. You have to copy the default Snapvol.cfg for the volume type you wish to edit, or add exclusions.

 

2. Edit the Snapvol.cfg you copied over from step one - as an ADMIN - you can copy it to another location temporarily if you don't want to edit it as an admin, it's easier that way, but you have to copy it back to that location AS AN ADMIN

 

2.a Create a commented area to describe the exclusions, like this...

#####

# File exclusions

#####

 

I did this just under the "File inclusions" line of the Snapvol.cfg.

 

2.b Add lines for each profile location you wish to exclude, like this....

 

exclude_uwv_file=\Users\%username%\Documents\\

 

See screenshots. They're helpful.

 

So, there's still a lot this doesn't do for me. Like I said, it applies to ALL volume types, which I don't want. Even though the document header says "type=writable" and "writable_type=profile", doesn't seem to matter. But it at least sort of accomplishes what I'm looking for. Hope that helps someone.

0 Kudos
SergeyKzbk
Contributor
Contributor

Have you found other solutions or in this form and launched into production?

0 Kudos
almostIT
Enthusiast
Enthusiast

No, I have yet to find better solutions. 

Ultimately, we couldn't use this solution because it breaks all the other app stacks when a user signs into the machine. 

It sucks, because we really need it to do something as simple as NOT COPY EVERY SINGLE PART OF A PROFILE and we can't get it to work. 

0 Kudos