Welcome to MSDN Blogs Sign in | Join | Help

Bad Advice No Matter Where it Came From

Just a short post- in the “don’t do this at home” category.

I was recently asked to assist someone with another KMDF installation issue, and in this case, the Internet proved itself to be everything it shouldn’t be- a treasure trove of unchallenged bad advice.

I don’t care where you read it- deleting wdf01000.sys and wdfldr.sys from %windir%\system32\drivers of a machine is:

  1. So rarely necessary as a problem-solving step you shouldn’t even be thinking about doing it.
  2. Very likely to make things worse than they were before you started.  If you are using any OS beginning with Windows Vista, it can turn your machine into an unusable paperweight, and you may find it very difficult to recover.  Plus there are enough drivers in general use now even the earlier OS are not immune.

What I was looking at was a machine where someone attempted to “cure” a KMDF 1.5 installation issue this way [I was fortunate enough to have the entire setupapi.dev.log, so I could actually tell within a couple of hours when this was done].  On Windows Vista, no less- now doing that requires overriding system file protection, so it isn’t like we haven’t tried to save you from yourself.  This particular user was very lucky- no boot devices using the framework [and this is the first Vista machine where I’ve ever seen this].

But once you’ve done this, you’ve given yourself one huge problem- none of the already installed drivers work, and no amount of reinstalling them is going to save you. 

Why?

Because our coinstallers won’t even attempt to update an OS where KMDF is a part of the OS unless they were released AFTER the OS was.  They don’t need to- it is already there, built-in.

Nobody’s driver is going to work after those files are deleted, until an update is applied.  If your Vista machine has had the SP1 upgrade installed [and by now, the vast majority of them have], then it is using KMDF 1.7- if you delete our binaries then NOBODY can fix it for you, because that is the current released version [1.9 is still in Beta].  There is no driver on the market you can install that will fix this, because we haven’t given anyone a package that is capable of that.

The only cure is to find the right binaries and put them back where they belong.  Then consider not taking advice from some internet blowhard [if you feel like considering me as one- hey, so be it- but I actually helped engineer the product, and that claim is verifiable- what’s your source’s claim of expertise based upon?].

My apologies for the tone here, but I track access to this blog, and I know “deleting wdf01000.sys” is a search term that pops me up.  So maybe some advice here may save you a world of grief.  There are better ways to solve your problem, whatever it is- even the problems where this was actually suggested as a “working” solution at one time.

Now Playing: Bob Kjelgaard- “Let’s Escape” (not available anywhere)- just me and my acoustic with a song a couple of my college buddies wrote [and I renamed, revised, and arranged]…

Published Saturday, February 07, 2009 8:34 AM by BobKjelgaard
Filed under: ,

Comments

# re: Bad Advice No Matter Where it Came From

I sometimes wonder how much Internet blowhardiness comes from closed communities of sycophants and contrarians.  Requiring registration to be heard can raise the bar to entry just high enough that voices of reason may simply walk on past and "let baby have his bottle" rather than calling them on their BS.

I suspect the asymmetry of the situation is the source of the problem.  Walled gardens should be opaque, thus sparing us the antics going on behind them and keep indexes of the Web clean.  Of course this would impact their marketing for new blowhards.

Oh well!

Sunday, February 08, 2009 2:13 PM by Bob

# re: Bad Advice No Matter Where it Came From

This is one of those articles written when I was having a bad day, and I am bound to be disappointed by myself when I look back at it.

If the planet wasn't populated by humans but instead by beings of utmost perfetion, then none of this would ever happen [and I wouldn't be here to worry about any of it anyway, which would also be a plus, at least for those who did populate it...].

Part of the reason I said "no matter where it came from" is that I have myself given that advice out.  But put it in context- I was advising to a device driver developer about a situation on a machine they were testing their work on.

Such a person is technically sohisticated to begin with, and therefore likely to be capable of handling negative outcomes if that advice goes awry.

In addition, if the outcome requires starting the machine with a brand new OS installation as the sole means of recovery, that's a normal day's occurence for them.  They're not going to lose irreplacable photographs, financial records, or favorite emails, or any of the other negative things that can happen if you tank a consumer's machine.

I wasn't the only person offering that advice, but like most difficult technical decisions [and the lossy communication modes a typical game of "gossip" exposes] the warnings disappear over time and a dangerous cure advisable under limited circumstances morphs into a panacaea.

After the usual cooling down period I realized I could greatly improve the efficacy of this article by adding pointers to some of the steps that ARE likely to fix the situations most people are trying to cure [and are also unlikely to make things worse if they don't work]- I've got them in other articles, but obviously people aren't finding them or are igoring them.

So if I've got time today [something to do while I test some code I did on one of my weekend projects] I'll try to do that.

But the underlying problem is hard to solve- one initiative I've seen here recently is the deployment of automated fixing tools, tied to knowledge base articles- concceptually a "fix-it button".  Some hope may lie in that direction.  One more task for future consideration...

Sunday, February 08, 2009 10:55 PM by BobKjelgaard
New Comments to this post are disabled
 
Page view tracker