Fix | Sporadic Windows Morpheus Agent installation failure in VMware via Unattend Guest Customizations

Hello,

I was recently working with a customer who was experiencing sporadic Morpheus agent installation failure on their Windows deployments in VMware. They were using Guest Customizations to install the Morpheus agent.

After investigation it was discovered that the Windows templates had an out-of-date version of VMware tools, and because their vCenter was set to auto-update vmware-tools, it was triggering the vmware-tools update after VM start-up. This vmware-tools MSI was not only potentially conflicting with the Morpheus Agent installation MSI, but was also installing a new network driver and temporarily impacting network connectivity. This conflict was sporadically causing the agent installation failure after VM start-up.

In this situation the customer disabled the autoupdate functionality for vmware-tools and the Morpheus Agent installation was consistently successful across their deployments.

I wanted to create this post in the hope of helping anyone else who may run into this problem in the future, and also for people to provide other resolutions and support on this matter.

All the best!

Chris

2 Likes

Hello,

I think this approach does resolve only one part of the problem.
People may face similar issues when other installations using msiexec process will occur.
I think adding wait until msiexec process is absent, and only then launching agent install would be more bulletproof and maybe there will be no need to have autoupdate functionality disabled.

Regards,
Adomas

Agreed, I will be making this recommendation internally. Thanks Adomas.

Hi @Adomas_Vedeckis I can see that since 6.0.2 Morpheus includes Wait-Process -name msiexec inside the agent installation script, and therefore does attempt to wait for any msiexec to complete before running the installation. I wonder if the same can be said for the vmware tools upgrade.

Maybe moving to the begining of the script and before each command, using msiexec, it would prevent interuptions during the downloading, and each action, which does require this service
(as currently in 6.2.3 it waits after msi is been downloaded).
I think this post is beneficial for the troubleshooting and very good reminder to have templates maintained. :slight_smile: