USB Image Writer

At the end of the manufacturing process for Steelbox equipment, the firmware is loaded from a USB thumb drive. We normally create these bootable drives using dd, the disk dump utility in Linux. The technicians that our manufacturer employs, however, are not particularly savvy, so when the company first started we would have someone drive a handful of USB thumb drives 12 miles up to the manufacturer when we had a new version of firmware. This being horribly inefficient, my boss approached me to figure out a dead easy way for the technicians to create new boot drives using a disk image they got from our FTP site. The requirements were that it work with Windows and that it be fool-proof.

I found a good disk dump utility called dd for windows. The good news was that it was open-source. The bad news was that it was command line only. My solution was to use build a small .NET GUI wrapper. This is as simple as I could make it. All you have to do is drag and drop the disk image file, select the destination, and select the type of boot drive you’re making.

dd for windows has an option that will prevent you from writing to non-removable media. I took advantage of that.

Dumping the image takes a while, so I made some animated text to assure the user that the process is still running. I had to use threading so that the GUI didn’t become unresponsive while the disk dump was taking place.

The output from the command line utility indicating success or failure is shown in an alert dialog when the process is finished.