Checked and free versions of the KMDF Coinstaller

I’ve just run into a problem that I suspect will become depressingly familiar on this list as
more people try out KMDF for the first time (and don’t read previous posts).

Thinking I was being clever, I added the following to my makefile.inc

copy /Y $(WDF_ROOT)redist\wdf$(_BUILDARCH)$(DDKBUILDENV)*.dll .$(O)

The thinking being, I’d always get the correct version of the coinstaller no matter what
build environment I was using. It turns out that the thinking was wrong. And, if I’d
read http://www.osronline.com/showThread.cfm?link=91798 carefully enough I’d have
figured it out.

You only need the checked coinstaller if your target is the checked O/S. If (like me) you
have installed just the checked HAL etc. and are debugging a checked version of your own
driver using a mostly free build of the O/S, you need the free coinstaller, not the checked one.

To be fair, the “Debugging Driver Installation” page in the framework documentation was very helpful:
it pointed me to exactly the right place (setupact.log), which gave a diagnostic which was spot on.
I was using the checked version of the coinstaller on a free build of the O/S.

My only carp is that the text implies to me that the debugging messages and the log file are the same
It says
The framework’s coinstaller creates debugging messages. You can see these messages
in a debugger if you are running a checked build of Windows. Additionally, the coinstaller
writes its debugging messages to the Setupact.log log file.

Not True. The debug log just said “fatal error 1603”; it was only in the setupact.log file that
the probable cause was listed.

My suggestion would be to add a comment saying that sometimes the log file has extra information.
I also think that a sentence anticipating the problem I ran into would be useful (something along
the lines of “only use the checked version of the coinstaller on full checked build of the O/S:
Use the free version, even if you are using a checked HAL.”)

Another suggestion would be to add (in the section discussing Coinstaller .inf files) that chkInf generates
“not referenced” warnings for the coinstaller sections and that these warnings are harmless.

Don

The chkinf issues should be fixed in the WDK. I’ll fwd on these
comments to the doc writer.

d

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Don Ward
Sent: Tuesday, May 16, 2006 4:55 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Checked and free versions of the KMDF Coinstaller

I’ve just run into a problem that I suspect will become depressingly
familiar on this list as
more people try out KMDF for the first time (and don’t read previous
posts).

Thinking I was being clever, I added the following to my makefile.inc

copy /Y $(WDF_ROOT)redist\wdf$(_BUILDARCH)$(DDKBUILDENV)*.dll
.$(O)

The thinking being, I’d always get the correct version of the
coinstaller no matter what
build environment I was using. It turns out that the thinking was wrong.
And, if I’d
read http://www.osronline.com/showThread.cfm?link=91798 carefully enough
I’d have
figured it out.

You only need the checked coinstaller if your target is the checked O/S.
If (like me) you
have installed just the checked HAL etc. and are debugging a checked
version of your own
driver using a mostly free build of the O/S, you need the free
coinstaller, not the checked one.

To be fair, the “Debugging Driver Installation” page in the framework
documentation was very helpful:
it pointed me to exactly the right place (setupact.log), which gave a
diagnostic which was spot on.
I was using the checked version of the coinstaller on a free build of
the O/S.

My only carp is that the text implies to me that the debugging messages
and the log file are the same
It says
The framework’s coinstaller creates debugging messages. You can see
these messages
in a debugger if you are running a checked build of Windows.
Additionally, the coinstaller
writes its debugging messages to the Setupact.log log file.

Not True. The debug log just said “fatal error 1603”; it was only in the
setupact.log file that
the probable cause was listed.

My suggestion would be to add a comment saying that sometimes the log
file has extra information.
I also think that a sentence anticipating the problem I ran into would
be useful (something along
the lines of “only use the checked version of the coinstaller on full
checked build of the O/S:
Use the free version, even if you are using a checked HAL.”)

Another suggestion would be to add (in the section discussing
Coinstaller .inf files) that chkInf generates
“not referenced” warnings for the coinstaller sections and that these
warnings are harmless.

Don


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer