VMware Horizon Community
rupakov
Contributor
Contributor

ClickOnce Apps on writable volume installs in too long path

Hello.

Please give me new ideas how I can solve my problem:

1. I have my own software for our company and this has been published in the principle of ClickOnce deployment manifest. This software installs in user profile: C:\users\username\AppData\Local\Apps\2.0\obfuscatedfoldername\obfuscatedfoldername\, e.g. C:\Users\rupakov\AppData\Local\Apps\2.0\7XD8OQT3.K9R\QGKCMENG.0JQ\glob..tion_0000000000000000_0001.0003_c190cb9e9fa24b56

2. I use Horizon 8 and App Volumes 4 with Writable Volumes for store user profile data. When this software installs on VDI environment, really install path, includes mount point, is too long, e.g. C:\SnapVolumesTemp\MountPoints\{45c63495-0000-0000-0000-100000000000}\{F1C58EF5-2704-4F90-A106-F013F31EADF8}\SVROOT\Users\rupakov\AppData\Local\Apps\2.0\7XD8OQT3.K9R\QGKCMENG.0JQ\glob..tion_0000000000000000_0001.0003_c190cb9e9fa24b56
At application starts, explorer.exe crashes with error "System detected an overrun of a stack-based buffer in this application".

3. If I manually shorten the installation path - app work well, but when updating, the application is put back to its original path. And the app is frequently updated.
It is not possible to change install path for ClickOnce apps.

4. Adding key [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]"LongPathsEnabled"=dword:00000001 has no effect, not helps.

5. I tried to add "exclude_path=%localappdata%\Apps" and "exclude_process_name=MyAppName.exe" to \Custom\Snapvol.cfg, but got no effect. It is likely that these directives conflict with "include_path=\Users" in \Default\uia_plus_profile


How i can to do, that "exclude_path=%localappdata%\Apps" and "include_path=\Users" works at the same time?

Or, Its possibly to rename folder SnapVolumesTemp to short name?

Or any different ideas, how to make the app work?
I'm quite satisfied if the application does not persist after the relogon.

Labels (4)
0 Kudos
4 Replies
kvmw2130
VMware Employee
VMware Employee

Hello,

I am assuming this path installs every time and launches from the %localappdata% folder. If I am right then you should try exclude_uwv_file=\users\%username%\appdata\local\Apps\2.0\obfuscatedfoldername

 

exclude_uwv_file can be used when we want to define exclusions within user profile directories as per: https://docs.vmware.com/en/VMware-App-Volumes/4/com.vmware.appvolumes.admin.doc/GUID-73986A35-F00B-4...

For non-profile directories you may continue to use exclude_path

0 Kudos
rupakov
Contributor
Contributor

Thanks for the answer, kvmw2130.

After I posted my question, I found this document myself, read about keyword  exclude_uwv_file, tried to add these keys in snapvol.cfg, but had no success.

Does it matter which file to add these keyswords to?

Need add this keyword to %SVAgent%\Config\Custom\snapvol.cfg

or

%SVAgent%\Config\Custom\uia_plus_profile\snapvol.cfg?

0 Kudos
kvmw2130
VMware Employee
VMware Employee

* Login as a user with writable volume

* Navigate to C;\Snapvolumestemp\mountpoints\<writablevolumediskuuid>\<appid>\config

* Create a snapvol.cfg here only with the exclusion you want to define

 

Note: This location is not visible in normal explorer please use the elevated command prompt to create a snapvol.cfg here

0 Kudos
rupakov
Contributor
Contributor

I followed your advice but didn't succeed.
I created a file snapvol.cfg containing the string "exclude_uwv_file=\Users\%username%\AppData\Local\Apps
" , placed it in "C:\Snapvolumestemp\mountpoints\<writablevolumediskuuid>\<appid>\config".

After this I rebooted VM, logon to VM and install my app. Then i rebooted VM again and saw that all of the my app files remained in place.

This means that the exclusion from snapvol.cfg did not work, the files were written to writable volume.

What am I doing wrong?

 

 

 

0 Kudos