I'm very glad to meet you every Monday. Today, I'd like to share a background story about a KB article that describes an interesting behavior in Windows Vista that is different with previous OS. Maybe it is not the most important or highest impacted issue that occurs in Windows Vista, but I think it will impact some of you when you are troubleshooting for your friends/family... OK, let's go through this issue.
This issue is about re-installing network adapter in Windows Vista. The KB article for this issue will be KB945399 and published in a few days. The issue can be reproduced in many computer models and you will encounter it when you uninstall a network adapter device using Device Manager. You may have to troubleshoot whether the network adapter driver installed is right to troubleshoot the OS network issue. Therefore, after uninstalling the adapter, you may try to install another driver for the device ... Everything works fine in Windows XP/Server 2003 and so on. However, when you try to do the same action in Windows Vista, the popular OS nowadays, you will see soon after the uninstall process completes, PnP detects the network adapter as a new device and automatically installs the device and drivers. Instead, in Windows XP, only after you click to scan hardware changes, will the PnP detect the network adapter and install the driver.
When I study and reproduce this behavior, I'm also surprised by what I have seen. Yes, it does. Windows Vista will automatically re-install the network adapter driver as if Vista prevents you from uninstalling the driver. Then, when I went through the work flow of install/uninstall the network adapter driver, I noticed that In Vista RTM, Vista re-enumerates the "removal relations" of the uninstalled device. During re-enumeration if the resource-assignment changes, the system re-enumerates the entire tree and the uninstalled device is treated as a new-device-arrival and gets installed again...
I don't know whether this difference will be good to the normal user, but I think it will confuse technical guys a little, especially when they do not know this behavior. So what shall we do? Disable the device and uninstall the device, or remove related INF files? Everything seems to show that this behavior changes the results and confuses us. Now the good news, a fix will be released through KB945399 in a few days and it will be merged into Vista SP1. 🙂
By the way, there is another document for "Uninstalling Drivers and Devices on Windows Vista", please take it as your reference.
I will be very glad to hear your voice:-)
*This posting is provided "AS IS" with no warranties, and confers no rights.*