VMware Tools upgrade / update for 4.0.0

(imported topic written by chrism91)

Trying to setup a job that will deploy the vmwaretools msi and i’m getting this error:

Product: VMware Tools – Error 1311.Source file not found(cabinet): C:\Program Files\BigFix Enterprise\BES Client__BESData\actionsite__Download\VICFSDK.cab. Verify that the file exists and that you can access it.

http://communities.vmware.com/docs/DOC-12413;jsessionid=9662594CB81330716141F53DD0E55C77

How do you get the required cab files to work with the msi?

Thanks

(imported comment written by chrism91)

Do i copy the cab files to the following directory?

C:\Program Files\BigFix Enterprise\BES Client__BESData\actionsite__Download\

Thanks

(imported comment written by SystemAdmin)

You need to put the cab files and the MSI in one folder then re-run your Software Distribution wizard and point it at the folder and not the MSI file. Then it will package the MSI and the cabs together.

(imported comment written by chrism91)

Thank you got it working.

(imported comment written by olsonc5891)

Did you do this to upgrade from 3.0 to 4.0. That is what I am trying to accomplish and even though I followed the instructions for Update of VMWare tools is still fails. I’m guessing this is for an update to an existing package, not an uprade to a new version. Please advise if you know for sure.

Thanks,

Chris

(imported comment written by olsonc5891)

I am trying to automate upgrading VMware tool from 3.5 to 4.0. The link here (http://communities.vmware.com/docs/DOC-12413;jsessionid=9662594CB81330716141F53DD0E55C77) shows how to perform and upDATE. However, it doesn’t appear to work for an upGRADE, only an upDATE. I get the error message that the previous install must be removed.

That said, I used the same article to create an uninstall script and the install package. I want to combine the two and have the uninstall action wait for 20 second to let the uninstall finish before starting the install. This is what I have:

Step 1

uninstall script:

msiexec /uninstall{3B410500-1802-488E-9EF1-4B11992E0440} /l* C:\temp\toolsrem.log /qn /norestart

Bigfix action:

wait “{pathname of system folder & “\msiexec.exe”}” /uninstall “{3B410500-1802-488E-9EF1-4B11992E0440}” /l* C:\temp\toolsrem.log /qn /norestart

Then, I want to wait 20 seconds.

Step 2 Install

download http://192.168.xxx.xxx:52311/Uploads/a6782d903d7df69033fdec22ff9908c2f638a7d9/40.tmp

continue if {(size of it = 38149238 AND sha1 of it = “a6782d903d7df69033fdec22ff9908c2f638a7d9”) of file “40.tmp” of folder “__Download”}

extract 40.tmp

wait “{pathname of system folder & “\msiexec.exe”}” /i “{(pathname of client folder of current site) & “__Download\VMware Tools.msi”}” ADDLOCAL=ALL REMOVE=“Hgfs,WYSE,GuestSDK,vmdesched” /qn /l* C:\temp\toolsinst.log /norestart

How can I combine these two actions into one? I tried adding an action to the msi package for installing but of course but they are two separate actions.

(imported comment written by NoahSalzman)

In lieu of a wait command you can do this one-liner to pause for 20 seconds:

waithidden cmd.exe /C ping 127.0.0.1 -n 20 -w 1000> nul

http://forum.bigfix.com/viewtopic.php?id=1021

(imported comment written by olsonc5891)

Noah,

Thanks for the hint. I’ve added that to the mix but I’m failing on the first step. I must have done something wrong converting MSI commands to Bigfix action script. Should I try the run command rather than the wait command?See below:

MSI script worked from command line:

MsiExec.exe /X{3B410500-1802-488E-9EF1-4B11992E0440} /l* C:\toolsrem.log /qn /norestart

Failed:

wait “{pathname of system folder & “\msiexec.exe”}” /X{3B410500-1802-488E-9EF1-4B11992E0440} /l* C:\toolsrem.log /qn /norestart

waithidden cmd.exe /C ping 127.0.0.1 -n 20 -w 1000> nul

download http://192.168.xxx.xxx:52311/Uploads/a6782d903d7df69033fdec22ff9908c2f638a7d9/40.tmp

continue if {(size of it = 38149238 AND sha1 of it = “a6782d903d7df69033fdec22ff9908c2f638a7d9”) of file “40.tmp” of folder “__Download”}

extract 40.tmp

wait “{pathname of system folder & “\msiexec.exe”}” /i “{(pathname of client folder of current site) & “__Download\VMware Tools.msi”}” ADDLOCAL=ALL REMOVE=“Hgfs,WYSE,GuestSDK,vmdesched” /qn /l* C:\toolsinst.log /norestart

(imported comment written by NoahSalzman)

You need to escape the curly brace, perhaps?

wait “{pathname of system folder & “\msiexec.exe”}” /X

{{

3B410500-1802-488E-9EF1-4B11992E0440} /l* C:\toolsrem.log /qn /norestart

http://support.bigfix.com/cgi-bin/kbdirect.pl?id=1230

(imported comment written by olsonc5891)

Noah,

As usual, you fixed my script. I read the article referencing it and while I don’t completely understand it, I tried it and it worked. I can’t thank you enough for your support. You’ve saved us a lot of time here.

Thanks again!

Chris

(imported comment written by chrism91)

I used this command in bigifx.

extract VMWareToolsCD.tmp

if {x64 of operating system}

//64-bit

waithidden “{pathname of system folder & “\msiexec.exe”}” /i “{(pathname of client folder of current site) & “__Download\VMware Tools64.msi”}” REINSTALL=ALL REINSTALLMODE=vomus /l* C:\toolsinst.log /qn /norestart

else

// 32-bit

waithidden “{pathname of system folder & “\msiexec.exe”}” /i “{(pathname of client folder of current site) & “__Download\VMware Tools.msi”}” REINSTALL=ALL REINSTALLMODE=vomus /l* C:\toolsinst.log /qn /norestart

endif

Which will upgrade 3.5 to 4.0.

(imported comment written by olsonc5891)

Thanks Chrism. I’ll be sure to try this one as it is less convoluted than mine. I did try this one since it was written up in a couple of VMware forums but I couldn’t even make it work at the command line, let alone using BigFix.

Thanks again,

Chris

(imported comment written by olsonc5891)

I want to take this to the next level and write some relevance so Bigfix will only identify machines that need the upgrade. Currently, I have to go to the virtualcenter to see which ones are out of date. I would imagine that somewhere on the machine, the VMtools version is indicated. If anyone has done this already, please share.

Thanks,

Chris

(imported comment written by olsonc5891)

I was able to get some basic relavence to work. There is probably a better way but I’m still learning this sort of thing. Here it is for anyone else who might find it useful. Obviously, you will need to adjust for your environment.

value “DisplayVersion” of key “HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{3B410500-1802-488E-9EF1-4B11992E0440}” of registry = “3.1.2.17734”

(imported comment written by NoahSalzman)

If you are version 8 you should also check out the Virtual Inventory node under Inventory Management in the Systems Lifecycle domain.