locked
AppV 5.1HF1 crashes with long virtualized file paths? RRS feed

  • General discussion

  • I haven't tested this with non-HF1 but using AppV 5.1 we have some applications that contain files in deep directory structures. Pretty much anything captured to the GAC.

    We use PVS in our environment so we direct the PackageInstallationRoot to a persistent D: drive.  This path "D:\AppVData\PackageInstallationRoot" (35 chars) is longer than the default "C:\ProgramData\AppV" (19 chars) by 16 characters and this appears to put our package over some limit AppV5.1 now has.  The total length of the path in the screenshot is 155 characters so the limit is somewhere between 155-139.

    AppV 5.0SP3 works without issue. A solution I've found is replacing the AppV5.1 "AppVEntSubsystems64.dll" with one from AppV 5.0SP3.

    Wednesday, February 10, 2016 11:42 PM

All replies

  • Thanks for sharing, did you already log a ticket with MS?
    We are currently also in a testing fase with a migration to 5.1, and also have a PVS environment with a redirected isntallroot... Have not tested all apps yet, but not seen the issue so far.

    Roy Essers

    Thursday, February 11, 2016 12:16 AM
  • I have an open ticket for my last problem.  I thought they were related but they are not.  I'll be opening another ticket for this issue.
    Thursday, February 11, 2016 3:55 AM
  • I was doing some further testing to probe the limits here and what I've discovered is the path length is not 155-139 chars per my screenshot.  When I did a 'Copy As Path' the command automatically used the short name for a few of the longest folder names.  So I manually copied the entire path.  The maximum working length appears to be:

    D:\AppVData\PackageInstallationRoot\9300A299-E455-462B-89F0-4FD84777CBBC\E29FFC41-E8AA-4A8E-BFFE-A123883D0786\Root\VFS\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Windows.Forms.DataVisualization\v4.0_4.0.0.0__31bf3856ad364e35\System.Windows.Forms.DataVisualization.dll = 271 chars BUFFEROVERFLOW
    D:\AppVData\PackageInstallationRoo\9300A299-E455-462B-89F0-4FD84777CBBC\E29FFC41-E8AA-4A8E-BFFE-A123883D0786\Root\VFS\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Windows.Forms.DataVisualization\v4.0_4.0.0.0__31bf3856ad364e35\System.Windows.Forms.DataVisualization.dll = 270 chars BUFFEROVERFLOW
    D:\AppVData\PackageInstallationRo\9300A299-E455-462B-89F0-4FD84777CBBC\E29FFC41-E8AA-4A8E-BFFE-A123883D0786\Root\VFS\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Windows.Forms.DataVisualization\v4.0_4.0.0.0__31bf3856ad364e35\System.Windows.Forms.DataVisualization.dll = 269 chars BUFFEROVERFLOW
    D:\AppVData\PackageInstallationR\9300A299-E455-462B-89F0-4FD84777CBBC\E29FFC41-E8AA-4A8E-BFFE-A123883D0786\Root\VFS\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Windows.Forms.DataVisualization\v4.0_4.0.0.0__31bf3856ad364e35\System.Windows.Forms.DataVisualization.dll = 268 chars BUFFEROVERFLOW
    D:\AppVData\PackageInstallation\9300A299-E455-462B-89F0-4FD84777CBBC\E29FFC41-E8AA-4A8E-BFFE-A123883D0786\Root\VFS\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Windows.Forms.DataVisualization\v4.0_4.0.0.0__31bf3856ad364e35\System.Windows.Forms.DataVisualization.dll = 267 chars BUFFEROVERFLOW
    D:\AppVData\PackageInstallatio\9300A299-E455-462B-89F0-4FD84777CBBC\E29FFC41-E8AA-4A8E-BFFE-A123883D0786\Root\VFS\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Windows.Forms.DataVisualization\v4.0_4.0.0.0__31bf3856ad364e35\System.Windows.Forms.DataVisualization.dll = 266 chars BUFFEROVERFLOW
    D:\AppVData\PackageInstallati\9300A299-E455-462B-89F0-4FD84777CBBC\E29FFC41-E8AA-4A8E-BFFE-A123883D0786\Root\VFS\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Windows.Forms.DataVisualization\v4.0_4.0.0.0__31bf3856ad364e35\System.Windows.Forms.DataVisualization.dll = 265 chars BUFFEROVERFLOW
    D:\AppVData\PackageInstallat\9300A299-E455-462B-89F0-4FD84777CBBC\E29FFC41-E8AA-4A8E-BFFE-A123883D0786\Root\VFS\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Windows.Forms.DataVisualization\v4.0_4.0.0.0__31bf3856ad364e35\System.Windows.Forms.DataVisualization.dll = 264 chars SUCCESS
    D:\AppVData\PackageInstalla\9300A299-E455-462B-89F0-4FD84777CBBC\E29FFC41-E8AA-4A8E-BFFE-A123883D0786\Root\VFS\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Windows.Forms.DataVisualization\v4.0_4.0.0.0__31bf3856ad364e35\System.Windows.Forms.DataVisualization.dll = 263 chars SUCCESS
    D:\AppVData\PackageInstall\9300A299-E455-462B-89F0-4FD84777CBBC\E29FFC41-E8AA-4A8E-BFFE-A123883D0786\Root\VFS\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Windows.Forms.DataVisualization\v4.0_4.0.0.0__31bf3856ad364e35\System.Windows.Forms.DataVisualization.dll = 262 chars SUCCESS

    264 Characters.

    Thursday, February 11, 2016 11:17 PM
  • So if 264 is the max, why is your package breaking (155 from your screenshot)?

    Roy Essers

    Friday, February 12, 2016 12:28 AM
  • When I made my screen shot I did a 'right-click' 'Copy As Path' on the file.  Apparently, when the path gets of sufficient depth, Copy As Path automatically converted some of the folder names to the 8.3 name instead, truncating the 'Copy As Path' to 155 characters.  Obviously, this isn't accurate and I guess it's my bad assuming 'Copy As Path' would copy the path literally.  The real length of the path is 264 chars.
    Friday, February 12, 2016 1:25 AM
  • We are aware of this and are working on a fix. Disabling File System isolation (but keeping state separation) by renaming the DLL does work - but you could also try sequencing using the PVAD as well as a workaround (Yes, I said that. :) )

    Steve Thomas, Senior Consultant, Microsoft

    App-V/MED-V/SCVMM/Server App-V/MDOP/AppCompat

    http://blogs.technet.com/gladiatormsft/
    The App-V Team blog: http://blogs.technet.com/appv/
    The MED-V Team Blog: http://blogs.technet.com/medv
    The SCVMM Team blog: http://blogs.technet.com/scvmm/

    “This posting is provided "AS IS" with no warranties, and confers no rights. User assumes all risks.”

    Monday, February 15, 2016 3:33 AM
  • Hi Steve,

    This program *was* sequenced to the PVAD, it's supplemental Windows files that were captured that exceed the folder length.  I would have to set the PVAD to a known, existing folder to try and do the work around you suggested.  :(

    Monday, February 15, 2016 6:57 AM
  • AppV 5.1HF2 resolves this issue.
    Friday, February 19, 2016 6:01 PM
  • Yes. Trenent (Name?) is correct.

    HF2 should hopefully resolve this issue.


    Steve Thomas, Senior Consultant, Microsoft

    App-V/MED-V/SCVMM/Server App-V/MDOP/AppCompat

    http://blogs.technet.com/gladiatormsft/
    The App-V Team blog: http://blogs.technet.com/appv/
    The MED-V Team Blog: http://blogs.technet.com/medv
    The SCVMM Team blog: http://blogs.technet.com/scvmm/

    “This posting is provided "AS IS" with no warranties, and confers no rights. User assumes all risks.”

    Saturday, February 20, 2016 4:57 AM
  • Wellllppp....   Turns out the LFN issue is rearing its head again, with AppV 5.1 HF2, but this time for another software package; SCOM 2012R2 Console.

    The error is:

    ---------------------------
    Operations Manager
    ---------------------------
    System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.EnterpriseManagement.Presentation.DataProviders.Library, Version=7.0.5000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
    
    File name: 'Microsoft.EnterpriseManagement.Presentation.DataProviders.Library, Version=7.0.5000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
    
       at Microsoft.EnterpriseManagement.Presentation.MonitoringPortal.ConsoleBootstrapper.CreateModuleCatalog()
    
       at Microsoft.Practices.Prism.UnityExtensions.UnityBootstrapper.Run(Boolean runWithDefaultConfiguration)
    
       at Microsoft.EnterpriseManagement.Monitoring.Console.Internal.Program.Main()
    
    
    
    WRN: Assembly binding logging is turned OFF.
    
    To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
    
    Note: There is some performance penalty associated with assembly bind failure logging.
    
    To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].
    
    
    ---------------------------
    OK   
    ---------------------------
    

    The file the error is referencing is:

    D:\AppVData\PackageInstallationRoot\EBE1092B-10F0-47BC-B4C3-F0725E2BDEEA\1B821E84-3829-4127-8195-5096BFD81DB5\Root\VFS\ProgramFilesX64\Microsoft System Center 2012 R2\Operations Manager\Console\Microsoft.EnterpriseManagement.Presentation.DataProviders.Library.dll 

    This path is 263 Chars long.

    The failure for this file in this package is:

    D:\AppVData\PackageInstallationRoot\EBE1092B-10F0-47BC-B4C3-F0725E2BDEEA\1B821E84-3829-4127-8195-5096BFD81DB5\Root\VFS\ProgramFilesX64\Microsoft System Center 2012 R2\Operations Manager\Console\Microsoft.EnterpriseManagement.Presentation.DataProviders.Library.dll = 263 chars - FAILS D:\AppVData\PackageInstallationRoo\EBE1092B-10F0-47BC-B4C3-F0725E2BDEEA\1B821E84-3829-4127-8195-5096BFD81DB5\Root\VFS\ProgramFilesX64\Microsoft System Center 2012 R2\Operations Manager\Console\Microsoft.EnterpriseManagement.Presentation.DataProviders.Library.dll = 262 chars - FAILS D:\AppVData\PackageInstallationRo\EBE1092B-10F0-47BC-B4C3-F0725E2BDEEA\1B821E84-3829-4127-8195-5096BFD81DB5\Root\VFS\ProgramFilesX64\Microsoft System Center 2012 R2\Operations Manager\Console\Microsoft.EnterpriseManagement.Presentation.DataProviders.Library.dll = 261 chars - FAILS D:\AppVData\PackageInstallationR\EBE1092B-10F0-47BC-B4C3-F0725E2BDEEA\1B821E84-3829-4127-8195-5096BFD81DB5\Root\VFS\ProgramFilesX64\Microsoft System Center 2012 R2\Operations Manager\Console\Microsoft.EnterpriseManagement.Presentation.DataProviders.Library.dll = 260 chars - FAILS D:\AppVData\PackageInstallation\EBE1092B-10F0-47BC-B4C3-F0725E2BDEEA\1B821E84-3829-4127-8195-5096BFD81DB5\Root\VFS\ProgramFilesX64\Microsoft System Center 2012 R2\Operations Manager\Console\Microsoft.EnterpriseManagement.Presentation.DataProviders.Library.dll = 259 chars - WORKS D:\AppVData\PackageInstallatio\EBE1092B-10F0-47BC-B4C3-F0725E2BDEEA\1B821E84-3829-4127-8195-5096BFD81DB5\Root\VFS\ProgramFilesX64\Microsoft System Center 2012 R2\Operations Manager\Console\Microsoft.EnterpriseManagement.Presentation.DataProviders.Library.dll = 258 chars - WORKS

    If I shorten the path then I have no issues.

    So...  Here's a bit of a curiousity with this.  The point that this failure occurs is the exact same that 'right-click' > "Copy As Path" converts the path to '8.3'.

    This is the 'PackageInstallation' > Copy as path result:

    "D:\AppVData\PackageInstallation\EBE1092B-10F0-47BC-B4C3-F0725E2BDEEA\1B821E84-3829-4127-8195-5096BFD81DB5\Root\VFS\ProgramFilesX64\Microsoft System Center 2012 R2\Operations Manager\Console\Microsoft.EnterpriseManagement.Presentation.DataProviders.Library.dll"

    This is the 'PackageInstallationR > Copy as path result:

    "D:\AppVData\PACKAG~3\EBE109~1\1B821E~1\Root\VFS\PROGRA~1\MICROS~3\OPERAT~1\Console\Microsoft.EnterpriseManagement.Presentation.DataProviders.Library.dll"

    It may just be a coincidence, but it's curious that the 8.3 naming comes in at the same time as the path length turns into a failure.

    Wednesday, April 13, 2016 8:10 PM
  • Further to this, I was asked to test with PVAD instead of VFS.  When I sequence to PVAD it initially appears to work.  But this is actually because sequencing to PVAD *reduces* the path length.  

    I set my PVAD as "C:\Program Files\Microsoft System Center 2012 R2"

    The path for the PVAD is:

    D:\AppVData\PackageInstallationRoot\5BC02F43-4026-4D2F-8A04-D9D3B0240CC7\67D5BDAD-971B-47C2-872B-FDE8841289AF\Root\Operations Manager\Console\Microsoft.EnterpriseManagement.Presentation.DataProviders.Library.dll

    This is 211 characters by avoiding the addition of "VFS\ProgramFilesX64\Microsoft System Center 2012 R2" which adds 51 characters.

    If I increase the path length to match the VFS path length:

    D:\AppVData\PackageInstallationRoot123456789012345678901234567890123456789012345678901\5BC02F43-4026-4D2F-8A04-D9D3B0240CC7\67D5BDAD-971B-47C2-872B-FDE8841289AF\Root\Operations Manager\Console\Microsoft.EnterpriseManagement.Presentation.DataProviders.Library.dll

    Then it fails with the same error.



    • Edited by TrententMVP Thursday, April 14, 2016 5:16 PM
    Thursday, April 14, 2016 5:15 PM
  • About the 260 char limit... Apparently MS removes the limit in the new preview built.... could this solve the issue?
    Roy Essers

    • Edited by Roy Essers Monday, May 30, 2016 10:44 PM
    Monday, May 30, 2016 10:43 PM