VMware Fusion 6.0.2 Deployment on Mavericks

HenryOzsoy
New Contributor III

Has anyone deployed VMware Fusion 6.0.2 on a Mavericks environment?

I read through the documentation provided by JAMF yet it was publish at 2009. The paths mentioned in the documentation doesn't match the current VMWare.

I was successfully able to create the VMware Fusion app bundle with our volume license. Created this as a package in Casper Admin. I also was able to create a VMware image that sits under /Users/Shared/Virtual Machines and made a package.

The only area where I can't get around is the VMWare App Settings to kick in. Its basically the preference file that indicates VMware that the image file is located under /Users/Shared/Virtual Machines.

I dropped the /Users/~/Library/Preferences/com.vmware.fusion.plist and VMware Fusion file into composer, verified the permissions, created a dmg package, uploaded it to my distribution point, set the options to FUT & FEU.

When I create a policy and add all 3 packages VMware App, Image and Settings packages all work fine on the machines except the settings.

When I launch VMware on a managed machine it opens with the Select an Installation Method Wizard. The only work around I found at the moment was to attach a script to the policy where the script is actually opening the file after the policy finishes.
Script

#!/bin/sh

## Open the Windows 7 x64 Image

echo " Opening the Windows 7 x64 Image /Users/Shared/Virtual Machines/Windows 7 x64 Image "
sudo open /Users/Shared/Virtual Machines/Windows*

Has anyone found a solution ?

1 ACCEPTED SOLUTION

golbiga
Contributor III
Contributor III

Those steps are no longer necessary as VMware Fusion since 5.0 has a deployment pkg built in. Just right-click the VMware Fusion.app bundle and choose "Show Package Contents". Inside Contents/Library/ is Deploy VMware Fusion.mpkg. Drag that file to your desktop and right-click it and choose "Show Package Contents". Inside Contents/00Fusion_Deployment_Items there is a Deploy.ini file. Just follow the directions in that file, you can add your serial there and set the default VM. You will also have to copy your VM and the actual VMware Fusion.app into the 00Fusion_Deployment_Items folder. Then just copy that up to your JSS and you should be good to go.

Hope this helps.

Allen

View solution in original post

20 REPLIES 20

golbiga
Contributor III
Contributor III

Those steps are no longer necessary as VMware Fusion since 5.0 has a deployment pkg built in. Just right-click the VMware Fusion.app bundle and choose "Show Package Contents". Inside Contents/Library/ is Deploy VMware Fusion.mpkg. Drag that file to your desktop and right-click it and choose "Show Package Contents". Inside Contents/00Fusion_Deployment_Items there is a Deploy.ini file. Just follow the directions in that file, you can add your serial there and set the default VM. You will also have to copy your VM and the actual VMware Fusion.app into the 00Fusion_Deployment_Items folder. Then just copy that up to your JSS and you should be good to go.

Hope this helps.

Allen

stevehahn
Contributor

Yes, agree with @golbiga. I just did this yesterday and it was a snap.

HenryOzsoy
New Contributor III

Thank you Allen & Steve most appreciated.

michaelhusar
Contributor II

Thank you for the insight. May I ask how you approach the windows updates?
Do you update the virtual machine (once a week?) and deploy the new one during maintenance?

golbiga
Contributor III
Contributor III

Our VMs are bound to AD and have SCCM installed on them. Any updates would be pushed by our SCCM folks.

donmontalvo
Esteemed Contributor III

VMWare and Parallels have a similar wrapper solution. Works great if you have a single volume key. But what if you have several groups that buy their own volume keys?

Creating a VMware Fusion mass deployment package (2058680)
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=205868...

http://www.parallels.com/support/desktop-virtualization/desktop-enterprise/ (Click on: Parallels Desktop Enterprise Edition Mass Deployment Guide)
http://www.parallels.com/support/desktop-virtualization/desktop-enterprise/

If you cache (not install) the MPKG it will go into /Library/Application Support/JAMF/Waiting Room/VMWare-Fusion.mpkg, then follow it up with a script that injects(*) the key into VMWare-Fusion.mpkg/Contents/00Fusion_Deployment_Items/Deploy.ini, you can have one deployment package, and as many serialization packages (payloadless) as needed for the different volume keys you have (example: different groups buying their own volume keys).

(*) By "injects" I mean a script guru can find/replace the license string in the Deploy.ini file, else I suppose the BFH method would work too, push a Deploy.ini file to the cached VMWare-Fusion.mpkg installer (if you're not doing anything else with that file).

PS, I haven't cached a package in some time, hoping that path is still correct, else use the correct path.

Don

--
https://donmontalvo.com

emily
Valued Contributor III
Valued Contributor III

Resurrecting an old thread, that's just how I roll.

Does anyone know if there is a "trial license" that can be packaged with VMWare Fusion? If you don't package a license, the installer forces you to open the app and enter a (bogus) email address before it'll work. If you don't do this with the local admin account on the machine it won't even open at all on a user profile. It'd be great to have a dummy license that could deploy with the software.

Any ideas?

emily
Valued Contributor III
Valued Contributor III

FYI—
A month+ later, and I managed to find that a trial version serial (reported and stored in the JSS under one of my user's computers) works for deploying a "trial" serial if needed. Sometimes we don't get serial numbers in for new hires until after they start, so this is useful for our environment.

jrserapio
Contributor

I have tried the steps outlined by @golbiga but with no success.

Not sure of what I'm doing wrong.
Here are the steps I am taking
1. download vmware fusion
2. open the dmg, then copy the vmware fusion.app to desktop
3. right click the app, show contents
4. contents > library > deploy vmware fusion.mpkg copied to desktop
5. right click deploy vmware fusion.mpkg contents > 00fusion_deployment_items
6. drop wmware fusion.app into 00fusion_deployment_items
7. change permissions on deploy.ini so i can modify it
8. add serial #, and software update preference
9. drop deploy vmware fusion.mpkg into casper admin 10. casper admin zipping the mpkg, then uploading
11. there was a problem uploading the package. the request timed out.

I have tried multiple times.

Any suggestions?

emily
Valued Contributor III
Valued Contributor III

I haven't quite gotten it working yet through Casper either. We just throw ours in a software share and copy/paste it to the machine, unpack, and install that way. We then run updates, bind to AD, and enroll the VM in Intune.

Have you tried zipping the file before uploading it to Casper Admin?

jrserapio
Contributor

I tried again, but this time without changing the deploy.ini file and it seemed to work. Can someone explain how they are modifying the deploy.ini file. When i edit it (sublime text), it seems to bonk out.

jrserapio
Contributor

Tried a few more times, and it seems that when the deploy.ini file is changed, the deploy vmware fusion.mpkg will not install properly. When i revert it to its default state it works fine.

emily
Valued Contributor III
Valued Contributor III

Permissions issue? If you go back to the .mpkg and apply its permissions to all enclosed items, does that work?

jrserapio
Contributor

No dice. How are you editing the deploy.ini file @emilykausalik ?

jrserapio
Contributor

Well figured out one piece of the puzzle. You CANNOT have a leading space before the entry in the deploy.ini. The top line is the default. The second entry is what i had modified by just removing the comment. It has a space which the deploy.ini doesn't like. Finally the 3rd entry is the one that worked. Hope this will help someone else in the future.

[Volume License]
# key = XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
[Volume License] key = XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
[Volume License]
key = XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

# softwareUpdates = deny softwareUpdates = deny
softwareUpdates = deny

gachowski
Valued Contributor II

Thank you JR, you just save me a massive amount of work!!!!

C

michaelhusar
Contributor II

On the actual VM: Did you set mode to 777 ?
Thank you very much!

franton
Valued Contributor III

I use the following script and an extension attribute. Full credit should go to @localhorst on this one with some mods by me for Casper 9.

#!/bin/bash

# Script to run the VMware Fusion installer and register a license key
# Heavily based on the work of Oxford University IT department
# So big thanks to Marko Jung m.jung@ox.ac.uk

# Everything based on VMware KB 1009244: Setting the license key from the command line
# http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&docType=kc&externalId=1009244&sliceId=1&docTypeID=DT_KB_1_1

# Implemented : r.purves@arts.ac.uk

# Version 1.0 - 20-12-2013 : Initial Version
# Version 1.1 - 07-07-2014 : Corrections for added xml tags added by Casper 9.

# What we'll do is the following:
# Pull the serial number from the computer this is running on's JSS record
# Write it into a "Licence Key.txt" file inside the VMWare Fusion app bundle
# Run the set up tool to properly serialise the application

# Let's start by sanity checking for the VMWare Fusion app bundle.
# If it's not here, we can quit with an error.

if [ ! -x /Applications/VMware Fusion.app ];
then
    echo "Error: VMware Fusion is not properly installed."
    exit 1
fi

# Set up variables we'll need later

ETHER=$(ifconfig en0|grep ether|awk '{ print $2; }')
APIURL=$( /usr/bin/defaults read /Library/Preferences/com.jamfsoftware.jamf jss_url )
APIUSER="apireaduser"
APIPASS="h26hEsfSf4BV1wA6hc21"

# Let's get the host record from the JSS API
# We must do various bash nasties to convert : to . for the JSS.
# We also need the MAC address from earlier

CMD="curl --silent --user ${APIUSER}:${APIPASS} --request GET ${APIURL}JSSResource/computers/macaddress/${ETHER//:/.}"
HOSTINFO=$( ${CMD} )

# Now parse the VMware version and serial number into something more useful

SERIAL=${HOSTINFO##*VMware Fusion Serial Number</name><type>String</type><value>}
SERIAL=${SERIAL%%</value>*}

# Set up license key file for VMWare Fusion

echo ${SERIAL} > /Applications/VMware Fusion.app/Contents/Library/License Key.txt

# Sanity check to see if the VMware Fusion set-up tool exists

if [ ! -x /Applications/VMware Fusion.app/Contents/Library/Initialize VMware Fusion.tool ];
then
    echo "Error: VMware Fusion tool is not executable."
    exit 1
fi

# Everything hopefully checks out. Run the serialiser.

/Applications/VMware Fusion.app/Contents/Library/Initialize VMware Fusion.tool set "" "" ${SERIAL}

exit 0

emily
Valued Contributor III
Valued Contributor III

I've found that packaging up the VMWare Fusion Deploy pkg into a DMG and uploading that, then using the installPKGfromDMG.sh from JAMF for Adobe installers works magnificently in Self Service.

emily
Valued Contributor III
Valued Contributor III

Just a quick note that dragging the Deploy VMware Fusion.mpkg into Casper Admin for deploying appears to finally be resolved in 9.61.