none
program can't find file inside of VFS - AppV5

    Question

  • 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

    C:\Users\sgsequencer\AppData\Roaming\Microsoft\AppV\Client\VFS\E7E72CC1-79A8-4411-912F-6D2A723F0F77\AppData\Ape\ApE_Defaults.txt

    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

    C:\Users\sgsequencer\AppData\Roaming\Microsoft\AppV\Client\VFS\E7E72CC1-79A8-4411-912F-6D2A723F0F77\AppData\Ape\ApE_Defaults.txt

    is the same as

    C:\Users\sgsequencer\AppData\Roaming\Ape\ApE_Defaults.txt

    from inside the bubble?  If that’s the case then why is the program not finding the file?

    Wednesday, January 30, 2013 11:41 PM

All replies

  • Hello,

    Does this file exist;

    C:\Users\sgsequencer\AppData\Roaming\Microsoft\AppV\Client\VFS\E7E72CC1-79A8-4411-912F-6D2A723F0F77\AppData\Ape\ApE_Defaults.txt


    Nicke Källén | The Knack| Twitter: @Znackattack

    Thursday, January 31, 2013 8:55 AM
  • Nope.
    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: 
    C:\ProgramData\App-V\E7E72CC1-79A8-4411-912F-6D2A723F0F77\D640ECF1-A21D-401F-B5CF-E1301BC08FA9\Root\VFS\AppData\Ape\ApE_Defaults.txt 
    which is being virtually presented to the program inside the bubble as 
    C:\Users\sgsequencer\AppData\Roaming\Ape\ApE_Defaults.txt

    Should it also be at 
    C:\Users\sgsequencer\AppData\Roaming\Microsoft\AppV\Client\VFS\E7E72CC1-79A8-4411-912F-6D2A723F0F77\AppData\Ape\ApE_Defaults.txt?

    Thursday, January 31, 2013 5:22 PM
  • I thought the problem might be exclusion items but Roaming\Ape isn't excluded.  In fact, it must not be excluded since from inside the bubble I can see those files.  

    Any ideas, znack?

    Tuesday, February 05, 2013 11:14 PM
  • Hello,

    No idea why it wouldn't look int Programdata - what happens if you test this on a newly installed machine with a local (not roaming, no redirected data) profile?


    Nicke Källén | The Knack| Twitter: @Znackattack

    Wednesday, February 06, 2013 6:56 AM
  • 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.

    Wednesday, February 06, 2013 5:55 PM
  • Hello,

    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


    Nicke Källén | The Knack| Twitter: @Znackattack

    Wednesday, February 06, 2013 7:56 PM
  • I've made a discovery.  If I grant the logged on user modify rights to 

    C:\ProgramData\App-V\E7E72CC1-79A8-4411-912F-6D2A723F0F77\D640ECF1-A21D-401F-B5CF-E1301BC08FA9\Root\VFS\AppData\Ape\ApE_Defaults.txt

    then run the packaged program the file appears at 

    C:\Users\sgsequencer\AppData\Roaming\Microsoft\AppV\Client\VFS\E7E72CC1-79A8-4411-912F-6D2A723F0F77\AppData\Ape\ApE_Defaults.txt

    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

    1. I'm doing my sequencing on a Windows 7 64 VM.  Bare install + patches + Sequencer.  Start the Sequencer.  
    2. The program is just an exe with no installer.  It's called Ape and is freely available.  
    3. 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.
    4. 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.
    5. 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.
    6. 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.


    Wednesday, February 06, 2013 9:57 PM
  • Hello,

    Try sequencing without starting it.


    Nicke Källén | The Knack| Twitter: @Znackattack

    Sunday, February 10, 2013 6:56 PM
  • 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.  

    Thursday, February 14, 2013 12:01 AM
  • Hello,

    Under Preferences, within the application, you can set where those directories are. For each virtual app - you could redirect them to different locations.

    Such as;

    App1

    %APPDATA%\ape\usergroup1

    app2

    %APPDATA%\ape\usergroup2


    Nicke Källén | The Knack| Twitter: @Znackattack

    Sunday, March 03, 2013 8:34 PM