Wednesday, September 18, 2013

WDS & Windows Embedded Standard 7

I just spent most of a day failing to get Windows Embedded Standard 7 deploying via Windows Deployment Services (WDS). We have some IBASE SI-08 PC’s nailed on to some flat screen monitors which we want to use for digital signage. They came pre-packaged with some truly awful management software running on Windows Embedded Standard 7. We’ve decided to dump the free software and use PADS 4 instead and now we’re thinking about deploying our own Windows Embedded image with PADS instead of the pre-installed image.

I already have WDS installed and running on Windows Server 2012 and have used that to deploy vanilla Windows 7, 8 and Server 2012 images over the network.

After downloading the Windows Embedded 7 Standard ISO from MSDN and adding the WIM file from the Sources folder we tried PXE booting the device and got in as usual (had to fiddle with the BIOS to enable network boot, but wasn’t hard to find). I approved the request on the server via the WDS UI as usual and the boot image then fails to load. 0x00000001. A device connected to the system isn't responding.

This turned out to be a network time out issue, probably caused by incompatible packet sizes. WDS 2012 has an auto-negotiate feature which can be switched off in the WDS server properties. In the TFTP tab clear Enable variable window extension.

This moves us along. The boot image now boots, and we get a Windows Setup GUI, but it errors out with: WdsClient: An error occurred while starting networking: a matching network card driver was not found in this image. Please have your administrator add the network driver for this machine to the Windows PE image on the Windows Deployment Services server.

According to the specs for SI-08 we need a RealTek network driver so we download and unzip that and add it to WDS and apply it to the boot image. Boot again and we get along a little more. We give the setup our locale (English: UK) and admin logon credentials and then get to choose an install image. Or we would except it won’t show us any. The event log on the server shows errors when enumerating the images. We reboot the server. Now the WDS service will not start. We have event ID 257 An error occurred while trying to start the Windows Deployment Server (0xC1020201) in the event log and An error occurred while refreshing the image cache.

I removed and re-added the WDS role, but got the same problem. I did it again and this time I deleted the c:\remoteinstall folder, trashing my handful of install images (the ISOs are still around so adding them back should be simple enough). The WDS service now starts OK. I add the Windows Embedded 7 Standard install image and the x86 boot images again and try to install on a test laptop. It gets through to the Windows Setup OK but can’t offer me an install image. The errors are back again on the WDS server and the service won’t restart again after a reboot.

There’s clearly something fishy about this WIM image file and a bit of googling around WDS and Windows Embedded Standard 7 reveals that the WIMs are not directly deployable via WDS.

It looks like WDS will let me add the WIM, but then breaks when asked to enumerate them for a client or when restarting the WDS service. This time I deleted just the Windows Embedded Standard 7 image via the WDS UI, which works even without the service running, and then the WDS service starts.