Other day ,I have got a request to install/update VMware tools (32bit and 64bit) on servers that are running on VMware platform to latest version (as per the vsphere server version or what requester needs).
VMware Tools is a suite of utilities that enhances the performance of the virtual machines guest operating system and improves management of the virtual machine. Without VMware Tools installed in your guest operating system, guest performance lacks important functionalities.
To deploy VMware tools ,you can either use Legacy method called package or Application deployment method .If you go with package ,you will loose the control of deploying the vmware tools only on computers with model vmware virtual platform (unless you create collections separately) and check if the required tools already installed and many other things.
Application method always preferable for any deployments (unless specific reason) as it provides much control over packages to deploy applications.
In this blog post, we will see ,how to create VMware tools application for 32bit ,64bit with detection logic and requirements to install only on computers with model ‘VMware Virtual Platform‘.
I will divide this guide into 4 steps as listed below.
1. Copy VMware source files.
2.Create Global Condition for Computer model
3. Create Application which consists of 2 deployment types (32bit & 64bit ) with detection logic ,requirement rules.
4.Distribute the Application
5.Deploy the application to collection
6.Check the application status on Client
7.Deployment Results
1. Copy VMware source files.
Get the source files from the requestor and copy it to SCCM content source folder location.
It contain source files for both 32bit (setup.exe)and 64bit (setup64.exe) Operating system.
2.Create Global Condition for Computer model:
Before we create application for VMware tools ,we want to check if the computer model is vmware or not, if OS is not running on vmware platform ,we do not want to install vmware tools.
To check the application mode, we need to create global condition which can be used later in Requirements tab.
Right click on Global Conditions –>select create Global Condition
Fill the information as listed below.
Name: Computer Model
Device Type:Windows
Condition Type: Setting
Setting Type: WQL Query
Data Type: String
Name Space: root\cimv2
Class: Win32_computerSystem
Property: Model
Click on Ok
Now ,on the Global Condition node, you will see newly created Condition with Type -Custom (not default and created by User) ,read only –No (can edit it) and In Use –No (not yet used).
3.Create Application
Go to Application Management –Applications Node
Right click on folder that you would like to create the application and select Create Application
Since the file is exe ,select Manually specify the application information
Enter the application name and other information as needed
Accept the default (unless you don’t have anything to specify)
We will now create 2 deployment types 1 for 32bit and other for 64bit and I call them as x86 ,x64.
Click on Add
Since we are using exe for the deployment and it doesn’t come with msi ,select type as script and select manual this time as well.
Name it as Install x86 .
Specify the content location folder that you have copied the source files.
Installation Program: setup.exe /S /v" /qn REBOOT=R"
It will install silently without reboot .If you to reboot upon the completion of installation ,remove reboot=R ,more information here
We will now add detection method .It will help us to skip if the deploying version or greater already exist ,if not,install the tools.
Click On add Clause
Fill the content as per below screenshot.
Setting Type: File System
Type: File
Patch:C:\Program Files(x86)\VMware\VMware Tools\
File or Folder Name: vmtools.dll
Value: 10.0.9.55972
How to get version ?
On your source folder ,right click on setup.exe file ,you will find the vmware tools version in details tab.
Click Next
As per settings shown below for User Experience tab
Requirements tab:
We will now create 2 requirement rules 1 for OS and other for Model .
Click on Add
Since this is 32bit vmware tools and we want to install only on OS running x86 with vmware model.
select category: Device
Condition: Operating System
One of the Operating system: 32bit of server 2008 and others if you need.
Click Ok
we need to add one more rule for model ,so click on Add again
Select Category :Custom
Condition : Computer Model
Operator: Equals
Value:VMware Virtual Platform
These requirement rules use AND operator .So Server OS must be running on x86 and model: VMware Virtual Platform
Click Next ,accept default settings
Verify Summary Page
Click Next
Close
We have now created deployment type for 32bit VMware tools .We need to do the same for 64bit vmware tools as well.
Click on Add and follow the same procedure as we did above except few things need change and they are listed below:
Installation Program:setup64.exe /S /v" /qn REBOOT=R"
Detection method:
Path :C:\Program Files\VMware\VMware Tools\
Requirement rules: OS will be only 64bit (can be server 2008 ,server 2012 and others)
when you are done, you will see 2 deployment types
Verify summary Page:
Click close to close the application wizard
we now created application with 2 deployment types (32bit and 64bit) .
By default ,when you create application ,settings Allow clients to use a fallback source location for content and deployment options for deployment are not enabled.
If you need above settings to be enabled ,do it for both the deployment types else ignore it.
Now ,we will distribute the application to distribution points . Right click on application and select distribute content
Go through the steps as you do for other applications.
when you are done with application distribution ,its time to deploy application to collection.
5.Deploy the application to collection
Create a collection that wanted to receive the new vmware tools (Installing the new version of vmware tools will automatically upgrade the existing version (old) to new .Only new version will exist )
If you simply add all systems ,this application will not install on all computers as we have a requirement rule to install it only on computer running on vmware platform with either 32bit or 64 bit.
So create collection as your needs and deploy the application to the collection.
6.Check the application status on Client
Login into client PC ,run machine policy retrieval and evaluation cycle
Open Software Center ,you will now see vmware tools appear on available software tab (This is for CM12 ,if you are on CMCB with new software center,you know where it will be)
Click on Install ,Client will download the source files into ccmcache and start the installation
Monitor the application deployment logs ( AppDiscovery.log,AppEnforce,DcmWmiProvider) more about logs ,please refer https://technet.microsoft.com/en-us/library/hh427342.aspx
After a while ,you will see application installed . If it fails,check the logs and troubleshoot why did it failed
7. Deployment results:
you can run the default report to check the status of application or can also see from deployment monitoring tab or from the console itself as shown below
Hope you found this post useful!
7 Comments
Hi we need to install 11.xx but in our environment we have 10 version , what method i can prefer ?
Hi,
In the detection method, you can replace the value to required version which is 11.xx and try it out.
Thanks,
Eswar
Pingback: vToolbelt - February 2018 - Cybersylum
Hi Eswar! Thank you for another very helpful post. Just a quick question: My concern with updating the tools through SCCM as opposed to vCenter are, say, things like wiping additional IPs from a NIC on a web server. VMWare specific adapters and their configs are cached in vCenter... We've seen it where a manual removal and reinstall blows away all but the basic IP info. Is there a way to move around that concern?
Hi Justin,
so you say that ,there are some specific information is stored on each server that has vmware tools installed ? Or are you referring to vcenter ? if Vcenter ,i wonder how deploying the latest vmware tools on the servers would affect.
am i missing something here ?
Regards,
Eswar
Step 1
Get the source files from the requestor and copy it to SCCM content source folder location.
wthat does "Get the source files from the requestor" mean?
Hi John,
Source files are nothing but the installation files that is used to create application to install on the computers.
If someone ask you to deploy vmware tools ,you need to ask them to provide the installation media and instructions like auto reboot,what OS to be install ,when is the schedule time to install etc details.
Regards,
Eswar