I’m having a problem with AppV5 on a simple program that stores some settings files in appdata. When I sequence the program the settings files are included in appdata but when running the program it declares that the files are missing. I don’t have this problem with this program in 4.6
If I run a process monitor outside the bubble I see that the program is looking for
and getting a “PATH NOT FOUND”.
If I manually put that txt file into that folder (outside the bubble) then the error message goes away so that’s definitely the problem. But shouldn’t the program be looking in the virtualized location of C:\Users\sgsequencer\AppData\Roaming\Ape\ApE_Defaults.txt? That’s where the program put these files during sequencing and they were captured so AppV is aware of these files.
I ran a cmd inside the bubble and indeed I see this txt file is indeed in the proper virtualized location. The sequencing worked and the VFS is being properly presented to the program but the program is somehow looking at the real path and not the virtual one.
How can I convince the program to look in the virtualized location? How could it even know about the real location?
Or am I confusing myself and from outside the bubble
is the same as
from inside the bubble? If that’s the case then why is the program not finding the file?
C:\Users\sgsequencer\AppData\Roaming\Microsoft\AppV\Client\VFS\E7E72CC1-79A8-4411-912F-6D2A723F0F77\AppData\Ape\ApE_Defaults.txt does not exist. If I manually place the file there, outside the bubble, then the error message goes away.
The file exists at:
which is being virtually presented to the program inside the bubble as
Should it also be at
I'm not using a roaming or redirected profile and this is a fresh Win 7 VM I restore from snapshot regularly. The program is putting its config files in Roaming because that's where %appdata% points to in Win7: c:\Users\username\AppData\Roaming.
Part of my confusion is in what these calls I'm reading from outside the bubble mean from inside the bubble. The program inside the bubble is looking for C:\Users\sgsequencer\AppData\Roaming\Ape\ApE_Defaults.txt
AppV takes that call from inside the bubble and then redirects it to C:\Users\sgsequencer\AppData\Roaming\Microsoft\AppV\Client\VFS\E7E72CC1-79A8-4411-912F-6D2A723F0F77\AppData\Ape\ApE_Defaults.txt correct?
Is the problem that AppV should be redirecting that call to C:\ProgramData\App-V\E7E72CC1-79A8-4411-912F-6D2A723F0F77\D640ECF1-A21D-401F-B5CF-E1301BC08FA9\Root\VFS\AppData\Ape\ApE_Defaults.txt ?
Or is the problem that AppV should be placing that file at C:\Users\sgsequencer\AppData\Roaming\Microsoft\AppV\Client\VFS\E7E72CC1-79A8-4411-912F-6D2A723F0F77\AppData\Ape\ApE_Defaults.txt?
I can write a script to copy from one location to another but if AppV 5 is unable to place settings files in a user's profile that's kind of a dealbreaker.
That depends - I don't know enough yet on how you created your sequence, or configured the client. OR the call the app makes. Haven't seen anything like this during my own testing.
From a logical perspective, the file shouldn't exist in the userprofile unless you made changes to it during execution. So, what happens also depends on how you test.... More questions to you than answers as your description is far to vague to say that this is a defect or just misconfiguration
I've made a discovery. If I grant the logged on user modify rights to
then run the packaged program the file appears at
and I don't get an error message. EVERYONE already had read rights to this file and the file in C:\ProgramData isn't actually modified. Why would the user need modify rights to copy this file into their profile?
Sorry for being vague about my process. Here's what I did
- I'm doing my sequencing on a Windows 7 64 VM. Bare install + patches + Sequencer. Start the Sequencer.
- The program is just an exe with no installer. It's called Ape and is freely available.
- Create a new virtual application package \ create package \ standard application \ custom installation \ specify package name as Ape_2045 \ specify virtual app directory as c:\program files (x86)\Ape \ Next. Sequence monitoring starts.
- Copy the ape.exe file into c:\program files (x86)\Ape. Create a desktop shortcut pointing to Ape.exe. Run shortcut. App launches. No errors. Close app.
Back to sequencer \ Check I am finished installing. \ Next...Next...Next \ Save.
- Copy the package to a share on the appv server. Launch web admin. Add or Upgrade package. Point to appv file. Add. Grant AD access to a group. Publish.
- Reboot client machine which is a bare Win 7 64 + Patches + AppV client. Login. Shortcut appears. Run shortcut. App errors saying it can't find this file.
Okay, that works around the issue by storing those files outside of AppV. Process monitor now shows the exe successfully creating the file at C:\Users\sgsequencer\AppData\Roaming\Ape\ApE_Defaults.txt and from outside the bubble I can see those files as well.
That would be fine but I need to create a custom experience for all users of this app so I need these config files in the package.