(E)MD – (Embedded) Modul Designer

//Last Update: Mar 27, 2012

This will be a quick and short introducing of the new Embedded Module Designer (EMD) which fits the hole between the complex Component Designer and the not even available feature to summarize files and actions into one package/component or even what it’s now called Module. (any guesses on the next release term?)

In this early stage the tool looks a little buggy. Opening or browsing through the catalog, adding dependencies (now called relationships) can take while and the finish dialog doesn’t show any result at all. Some back/forward clicks can also crash (E)MD but developers can see/imagine what big improvement and flexibility WES8 will bring in compare to WES7. It’s all leaded now in a very good direction, finally.

Taking away the possibility running actions in combination with some settings has bothered me from the very first day. Separating those actions, writing some routines or searching for good OEM/3rd Party tools to create some sort of sets/customizations is/was a pain in the ass in WES7.

So, I really appreciate to go a small step back to the days of Component Designer. Now developers get finally the ability to combine software and with actions/commands like in old days, back again.
Thanks Embedded Team.

A Module is based on a XML file which describes like a SLD (also XML) where to look for files, running own commands, of course can handle (custom) relationships and has a support for driver installation. Files can be just copied on the target-machine, commands can run on the target-machine or out of the Module. It will be possible to just run applications with switches out form the Module, but you also can use commands like REG or MSIEXEC /I <MSI IN MODULE> to execute some other operations. (E)MD doesn’t has the granularity (like in WES2009/XPe) to set (variable) registry-settings but in this cases you can go back to old good batchfiles and/or just reg.exe commands. Handling drivers in (E)MD seems to be a nice feature. Now you can run an installer with switches or even combine drivers with matching applications.

With the new ability in WES8 to create own categories, you can e.g. merge several Modules in one basic ‘folder’ and/or even create a top-level Module that only contains dependencies to other custom-Modules to fit the requirements for your project. Many useful cases are imaginable.


EMD file-format

Is the binary version that gets imported within the last EMD step or manually with ICE. It is possible to load EMD files in Module Designer but this action will takes more time to load than EMX files. The EMD has to open the complete Package/Module. EMX only provides the absolute information to update or modify the Module.


EMX file-format

I’m not quite sure if this format I really necessary but anyway it is pretty nice from MS to give the user a choice to work with (sometimes) big overloaded binary or even the nice and flat XML structured files which only contain the gathered information to create the actual binary Module.


WES8CTP1 open details

Install-order is in discussion:

Robert Smith – MS:
[…] Today there are up and down arrows on the Install Commands page of MD. The order listed is the order they’ll be executed. We’re also considering an install order page of MD that lets you order your module install relative to other modules.

The ordering between modules we were thinking of today is that you could specify other modules that need to be installed before your module. This way, if you have a module with a plugin for a program, you can say that the program needs to be installed before your module with the plugin. This allows us to get away from the concept of a global install order between all modules, which would be complicated, and hopefully solves most install order concerns.

Due the open details the DISM-Provider (Add-Module) and therefore the command DISM /add-module isn’t working/available yet in IBW and has to be executed by hand in the runtime-image, more details in the notes below.

The screenshots speak for themselves, so i don’t think no more words are necessary. 😉




  • Custom modules with driver payloads cannot be imported into a catalog

    Issue: If you create a custom module with driver payload (if any files show up in the Drivers section of the Payload page in Module Designer), then the module cannot be imported into your catalog. This means that your module cannot be used in Image Configuration Editor or IBW.
    Workaround: To import your module into your catalog, remove any driver payload from your module. To install a module with a driver payload, use the DISM /add-module command on your device.


  • Custom modules with installation commands are not executed during OS installation

    Issue: Installation commands in custom modules are not executed if the module is included in an OS configuration by using either IBW or Image Configuration Editor.
    Workaround: You can manually add your custom module that contains installation commands to your OS image by using the DISM /add-module command.

[nggallery id=1 template=caption]


Your email address will not be published. Required fields are marked *