Jump to content
Welcome to our new Citrix community!
  • 0

App layer failing to apply

John Litster


I had this app layer (and others) working fine.    Had to redo my platform layer, so I don't know if thats teh issue.

several of the exisiting layers that were created at the same time do work.


the error message reads as follows:

2019-04-26 08:30:07,934 ERROR 16 CompositingManager: Encountered error attaching the disk for layer 'Bartender' version 2. Layer version will not be attached.
2019-04-26 08:30:07,934 ERROR 16 CompositingManager: Could not load disk 'Unidesk/Layers/App/P2195461.R2.vhd', but continuing anyway
2019-04-26 08:30:07,934 ERROR 16 CompositingManager: Caught exception: 'Castle.MicroKernel.ComponentActivator.ComponentActivatorException: ComponentActivator: could not instantiate Unidesk.Guest.Core.Services.VirtualDisks.VirtualDisk ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ComponentModel.Win32Exception: The requested operation could not be completed due to a virtual disk system limitation.  Virtual hard disk files must be uncompressed and unencrypted and must not be sparse
   at Unidesk.Guest.Core.Services.NativeMethodLogger.LogWin32ErrorAndThrow(Int32 errorCode, String format, Object[] args)
   at Unidesk.Guest.Core.Services.VirtualDisks.VirtualDisk.Open(INativeMethods nativeMethods, ISafeHandleFactory handleFactory, String filePath, VirtualDiskAccess access)
   at Unidesk.Guest.Core.Services.VirtualDisks.VirtualDisk..ctor(String filePath, VirtualDiskAccess access, INativeMethods nativeMethods, ISafeHandleFactory handleFactory, IVolumeService volumeService)
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeConstructorInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.FastCreateInstance(Type implType, Object[] arguments, ConstructorCandidate constructor)
   at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.CreateInstanceCore(ConstructorCandidate constructor, Object[] arguments, Type implType)
   --- End of inner exception stack trace ---
   at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.CreateInstanceCore(ConstructorCandidate constructor, Object[] arguments, Type implType)
   at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.CreateInstance(CreationContext context, ConstructorCandidate constructor, Object[] arguments)
   at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.InternalCreate(CreationContext context)
   at Castle.MicroKernel.ComponentActivator.AbstractComponentActivator.Create(CreationContext context, Burden burden)
   at Castle.MicroKernel.Lifestyle.AbstractLifestyleManager.CreateInstance(CreationContext context, Boolean trackedExternally)
   at Castle.MicroKernel.Lifestyle.AbstractLifestyleManager.Resolve(CreationContext context, IReleasePolicy releasePolicy)
   at Castle.MicroKernel.Handlers.DefaultHandler.ResolveCore(CreationContext context, Boolean requiresDecommission, Boolean instanceRequired, Burden& burden)
   at Castle.MicroKernel.Handlers.DefaultHandler.Resolve(CreationContext context, Boolean instanceRequired)
   at Castle.MicroKernel.DefaultKernel.ResolveComponent(IHandler handler, Type service, IDictionary additionalArguments, IReleasePolicy policy)
   at Castle.MicroKernel.DefaultKernel.Castle.MicroKernel.IKernelInternal.Resolve(Type service, IDictionary arguments, IReleasePolicy policy)
   at Castle.Facilities.TypedFactory.Internal.TypedFactoryInterceptor.Resolve(IInvocation invocation)
   at Castle.Facilities.TypedFactory.Internal.TypedFactoryInterceptor.Intercept(IInvocation invocation)
   at Castle.DynamicProxy.AbstractInvocation.Proceed()
   at Castle.Proxies.IVirtualDiskFactoryProxy.Open(String filePath, VirtualDiskAccess access)
   at Unidesk.Guest.Core.Services.VirtualDisks.VirtualDiskService.Open(String path, VirtualDiskOpenMode mode, Boolean openForDetach)
   at Unidesk.Guest.LayeringService.Services.WindowsId.Execute[T](Func`1 func)
   at Unidesk.Guest.LayeringService.Services.LayerConfigService.AttachDisk(LayerConfig config, IWindowsId windowsId)
   at System.Threading.Tasks.Task.Execute()'



I have no idea what any of that means.   I am hoping once I am able to fix this one, I might be able to fix the others.

Link to comment

4 answers to this question

Recommended Posts

  • 0

I strongly recommend you open a case with our support staff. We will need to look at a few logs to find some possible causes.


I do not believe the Platform Layer change, impacts the other app layers. Where did the log extract come from? When is the layer failing to apply? I have seen this issue when attaching user and, or elastic layers. Is the folder, where the layers reside in, being compressed and, or encrypted. That will cause our layering tasks to fail


Otherwise, please open a case.

Link to comment
  • 0

That came from the C:\ProgramData\Unidesk\Logs directory on teh desk top.

no user layers, only elastic.

The failure is happening when teh layers get applied during logon.   (i wish the layers could be applied dynamically while a user is logged in like app volumes, but oh well)


I will open a case and post what the solution is.

Link to comment
  • 0

Ah, you were most likely looking at the log file, ulayersvc.log. Yes, you may open a case, but I think you should figure out if the share, where the Elastic Layers reside, was changed to compress and, or encrypt the data. This entry in the snippet, tells me it might be true. We will not work with those disks.


" Virtual hard disk files must be uncompressed and unencrypted and must not be sparse"


Every vendor handles the layer attachment differently. In our newer releases you can attach the Elastic Layers before the user logs on or after, the current default.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...