VMWare Component Extractor
* not affiliated with or endorsed by VMWare in any way
Origin:
I'm currently running VMWare Workstation 7.1 on RHEL-6 and any attempts to let VMWare download and install VMWare tools fail with a general error. Using wireshark I found the location of their CDN and downloaded the component tarball manually, and tried to install it with vmware-installer --install-component=..., but saw an error about the magic number not matching, and it became obvious that you extract the tarball first and you get an XML table of contents and a .component file. Runnning vmware-installer with that component file then yields "The specified component was either already installed or not accepted by any installed product.", which I believe is the general error VMWare complains about.
Between you and me, this is totally unacceptable in a paid product, especially when support is non existant without big bucks and the forums are useless. I even posted this code. So, I looked into tearing apart the component file itself and getting to the ISOs.
It turns out there's an unknown header followed by some XML, which when extracted yields the table of contents of the file and locations of the files contained. My tool basically digs out the XML by manual search and then uses the offsets contained to extract the files.
Directions:
- Download the component package from VMWare's CDN at http://softwareupdate.vmware.com/cds/vmw-desktop/ws/[VMWare Version]/[VMWare Build Number]/[VMWare Host OS]/packages/vmware-tools-[VMWare Guest OS]-[VMWare Tools Version]-[VMWare Build Number].[VMWare Guest CPU].component.tar
- VMWare Version: eg 7.1.3, 7.1.4
- VMWare Build Number: eg 324285 or 385536
- VMWare Host OS: eg linux or windows
- VMWare Guest OS: eg linux or windows
- VMWare Guest CPU: eg x86_64
- VMWare Tools Version: an incrementing number, currently at 8.4.6 as of 05/03/2011. Try incrementing the number yourself, or just watch wireshark when your vmware tries to update and get the actual URL instead of assembling one.
- Examples:
http://softwareupdate.vmware.com/cds/vmw-desktop/ws/7.1.3/324285/linux/packages/vmware-tools-windows-8.4.5-324285.x86_64.component.tar
http://softwareupdate.vmware.com/cds/vmw-desktop/ws/7.1.4/385536/linux/packages/vmware-tools-linux-8.4.6-385536.x86_64.component.tar
http://softwareupdate.vmware.com/cds/vmw-desktop/ws/7.1.4/385536/linux/packages/vmware-tools-windows-8.4.6-385536.x86_64.component.tar
- Download my PHP based extractor (for simplicity, could be easily done in other languages) here
- Rename the file to just .php
- Run php-cli or php with vmware_extract_component.php followed by the component tarball filename, and the file will be extracted