or, at least a question I run into often during my Windows Embedded Standard workshops and talks.
Sysprep is a Microsoft system utility that prepares system images to be used, when the operating system is not installed via setup, but extracted from an image file that has been cloned from a reference system.
It’s purpose, since the earlier days of Windows NT, is to avoid the impression of having identical systems in a network by changing the machine security identifier. Over time the importance of changing the SID seem to have diminished as Mark Russinovich stated in his blog a few years ago. But Mark at the same time points out that sysprep’s tasks have grown into other directions, too. It cleans user caches, initializes functionality and much more.
Due to this, Microsoft still requires syspreping machines before cloning them, if you want to stay in a supported image creation approach.
Fine, but from an embedded perspective this is approach is not always an optimal one. Embedded OEMs want to deliver their systems exactly as they cloned them. To them, very often, there is no need to clear any user caches, because the systems should just run as configured.
Sysprep, since the beginning being an enterprise tool, does not really honor this scenario! So, what can we do?
Well, my answer always is that I would shy away from not using sysprep, because of possible implications wandering on non-supported ground. A best practice I recommend would be to run your custom image modifications as a one-time executed script when the user logs on (aka synchronous command), that can be configured in ICE. This gives you the chance to get rid of any manual configuration tasks during image creation.
In addition, if you are no PowerShell guru, there are macro recorders available on the market that help you out to turn the manual configuration sequence you have been doing into an executable script.
Although it may look as having more work with the scripted approach in the beginning, you will gain a more robust, repeatable, less error-prone and much more efficient cloning process with every image you create.
The combination of sysprep and scripts will make you happy!