Aaron Stebner's WebLog

Thoughts about setup and deployment issues, WiX, XNA, the .NET Framework and Visual Studio

Device Update Agent Script Generator (DUAScriptGen) v1.0 beta - try it now!

Device Update Agent Script Generator (DUAScriptGen) v1.0 beta - try it now!

  • Comments 6

When I joined the Windows Embedded team a few months ago, I set out to learn about my team's features, and one of the first things I started working with was Device Update Agent (DUA).  I found the documentation very helpful, but felt a lot of pain trying to use Notepad as an IDE to create DUS scripts and get them to compile.  I started thinking about some way to create a tool to hide the details of the script syntax from the user to make it easy to create and compile update scripts.  Then I started talking to folks and found out that Mike Hall had already coded up a demo app that did exactly that.  So for the past few weeks I've been working with him to finish implementing functionality, fix bugs, add a few features, and of course test it out.

We've finally got something that we're ready to unveil to everyone.  Click on the image below to download the DUAScriptGen.exe tool and try it today!  You will need to have the .NET Framework 1.1 installed on your machine for it to work correctly since we wrote the tool in C#.

Here is a list of the cool things that the tool can do:

  1. Import the information in an XP Embedded QFE .RTF file to auto-generate script file - you can download the .RTF files on the same page as each of the QFE's for XP Embedded (http://msdn.microsoft.com/embedded/downloads/xp/default.aspx)
  2. Drag/Drop files onto the application (or use the import button) to add additional files to the script
  3. Location setting for files - set individual files to specific folders on the target device (folders will be created if they don't exist)
  4. Drag/Drop .REG files  (or use the import button) to add groups of registry keys to the script
  5. Add specific .REG keys through DUAScriptGen UI
  6. Specify commands to execute as part of a script
  7. Specify the polling location, local DUA directory, and the name of the next script to poll for when an update completes
  8. Optionally reboot at the end of an update
  9. Reload scripts previously created by DUAScriptGen and modify them and recompile

Mike and I are really excited about this tool, and we hope that it will help folks more easily use DUA in their XP Embedded images.  We would love to hear your feedback - bug reports, additional feature suggestions, usability improvements.  Please post comments on either of our blogs....

 

Download DUAScriptGen Now!

  • Just want to try the tool...
  • You can download the tool from http://www.winisp.net/scrat/DUAScriptGen/DUAScriptGen.zip and try it out. Please let me know if you have any trouble accessing it or have any feedback about the tool itself. Thanks!

  • Thanks - the tool will be usefull!

    During my evaluating of the "COPYFILE" command I discovered that the generated script contains
    duplicate "COPYFILE" sections. I guess that the first section shouldn't be present?

    The complete generated script is listed below.

    Best regards,
    Jorgen






    // DUAScriptGen V1.0 Script File
    // (C) 2004 Microsoft Corporation

    COPYFILE,,,C:\DUAFILES\Dua.bat,,C:\DUATEMP\Dua.bat,DANO

    // **** FILE OPERATIONS BEGIN ***

    // ***********************************************************
    // EXECUTEPROCESS
    // Source - C:\windows\system32\cmd.exe
    // Command line parameters - /c c:\duatemp\dua.bat
    // Wait on exit - yes
    // Wait time - 4294967295 (infinite)
    // Working directory - C:\windows\system32
    EXECUTEPROCESS,,,,C:\windows\system32\cmd.exe,,/c c:\duatemp\dua.bat,DAYES,4294967295,,DASEC_REV,,,,DASEC_REV,,,,,,C:\windows\system32,1,,WinSta0\Default

    // ***********************************************************
    // COPYFILE
    // Error Mode
    // Expand Mode
    // Source - C:\DUATEMP\Dua.bat
    // Expand
    // Destination - C:\DuaTemp\SubDir\Dua.bat
    // FailIfExists - DANO, overwrite existing file
    CREATEDIRECTORY,,,C:\DuaTemp\SubDir
    COPYFILE,,,C:\DUATEMP\Dua.bat,,C:\DuaTemp\SubDir\Dua.bat,DANO

    // ***********************************************************
    // EXECUTEPROCESS
    // Source - C:\windows\system32\notepad.exe
    // Command line parameters - c:\duatemp\DuaResponse.txt
    // Wait on exit - yes
    // Wait time - 4294967295 (infinite)
    // Working directory - C:\windows\system32
    EXECUTEPROCESS,,,,C:\windows\system32\notepad.exe,,c:\duatemp\DuaResponse.txt,DAYES,4294967295,,DASEC_REV,,,,DASEC_REV,,,,,,C:\windows\system32,1,,WinSta0\Default

    // **** FILE OPERATIONS END ***

    // **** REGISTRY OPERATIONS BEGIN ***

    // **** REGISTRY OPERATIONS END ***

    REGCREATEKEY,,HKEY_LOCAL_MACHINE,,SYSTEM\CurrentControlSet\Services\DUAgent\Parameters\Config\Sessions\0000,DAREG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS
    REGSETVALUE,,HKEY_LOCAL_MACHINE,,SYSTEM\CurrentControlSet\Services\DUAgent\Parameters\Config\Sessions\0000,,CmdFile,DAREG_SZ,C:\DUAFILES\FlexPay.dup





  • Thank you for trying DUAScriptGen and sending feedback. The intention of the initial file copy section is to get the files copied to the destination device. If you have the option selected to do HTTP polling, you will see an HTTPGET section instead of a COPYFILE section. Also, if you have share polling set and you have the share to poll in the same location as the DUA local directory, DUAScriptGen will skip the initial COPYFILE section. Hope this helps explain it a little better, I will update the documentation to reflect this as well. Please let me know if you have any additional feedback as you continue to use the tool.

    Thanks! Aaron
Page 1 of 1 (6 items)
Leave a Comment
  • Please add 5 and 5 and type the answer here:
  • Post