When debugging a failed device install, one of the first things you should do is look at the %windir%\setup*.log files (yes files, there are a few of them and the names changed in Vista). But what if the logs do not have enough information for you to figure out what went wrong? Well, SetupAPI lets you control the level of logging. This MSDN article explains what registry value to edit and what the different flags do.
If you don't like reading the docs or changing registry values, OSR line has a GUI tool which you can download which makes setting these values painless.
As with any control being cranked up to its highest setting, you will get a lot of information, so be prepared to parse through some noise to get to the data you really want.