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

MCS Machine Creation Fails when using App Layering Template

Paul Morrison1709158937


Greetings fellow Citrix admins,


I had a call from a client today with a strange issue related to App Layering. For some unknown reason, MCS cannot create a new Machine Catalog from a template published via App Layering. the error we get is Image preparation finalization failed. in the event viewer, we see an MCS error complaining about timing out and then an event that appears like MCS was surprised by the preparation disk deletion, but I cannot find any other errors. the machine itself boots up and can be logged into with out issue. The preparation disk MCS creates can be logged into and appears to function as expected with no major issues. I confirmed OSRearm was disabled in the provisioning scheme and tried again but no luck. The client has a ticket open with Citrix and they are stumped too. They can't find a good reason why its failing nor can we find any useful logs. 


I have instructed the user to create a new OS image and Platform layer with instructions I know work so we can test again. I wanted to reach out to the community in case someone has seen this before.


Hypervisor - Hyper-V 2012R2

XenDestkop - 7.15CU3

App Layering - 19.02

OS version - Windows 10 1709

VDA Version - 7.15 CU3


FYI we have tested other functions of MCS and they all work as expected. its only the templates from app layering that seem to have issue. 


one other note, the log file that is found on the root of C: on the preparation disk shows a very odd timestamp. My client is in the Pacific time zone, however the tech I am working with is in England. Even though the system time of the machine is correct, all of the logs we look at are date/time stamped with his LOCAL time. This strikes me as odd, since the tech is not logging in through Citrix, so client time should not be referenced (there is a Citrix policy to adjust the time, but it is within Studio) and the system time is correct (as is the hypervisor and the rest of the infrastructure). Event viewer time stamps show the system time as expected. 


Any insights or things to check are appreciated. 





Link to comment

1 answer to this question

Recommended Posts

Well, let me first say I don't have an answer.  I would really hope the MCS people would be able to tell us what is actually failing in the preparation process.  As I often say, even if this is 100% App Layering's fault, I need someone to tell us what we're doing wrong.


My first instinct here is to cut down the problem.  Publish just the OS and Platform layer, with Elastic Layering set to None.  Do you see the behavior there?  If not, good, figure out what other layer or feature is required to produce this.  If it does happen there, test only with that configuration, because it means that our drivers are not running at all.  That's a plain Windows machine.


When you publish to MCS on Citrix Hypervisor, we make a machine, boot it up, wait for our scripts to shut it down, and make a snapshot for you.  Then we're done.  But you can absolutely boot that published image back up, log in, poke around, and make a new snapshot when you're done.  Do that, and see what the time is.  See if the catalog update works if you manually set the time in Windows before making a replacement snapshot.  See if MCS Support can make that plain old Windows machine work.  Whatever we learn from that machine, we might be able to do in the Platform Layer preemptively.


If it is clock time, though, that get's a little squirrelly.  See https://support.citrix.com/article/CTX230562.  While the time zone is a Windows setting, the time itself is not.  It's a motherboard resource, so each separate VM has its own concept of local time.  And the first time a machine ever boots - like the completely new image we just published - it can have odd time.  Normally Windows treats the motherboard time as in the local timezone, so XenServer would have to guess what your local timezone is when it puts the time in the virtual motherboard.  Most hypervisors tend to guess "UTC" for a VM's very first boot.  See that CTX article for some ideas for strategy, but you might be stuck booting that machine up yourself and fixing the time, or doing some kind of scripted time update at first boot.


Also, you're not setting the image to "Genralize Offline" are you? MCS wants "Not Generalized".

Link to comment


This topic is now archived and is closed to further replies.

  • Create New...