Modena (OSD Tools & Driver Sync) Private Beta Released
On June 2nd, the Modena team at Microsoft reached a pivotal milestone by releasing our first semi-formal release to external users. This is a great milestone that our team set out to accomplished back in January when we formed our engineering team. The vision is that we develop tools that not only are used at Microsoft and our external customers but also are delivered as to customers to expedite and accelerate their deployments. We aren’t the solution accelerator team who focuses heavily on this very goal – though often we find we have to add some additional value to their tools to meet Microsoft requirements. As a value-add, we decided to share our tools with our customers as a way to enhance the experience you might have with our tools.
Microsoft Code-named “Modena” Beta Tools
The first thing that often comes up is what is your name. We don’t have a name right now and may never have one. We do have a code-name though and that is what the cool people do so we are happy. Modena is one of the project internal names we selected and is currently our master project to deliver a enterprise-ready Configuration Manager 2007 Operating System Center (OSD) solution (wow, say that backwards 3 times!) at Microsoft. It is comprised of two tools that each solve a particular problem at Microsoft:
Modena Beta OSD Tools
This packaged release is three parts – our custom OSD Setup Wizard – that offers a flexible, usable user experience to end-users though fully supports the powerful capabilities of ConfigMgr 2007’s task sequence engine. For example, IT administrators can add a simple task sequence step that will show the wizard user interface as well deploy a pre-populated configuration to support different sites. At Microsoft, we have various ConfigMgr hiearchies that cause us to have various pieces of data to offer the end-user and we can change this configuration without ever re-compiling the wizard. I will talk more about this below.
Beyond the wizard, we offer a set of pre-flight tools (scripts, etc.) that will enhance the user experience to ensure that a user doesn’t install Windows 7 (or another OS) when they don’t have the right set of conditions. These conditions could be available memory, bandwidth, or A/C power.
We also deliver an exported task sequence that can easily (we think) get imported and uses the OSD Setup Wizard along with the pre-flights so that you can run with it and test to your hearts content.
Modena Beta Driver Sync Tool
Deploying Windows 7 at Microsoft posed some unique challenges that I know the rest of the world has faced. We all know that drivers are a non-trivial activity when it comes to ensuring that machines have the right driver. We had a hard requirement to ensure that we delivered drivers to client machines not only during OSD (think Driver Catalog) but also after Windows 7 is up & running. For this, we developed the Driver Sync Tool.
The Driver Sync Tool marries together three separate products, Windows Update/Microsoft Update (WU/MU), Windows Server Update Services (WSUS), and ConfigMgr 2007. The logic between marrying these with a “tool” is that we already have all the data needed for our clients in our ConfigMgr database and all we need to do is put that together with WU/MU and push to WSUS. Thus, just like a user is patched today using WSUS we could also provide the same experience to ensure they are provided updated drivers.
We built the Driver Sync Tool using Internet Information Services (IIS) 7.0, .NET Framework 3.5 Service Pack 1 (specifically, Windows Communication Foundation), and SQL Server 2008. The only requirement is that you, when you download, already have a Windows Server 2008, WSUS v3 Service Pack 1, & SQL Server 2008 licensed server(s) available in your enterprise. The Driver Sync Tool will then communicate directly to your ConfigMgr infrastructure and obtain all broken drivers and locate the best driver for that device Id (it uses a combination of device Id, compatible Id, and hardware Id’s) and then notifies your WSUS infrastructure to pull down the Update Id for that driver. It’s that simple…Not really, but you get the point!
For more details, see this blog post that talk a bit more about how we “enabled” the Driver Sync Tool and look for future posts that talk more in-depth about our design and solution.
In order to obtain the Modena Beta Tools you will have to already be a member of the ConfigMgr 2007 SP2 Open Beta Program that is available via the Microsoft Connect site. This is required as our tools are developed in lieu of their update (excluding Driver Sync Tool).
Modena Beta OSD Setup Wizard
Unless you attended Microsoft Management Summit in late-April, you probably have no idea what this OSD Setup Wizard is. You might have also attended our Technet webcast on the topic and see the demonstration as we use it there. As mentioned above, the OSD Setup Wizard is a development effort by my team at Microsoft that solves the age old dilemma of providing a nice, intuitive, yet robust user experience (UX) for clients. We targeted the OSD Setup Wizard for Windows 7 but there isn’t anything stopping it from working fine on Windows XP, Windows Vista, etc. though obviously I would tell you that you are crazy for not deploying Windows 7 – it rocks!
The goals of the wizard are broken up today (and future) sections:
- Welcome
- Future - (it’s a secret)
- Computer
- Network
- Language
- Volume
- Future - (it’s a secret)
- Summary
The purpose of these sections are to logically place the UX together based on the purpose. As an IT Administrator, it is easy to disabled any of these sections/pages as well as set the default configuration such as the OU, etc. For example, look at this snippet from the osdConf.xml:
<PageSettings>
<Page>
<Option name="WelcomePage" mode="Enabled" text="Welcome to the Windows7 OSD Setup Wizard."/>
<Option name="ComputerPage" mode="Enabled"/>
<Option name="NetworkPage" mode="Enabled"/>
<Option name="LanguagePage" mode="Enabled"/>
<Option name="VolumePage" mode="Disabled"/>
<Option name="SummaryPage" mode="Enabled"/>
</Page>
</PageSettings>
<ConfigSettings>
<Domain>
<Option default="true">
<Name enabled="true">fabrikam.com</Name>
<OU>
<Option default="true" enabled="true">OU=Workstations,OU=Machines,DC=fabrikam,DC=com</Option>
</OU>
</Option>
<Option>
<Name>europe.fabrikam.com</Name>
<OU>
<Option default="true" enabled="true">OU=Workstations,OU=Machines,DC=europe,DC=fabrikam,DC=com</Option>
</OU>
</Option>
</Domain>
This would produce the following Wizard page:

As an IT professional, though, I don’t have time to learn C/C++ which is what our wizard is developed in so I need an easy way to update the actual OU’s as we just added an IT department (great idea!). Easy, no problem…update osdConf.xml in your package and re-distribute to the DPs and away you go:
<Option name="WelcomePage" mode="Enabled" text="Welcome to the Windows7 OSD Setup Wizard."/>
<Option name="ComputerPage" mode="Enabled"/>
<Option name="NetworkPage" mode="Enabled"/>
<Option name="LanguagePage" mode="Enabled"/>
<Option name="VolumePage" mode="Disabled"/>
<Option name="SummaryPage" mode="Enabled"/>
<Name enabled="true">fabrikam.com</Name>
<Option default="true" enabled="true">OU=Workstations,OU=Machines,DC=fabrikam,DC=com</Option>
<Name>europe.fabrikam.com</Name>
<Option default="true" enabled="true">OU=Workstations,OU=Machines,DC=europe,DC=fabrikam,DC=com</Option>
<Name>southamerica.fabrikam.com</Name>
<Option default="true" enabled="true">OU=Workstations,OU=Machines,DC=southamerica,DC=corp,DC=microsoft,DC=com</Option>
This would produce the following wizard with the newly updated
Beyond just seeing that we have the OU hard-coded, notice that we have disabled the entire selection. The scenario here is the users at a specific site are always placed in a special OU that they shouldn’t change. No problem, we can lock this using the enabled=”false” feature in the osdConf.xml as such:
<Option default="true">
<Name enabled="false">redmond.corp.microsoft.com</Name>
<OU>
<Option default="true" enabled="true">OU=Workstations,OU=Machines,DC=redmond,DC=corp,DC=microsoft,DC=com</Option>
</OU>
</Option>
Trust us when we say we did this without re-compiling a single line of code… <g>
Branding the Wizard
As we mentioned, we set out from the start to “share” everything with the world so we always went through the thought process of how to make things simple. When we release our RC1 in mid-July, we will have made everything in the wizard configurable so that it gives complete control to the IT professional (you). This is crucial to ensuring that we reduce our coding churn and that you get the maximum flexibility – wise, ay?
The common thing that occurs is that you don’t want to assume “our” Microsoft branding. As we demo’d this is pretty simple to do using the same configuration file, osdConf.xml and it is done using this XML:
<Banner>
<FileName>Header0.bmp</FileName>
</Banner>
This is currently using this file for the Branding -

This file, called Header0.bmp, would produce the following Welcome page:
Let’s assume you didn’t like this and wanted to change this to another header, such as Header 1. The only requirement is that you make the .bmp 630x100 (if you make it bigger, we will show it so take our advice as we probably aren’t going to fix this bug!!!!) and off you go. So, for example, I prefer to show this Bitmap for the Europe users. I would create a new osdConf.xml for the Europe site and I would set the <banner> section to use header1.bmp which produces the following wizard branding:
<Banner>
<FileName>Header1.bmp</FileName>
</Banner>
The Image:
This would produce the following Wizard branding:
Summary
We are working hard on some further investments in our M5 engineering milestone and we think that we are working on the features for both our OSD Setup Tools as well as our Driver Sync Tool that you (yes, you!) want. We do though have a beta that you could participate in if you are part of the ConfigMgr 2007 SP2 beta. If you are a part of this program, email me and feel free to request joining our beta and we will share our bits. Beyond that, we are reaching out and asking for folks to share what they think would be enterprise scenarios for both OSD Tools & the Driver Sync Tool.
-Chris