The question title may need some editing, but here's the situation:
I'm in the process of writing a procedure to setup Windows PCs that will be sent to customers that buy equipment from us. As I go through this, many of these steps seem tedious ("Uncheck show window contents while dragging", "Change the background to the corporate background", etc.). I'd like to have some type of installer that takes care of setting up a system so that PCs leave our shop setup the exact same way, every time. I had thought about making a custom Windows installer, but then I would have to slipstream all of the drivers that came pre-installed on the HP or Dell computers that we use, and as the models change, I would have to keep creating new versions of the installer. My next thought was to make a software installer that programmatically changes all of those settings, but it seems that not everything can be changed programmatically (e.g. the picture used for the user's login).
For those of you who deploy PCs directly to customers, how do you ensure that all PCs leaving your shop are setup correctly? Do you have an automated process, or is everything done manually?