Hi X-Savior and Eric, Here is what I have been able to do (before you plug the device in): 1) put the driver (SYS) in a known directory (create one even - c:\windows\OEM_drivers) 2) put the INF file in c:\windows\inf 3) modify the registry key HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\DevicePath from this --> %SystemRoot%\Inf to this -->%SystemRoot%\Inf;%SystemRoot%\OEM_drivers (my case - yours may differ) I presume this lets new hardware wizard know of one more place where to look for the SYS file. 4) plug that puppy in In my case, my embedded device has no shell (explorer ain't there at all) and no systray! Soooo, the new hardware dude runs in the usual ~1/4 screen mode dialogs instead of the usual systray bubbles that happen on a "normal" PC. The non-techical user still has to answere a few prompts, sees that the darned embedded device is running Windows, and finally - viola - installed! But, the goal is to assume the user is totally ignorant becaue if there's anything they might even remotely mes up, THEY WILL. I did try Microsoft's DPinst. Version 1.1 just came out today. It makes little difference but means that I have to download 360KB extra to my devices @1200 baud. Sorry Bill Gates. My approach is sooooo much lighter. Here's my take on the whole darned situation: Windows is a user-centric operating system. Windows embedded operating systems are really juts pared down versions of the parents (Win CE and Win XP). They were designed to fill a niche that Microsoft missed. They did not consider THIS problem because for all intents and purposes, their embedded systems are still user-centric. They need human operators to make them work with PNP devices. Darn! If only the company listened to me when I said we should go Linux embedded or QNX!