Comment on page


It's called OSDBuilder for a reason, and this is it, but it comes at a cost ...

What is the cost?

The cost of BuildPacks is that you have to give up using Drivers, ExtraFiles, Registry, and Scripts in Templates. This probably only affects Mike, Gary, and Sune, but who knows

Can they co-exist? Sure, but at this point I am putting all efforts into BuildPacks, and would rather kill off the duplicate functionality in Templates

Can I keep using Template Content?

For a while, sure. I'll probably remove support for it at the end of the year, along with Windows 7 and Server 2012 R2 support. Don't worry, due to the SHA-2 changes in Microsoft Updates, you can't update Windows 7 past August 2019 with Offline Servicing

Why the change to BuildPacks?

For me, I never could use Template Content as much as I would have liked because while I design and support OSDBuilder, I also have my day job of supporting 'The Company'

This meant that I had to keep my content separate in different OSDBuilder Home directories ... often at times duplicating Updates, etc. It became rather time consuming, and let's be honest. I made OSDBuilder for me and my team first, and shared it with everyone else secondary (this isn't a paid job after all). So it seems I could never fully develop Templates as I actually need multiple Templates ... so after a few beers, and some silly names (LootCrate, ConfigPacks, OSDBuilderPackages, Box) I decided on BuildPacks (one word, not two)

What is a BuildPack?

In simple terms, its kinda like another Templates Content ... but structured a little differently. You'' start out with _Mandatory and _Template. As more features get added to BuildPacks, they will continue to grow. Content you place in _Mandatory will be applied to every New-OSBuild, just like Templates Content. The _Template BuildPack does nothing except offer you some guidance on how to they are configured. Do nothing to this directory


BuildPacks are added to a New-OSBuildTask, just like you would anything else. I have manually added 'The Company' and 'Windows 10'. I cannot add or remove _Mandatory. This is automatic. As you can see, this is the new OSBuild Task Information which only shows what you have configured (new to MMSJazz). So in this example, I am creating a customized Windows installation with nothing but BuildPacks

WinPE BuildPack Configuration


Simply place the DaRT Tools and Dart Config in the PEDaRT directory


This is structured a little different, but as you see, OSBuilder will find the right content that is needed and install the CAB files that are in the BuildPack. Say hello to PowerShell in WinPE


In this example, I had content in multiple BuildPacks that were applied automatically


You have some options in this one. If you use one of the Subdirs, you can keep your content organized rather than just dumping everything in one place


Have you ever wanted to add a PowerShell Module to WinPE? Just add it to PEPoshMods

PERegistry and PEScripts

Quite similar, just add the content

Windows Setup Environment (WinSE) Results

  • Drivers
  • Custom Wallpaper
  • Explorer (DaRT)
  • PowerShell
  • PowerShell Modules

Operating System BuildPack Configuration

I'll come back to this, but here is how it looks in the process

Operating System Results

  • OSDrivers
    • Must have Drivers
  • OSExtraFiles
    • Wallpaper
  • OSPoshMods
    • Pre-install PowerShell Modules
  • OSRegistry
    • Certificates
    • Desktop Icons
    • Theme
    • Windows Explorer Default View
  • OSScripts
    • Execute custom PowerShell Scripts during New-OSBuild
  • OSStartLayout
    • Custom Start Layout Modification