When developing a driver, how do you "clean" your target machine?

I can remove devnodes using Device Manager, but I haven’t found a way to clean out pre-installed INF files.

For example, in SetupAPI.log, I see filenames with incrementing suffixes like the following:

Driver package already imported as 'oem9.inf'.
...
Driver package already imported as 'oem10.inf'.

You can use pnputil to delete the package with the /delete-driver flag. Please read https://docs.microsoft.com/en-us/windows-hardware/drivers/devtest/pnputil-command-syntax

1 Like

how do you “clean” your target machine?

The short and truthful answer is “You can’t” – there’s almost always detritus left from your device’s previous installation.

So, the best thing for you to do is take a snapshot of your VM, or create a restore point of your physical machine, and “roll back” to test afresh.

Peter

1 Like

@“Peter_Viscarola_(OSR)” said:

how do you “clean” your target machine?

The short and truthful answer is “You can’t” – there’s almost always detritus left from your device’s previous installation.

So, the best thing for you to do is take a snapshot of your VM, or create a restore point of your physical machine, and “roll back” to test afresh.

Peter, thanks so much for this. I had a VM set up and snap-shotted for testing, but I ended up discovering and making lots of additional configuration changes during my first week of attempts at testing. I knew I was going to have to revert back to a clean snapshot and re-do all the additional config stuff, but I was putting it off. I had no idea that the leftover flotsam was the source of the timeout issue.

I spent the first part of yesterday reverting, configuring, and creating a new snapshot. When I went to test the install last night, it installed properly for the first time (after three plus weeks of thrashing).

Gratitude sir, this has been hellish.

–Scott

@Doron_Holan said:
You can use pnputil to delete the package with the /delete-driver flag. Please read https://docs.microsoft.com/en-us/windows-hardware/drivers/devtest/pnputil-command-syntax

Thanks Doron, I don’t think I was aware of that tool. I’ll have a look.

–Scott

@scott_smith said:
I can remove devnodes using Device Manager, but I haven’t found a way to clean out pre-installed INF files.

For example, in SetupAPI.log, I see filenames with incrementing suffixes like the following:

Driver package already imported as 'oem9.inf'.
...
Driver package already imported as 'oem10.inf'.

I use devenv, source code is in the DDK, and recomplie it with the ‘present’ flag removed, so you can clean out devices that arent plugged in. Works for me.