Windows XP Embedded supports an update mechanism called Device Update Agent (DUA), this device update service uses a script language to define the way in which a Windows XP Embedded device would be updated – some time ago, Aaron Stebner and I wrote a skunk tool called DUAScriptGen to make it easier for developers to generate script files without needing to know the underlying script language.
I started working on DUAScriptGen because I needed to give a demo of Device Update Agent running on a Windows XP Embedded operating system – the demo was to be a “Live Demo” that showed how to create the underlying DUS (Device Update Agent Script) file, compile the script and then update a Windows XP Embedded image. The documentation for the DUA script language was 20+ pages long – and quite frankly I didn’t want to spend the time learning the script language – it seemed like a good time investment to create a skunk too (originally just for the demo!) that created the script file – I could then open the script file in Notepad, show everyone what the script looked like and then complete the demo. Interestingly, the developer audience immediately wanted a copy of the tool!
Aaron, who at that time was working in the Windows XP Embedded team had some brilliant ideas for enhancing the DUAScriptGen tool – for example, QFEs ship with a .INF file that defines the contents of the QFE – Aaron implemented the code to import a .INF file and generate a DUA script file!
The DUAScriptGen tool has now been released (as source and binary) to CodePlex
Here’s a quick <snip> from Aarons blog.
It does make me wonder why we don’t have more tools like this – for example it would be awesome to have a tool that made it easy for developers to create, and edit DPWS XML files – I know that I would prefer to spend my time coding up the functionality of a system rather than spending time reading the XML schema specification for Devices Profile for Web Services, and then spend more time in Notepad hand crafting an XML file.