Deploying MacOS X Upgrades with the Dell K1000

At work we will be deploying Office 2016 to campus this summer and it requires at least MacOS X version 10.10. In our environment we normally don't upgrade operating systems in place so we have a fair number of computers with earlier versions installed. This presents a problem. Our initial thought was that we would need to deploy the sneaker net and get to work. I realized that the K1000 detects Mac OS X as an installed program so I wondered if I could setup a managed install to deploy it and it turns out you can. I used the following procedure to deploy Mac OS X 10.11 El Capitan but it should also work for other versions.

Step 1: Download the OS Installer from the AppStore

If you don't already have a copy of the Install OS X El Capitan application from the Apple AppStore login and download a copy of it. You can leave it in the /Applications folder.

Step 2: Build a Mac OS X install package

Download createOSXInstallPkg script from GitHub and store it somewhere on your computer.


Open a terminal window and change to the location of the script.

The documentation for the script is well written but there isn't too much necessary for a basic package. The following command will create the package in the same location as the script:

sudo ./createOSXInstallPkg --source /Applications/Install\ OS\ X\ El\ Capitan.app/

You should end up with a file named something like InstallOSX_10.11.3_15D21.pkg. The version and build number (10.11.3 and 15D21 respectively) will depend on when you download the installer from the App Store.

Step 3: Create a disk image to hold the package

The K1000 appliance will deploy packages stored on a disk image and I have found this method to be the most reliable for uploading packages to the appliance.

Open Disk Utility

Click New Image

Give the disk image a name, I called mine MacOSX_10.11.3_15D21.dmg.

For the size you need to make the image larger than the size of the package because once the disk is formatted it will loose some space. My install package was 6.1GB so I made the disk image 7.5GB.

Leave the Format, Encryption, Partitions and Image Format defaults.

Click Create

Step 4: Copy the install package to the newly created disk image

The disk image should be mounted when created, but if it isn't mount it and then copy the file to the volume. Once it is copied, unmount the disk.

Step 5: Copy the disk image to the K1000 appliance

The web interface won't allow you to upload files more than 2GB so you will need to mount the clientdrop share on your K1000 and copy the file there. If you have not already enabled the SAMBA share on your appliance login to the admin interface and browse to Settings, Security.

Step 6: Associate the disk image with the software title

When creating a managed install it is very important that you associate the installer with the correct title. If you have any doubt about which software title to use then I strongly recommend that you use the installer to update one machine in your environment manually and then associate the file with the software title found in that machines software inventory after the setup is complete and the machine has checked into the K1000 again.

Once you are satisfied that you have the correct software title select the disk image from the Upload and Associate Client Drop File menu.

In the Supported Operating Systems list select the operating systems that you will be upgrading to 10.11.

Save the software title.

Step 7: Create the managed install

In the K1000 interface click Distribution

Under Managed Installs click Choose Action, New

Give your MI a name, I called mine Mac OS X El Capitan Install

Select 10.11.3 software title from the dropdown

Set the execution option based on whether or not you want to interrupt users with the installation or not.

Leave the Default installation option selected

For the notification options we setup both Alert user before run and Completion messages. This is what we have set for our environment:

Alert user before run:

Your computer has been scheduled to be upgraded to OS X El Capitan (10.11). You can continue to use the computer and will be notified when the first phase is complete.

Completion message:

The first phase of your upgrade to Mac OS X El Capitan is complete. Please restart your computer to begin the next phase. Phase two will take about half an hour to complete.

Save the managed install.

You should now be able to target computers with the installation and they will receive the upgrade. Note that the first phase of the installation (before the computer restarts) is silent. Unless you use a completion message the user will not be prompted to restart. Once the computer does restart the installation will proceed. I have had varied reports of whether or not there is interaction required during this phase of the upgrade.

The installation of 10.11 has been resetting the Sharing preferences in our environment. We normally have remote login and remote desktop enabled for certain users and after the upgrade those options are turned off. Thankfully the KACE agent is still checking in so you can use a script to set those options. Here is our script:


# start here

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -allowAccessFor -specifiedUsers

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -configure -users admin -access -on -privs -DeleteFiles -ControlObserve -TextMessages -OpenQuitApps -GenerateReports -RestartShutDown -SendFiles -ChangeSettings

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -configure -clientopts -setmenuextra -menuextra no

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -configure -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw VNCPasswordHere

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -restart -agent -menu -console

sudo systemsetup -setremotelogin on

exit 0

This post was also shared on my personal blog. http://chucksteel.blogspot.com/2016/03/deploying-macos-x-upgrades-with-dell.html


  • Hi,

    Thank you, I will try this method this afternoon ! CurrentIy I deploy MacOS with K2000 but it's not very stable :/ - roya 8 years ago
    • We deploy Mac images with DeployStudio. I find it to be a much better option for both thin imaging and thick imaging. - chucksteel 8 years ago
  • Thank you for posting these instructions. I was going to post ours as a script so I can offer it to staff via the helpdesk portal. - ajkunes 8 years ago
  • Chuck - thank you for sharing this method. We too run a fairly mixed environment when it comes to OSx versions. How might your method change if the local disks were encrypted? - Jbr32 8 years ago
  • Chuck,
    can this method be used to upgrade Sierra? thanks - sam240 7 years ago
    • I haven't tested it but yes, the same method should work. - chucksteel 7 years ago
      • I'm stuck on this part, sudo ./createOSXInstallPkg --source /Applications/Install\ OS\ X\ El\ Capitan.app/

        How did you know to put \ after the names? With Sierra, in applications its called "Install macOS Sierra" so should I use /install\macos\ sierra.app/ - sam240 7 years ago
      • The backslash is an escape character for the spaces in the file name. Assuming the installer is in the Applications folder it would be:
        /Applications/Install\ macOS\ Sierra

        When in Terminal you can press Tab to auto complete names, so once you get /Applications/Ins pressing Tab should complete the rest of the name. - chucksteel 7 years ago
  • I got it work with this sudo ./createOSXinstallPkg --source "/Applications/Install macOS Sierra.app"

    Also I wanted to share that I used the above method to deploy Sierra and it worked just fine without any problems. - sam240 7 years ago
  • "macOS 10.12.4 broke createOSXinstallPkg."

    I'm interested in upgrading MacOS with Kace to 10.12, but from my understanding, the installer available in the App Store is not 10.12.3, which is the last one supported. What is being used now? Is there any replacement, so we can still upgrade MacOS using KACE? - ss1980 6 years ago
    • The OS install can be initiated using the startosinstall script located inside of the installer app. You should be able to have the appliance launch that command, although I don't know if you can completely replicate the same behavior in terms of prompting for the reboot. We did not push out 10.12 on a large scale, so I did not test. - chucksteel 6 years ago
  • Thanks for replying chuck. I copied out startosinstall from the Sierra installer and trying to run it. I remember I've done this before, and then the mac rebooted but I couldn't locate the package that was created (I didn't specify a location, which means it should be where the script is if I understand correctly).

    when you say "have the appliance lunch this command," which appliance do you mean exactly? Just trying to wrap my head around this. Thanks! - ss1980 6 years ago
    • Don't copy the startosinstall command out of the app, I believe it needs to be in the app to work. When I have done this manually, I copied the installer to the machine (via Apple Remote Desktop) and then initiated the command:
      /Users/admin/Desktop/Install\ macOS\ Sierra.app/Contents/Resources/startosinstall --applicationpath "/Users/admin/Desktop/Install macOS Sierra.app" --agreetolicense

      In my case the install app was on the admin user's desktop. You could have the K1 place the installer in /Applications using Managed Install and then have a script run the startosinstall command.

      By appliance, I meant the K1000. - chucksteel 6 years ago
      • Thanks again! I am working on it. - ss1980 6 years ago
This post is locked
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ