Windows Integration with Apple hardware and Bootcamp 5.1

Bootcamp Is the application provided by Apple to allow 64bit Windows to run on an Apple produced machine.   The application is provided in a zip format that calls an MSI with the current version being 5.1.5652, available from http://support.apple.com/downloads/#macoscomponents

The Windows Installer package is almost completely a series of modular drivers that may be extracted and integrated with SCCM and MDT to incorporate Apple machines in a network based deployment solution.

7Zip can be used to extract the provided zip file into its default folder structure.  Each driver is also compressed into a self-extracting zip file.  To natively import the drivers into SCCM or MDT, each executable needs to be extracted into a folder of its own.

When Bootcamp is normally run, Bootcamp.msi (residing within the Apple folder) is effectively calling DPInst.exe against each of the contained drivers.  Almost all of the drivers can just be imported into standard SCCM and MDT driver collections for Plug and Play to work as part of a standard installation process.  However, The MSI directly installs its own on-screen utilities that can’t be installed via Plug and Play.  There also seems to be a problem with Sound Card drivers with some Macbook Pro machines if the drivers are installed in WinPE mode.  The sound card problem is resolved by not including the Cirrus Audio drivers within the SCCM / Driver collection and pushing the provided DPInst.exe packages to a machine after the Windows install has occurred.

Bootcamp.MSI

Bootcamp.msi is almost completely a script… not what an MSI should be at all.  As the modular drivers included within the package will be installed via plug and play, to install the remaining On-screen utilities, the MSI needs to be edited to stop calling the self-extracting driver packs.  By editing the MSI to leave only the onscreen utilities the remaining installation package can be reduced to a package size of 4mb.

Windows Installer packages install by working through actions within the InstallExecute sequence of the package.  To stop an action from being called Orca can be used to delete undesirable actions.  I’ve included a Transform here that can be used with the Apple supplied MSI Installer (version 5.1.5652).  Don’t forget the syntax to install an MSI with a Transform is:

MSIExec /i Bootcamp.msi TRANSFORMS=Bootcamp.mst /qb

Bootcamp with WinPE

Driver support needs to be added to WinPE to allow the Apple machines to be installed across the network.  Unfortunately, just the import of supplied Apple drivers isn’t (by itself) enough.  It appears that Apple have released the latest 5.1 version of bootcamp for use with Windows ADK 8.1.  There are a couple of hundred driver differences between the WinPE versions that are produced from Windows ADK 8.0 and ADK 8.1.  The Bootcamp WinPE drivers for new Macbook Pro machines have dependencies on drivers included within the 8.1 ADK that aren’t present with the older WinPE /ADK versions.  This is a real problem for organisations that aren’t currently on SCCM 2012 R2 as this is the only release of the product that supports ADK 8.1.

MDT as a standalone installation can still be used to integrate Apple’s Bootcamp drivers with ADK 8.1

Within MDT I would create a folder structure for the Bootcamp Driver source while creating a second folder for the WinPE drivers.  Apple’s $WinPEDriver$ folder within the bootcamp media provides some of the drivers needed for WinPE and all the other drivers can be recursively imported from the extracted executable sets.

Strangely, Apple does not include drivers for keyboard and trackpad within their WinPE driver set so you need to copy all of the imported “Human Interface Device” class drivers into the WinPE folder.

By creating a Selection Profile to just include the drivers within the WinPE folder new Boot Image can be created with WinPE to include the additional drivers required to network boot and deploy Windows to the new devices.

Although I wont go into the step-by-step of using MDT, be aware that the properties of the Deployment Share allow you to select a Selection Profile for driver inclusion with a created WinPE image.

Tags: