Contributions needed (DDKBUILD.CMD)

Hi,

I am currently updating the DDKBUILD script and I would like to ask the list for an information. What are the default directories to which the DDKs for NT4, W2K and WXP have been installed.
I have the directories for WNET.

Thanks in advance,

Oliver

PS: This will be an attempt to make the script more robust by attempting to locate the required DDK automatically even if the XYZBASE variable is not set correctly!


May the source be with you, stranger :wink:

ICQ: #281645
URL: http://assarbad.net

Uh, I do hate to throw a bucket of cold water on enthusiasm; does this
mean we will end up with 3 sources for DDKBUILD? Hollistech, OSR, and
? I donā€™t know the copyright status of the utility, but I know both
have brag banners, so are you doing this with the blessing of either,
both, or is this your own initiative? To my knowledge either
Hollistech.com or OsrOnline.com are the ONLY two places to legally acquire
DDKBUILD.

But, like I said, I really am not aware of its (c) status.

Gary G. Little

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Oliver Schneider
Sent: Wednesday, June 07, 2006 1:53 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] Contributions needed (DDKBUILD.CMD)

Hi,

I am currently updating the DDKBUILD script and I would like to ask the
list for an information. What are the default directories to which the
DDKs for NT4, W2K and WXP have been installed.
I have the directories for WNET.

Thanks in advance,

Oliver

PS: This will be an attempt to make the script more robust by attempting
to locate the required DDK automatically even if the XYZBASE variable is
not set correctly!
ā€“
---------------------------------------------------
May the source be with you, stranger :wink:

ICQ: #281645
URL: http://assarbad.net

ā€”
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

Hey Gary,

no problem. Letā€™s call it ā€œwith OSRā€™s blessingā€ ā€¦

If you look on the OSR download page for DDKBUILD you will even notice my name under ā€œV7.0 Betaā€ :wink:

Back to topic, please. Where are the contributions? :smiley:

Cheers,

Oliver


May the source be with you, stranger :wink:

ICQ: #281645
URL: http://assarbad.net

I have puzzled over the ā€˜canā€™t we just use a default variable if the
XYZBASE variable is not set correctlyā€™ issue many times and it conflicts
with the ā€˜ddkbuild should work for N releases of the DDKā€™ requirement.
You have to know which ddk you are dealing with as they have differences
in the way they function.

What good is a default directory going to do you anyhow? Suppose the
default directory is C:\Winddk and the user calls ddkbuild having not
specified an XPBASE environment variable and having installed the XP ddk
in E:\Winddk. How are you going to help him? Suppose he has some ddk
installed in C:\Winddk, just not the one he actually wants to use, which
is over in E:\Winddk, and you helpfully use the wrong ddk for him. How
helpful is that? Wouldnā€™t it be more helpful to display a message
indicating that the XPBASE environment variable isnā€™t set so you canā€™t
do the build?

And just for the record, ddkbuild is absolutely free of any form of
copyright restrictions and always has been since I wrote the damn thing
while working at Sequoia Systems many years ago (circa 1994.) If any
version of it has a copyright on it that is too bad, but as it is
freeware there is nothing I can do about it.

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Oliver Schneider
Sent: Wednesday, June 07, 2006 2:53 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] Contributions needed (DDKBUILD.CMD)

Hi,

I am currently updating the DDKBUILD script and I would like to ask the
list for an information. What are the default directories to which the
DDKs for NT4, W2K and WXP have been installed.
I have the directories for WNET.

Thanks in advance,

Oliver

PS: This will be an attempt to make the script more robust by attempting
to locate the required DDK automatically even if the XYZBASE variable is
not set correctly!


May the source be with you, stranger :wink:

ICQ: #281645
URL: http://assarbad.net


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

Oliver Schneider wrote:

I am currently updating the DDKBUILD script and I would like to ask the list for an information. What are the default directories to which the DDKs for NT4, W2K and WXP have been installed.
I have the directories for WNET.

Thanks in advance,

Oliver

PS: This will be an attempt to make the script more robust by attempting to locate the required DDK automatically even if the XYZBASE variable is not set correctly!

This isnā€™t worth the effort. I always override the location (to
\DDK\3790 instead of \WinDDK\3790), and I doubt I am the only one.

NT3.51, NT4, and Win2K all had a default of \NTDDK. For NT4 and before,
you didnā€™t even need to use the installer. It was just a glob of cab
files, and there was a batch file to unpack them wherever you pointed.

For XP and beyond, the registry has the actual locations:
HKEY_LOCAL_MACHINE\Software\Microsoft\WINDDK\3790\LFNDirectory
HKEY_LOCAL_MACHINE\Software\Microsoft\WINDDK\3790.1218\LFNDirectory
HKEY_LOCAL_MACHINE\Software\Microsoft\WINDDK\3790.1830\LFNDirectory
HKEY_LOCAL_MACHINE\Software\Microsoft\WINDDK\5112\Setup\BUILD
HKEY_LOCAL_MACHINE\Software\Microsoft\WINDDK\5308\Setup\BUILD
HKEY_LOCAL_MACHINE\Software\Microsoft\WINDDK\5384\Setup\BUILD
Win2K put some stuff here, but I donā€™t know if it included the path:
HKEY_LOCAL_MACHINE\Software\Microsoft\NTDDK\Directories

ā€“
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

> >This isnā€™t worth the effort. I always override the location (to

\DDK\3790 instead of \WinDDK\3790), and I doubt I am the only one.
You might be right, but it saves hassle for those not changing it (probably the same having the everlasting problems of not setting the environment variables, anyway?! :wink:

For XP and beyond, the registry has the actual locations:
HKEY_LOCAL_MACHINE\Software\Microsoft\WINDDK\3790\LFNDirectory
HKEY_LOCAL_MACHINE\Software\Microsoft\WINDDK\3790.1218\LFNDirectory
HKEY_LOCAL_MACHINE\Software\Microsoft\WINDDK\3790.1830\LFNDirectory
HKEY_LOCAL_MACHINE\Software\Microsoft\WINDDK\5112\Setup\BUILD
HKEY_LOCAL_MACHINE\Software\Microsoft\WINDDK\5308\Setup\BUILD
HKEY_LOCAL_MACHINE\Software\Microsoft\WINDDK\5384\Setup\BUILD
Win2K put some stuff here, but I donā€™t know if it included the path:
HKEY_LOCAL_MACHINE\Software\Microsoft\NTDDK\Directories
Thanks, will try to take these into account. Could you please also name the actual value names, not just the keys.

Cheers,

Oliver


May the source be with you, stranger :wink:

ICQ: #281645
URL: http://assarbad.net

> What good is a default directory going to do you anyhow? Suppose the

default directory is C:\Winddk and the user calls ddkbuild having not
specified an XPBASE environment variable and having installed the XP ddk
in E:\Winddk. How are you going to help him?
No, I am not just setting this directory, I am testing for its existance first - and this only happens if the global env.-variable was not defined! So there will not be any conflict with the users will if he expressed his will!

Suppose he has some ddk
installed in C:\Winddk, just not the one he actually wants to use, which
is over in E:\Winddk, and you helpfully use the wrong ddk for him. How
helpful is that? Wouldnā€™t it be more helpful to display a message
indicating that the XPBASE environment variable isnā€™t set so you canā€™t
do the build?
This will be done as well. General names like NTDDK make no sense indeed, so the detection feature will simply not be available for Windows 2000 and NT4. However, on XP (.\2600) and WNET (and later) obviously have quite unique names for the pathes. If it is not being found (using reverse search from the newest to the oldest DDK of one OS release) the user will be told that he has to set it manually.

And just for the record, ddkbuild is absolutely free of any form of
copyright restrictions and always has been since I wrote the damn thing
while working at Sequoia Systems many years ago (circa 1994.) If any
version of it has a copyright on it that is too bad, but as it is
freeware there is nothing I can do about it.
Well, I did not claim any copyright and will not do in future. The script bears the copyright notice of OSR and an OSR disclaimer and I will put my name under authors in the next release. Possibly your name should be there as well if you claim you wrote it back then?! You should possibly ping one of the guys at OSR (or Iā€™ll ask them when sending it).

BTW:
Is there any other default for WXP than X:\WINDDK\2600? Something like the 3790.1830 for WNET, for example?

Cheers,

Oliver


May the source be with you, stranger :wink:

ICQ: #281645
URL: http://assarbad.net

Oliver Schneider wrote:

>For XP and beyond, the registry has the actual locations:
> HKEY_LOCAL_MACHINE\Software\Microsoft\WINDDK\3790\LFNDirectory
> HKEY_LOCAL_MACHINE\Software\Microsoft\WINDDK\3790.1218\LFNDirectory
> HKEY_LOCAL_MACHINE\Software\Microsoft\WINDDK\3790.1830\LFNDirectory
> HKEY_LOCAL_MACHINE\Software\Microsoft\WINDDK\5112\Setup\BUILD
> HKEY_LOCAL_MACHINE\Software\Microsoft\WINDDK\5308\Setup\BUILD
> HKEY_LOCAL_MACHINE\Software\Microsoft\WINDDK\5384\Setup\BUILD
>Win2K put some stuff here, but I donā€™t know if it included the path:
> HKEY_LOCAL_MACHINE\Software\Microsoft\NTDDK\Directories
>
>
Thanks, will try to take these into account. Could you please also name the actual value names, not just the keys.

In the ā€œWINDDKā€ ones, the last entry IS the value name. So, the key is
3790.1830, the value is LFNDirectory.

For the Win2K path, I just donā€™t know. I reverse engineered that key
out of the files in my Win2K DDK setup, but Iā€™ve done a clean install
since then, so my registry isnā€™t set up.

ā€“
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

Tim,

thanks alot.

Now comes the challenging part for me to extract that information from the registry from within a .CMD script and only using REGEDIT :wink:

Cheers,

Oliver


May the source be with you, stranger :wink:

ICQ: #281645
URL: http://assarbad.net

Try using reg.exe. It is much better for cmd scripts.

ā€“ arlie

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Oliver Schneider
Sent: Wednesday, June 07, 2006 3:03 PM
To: Windows System Software Devs Interest List
Subject: Re: Re: [ntdev] Contributions needed (DDKBUILD.CMD)

Tim,

thanks alot.

Now comes the challenging part for me to extract that information from
the registry from within a .CMD script and only using REGEDIT :wink:

Cheers,

Oliver


May the source be with you, stranger :wink:

ICQ: #281645
URL: http://assarbad.net


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

I always install it in C:\WINDDK\3790.1830.

Scott

Oliver Schneider wrote: Hi,

I am currently updating the DDKBUILD script and I would like to ask the list for an information. What are the default directories to which the DDKs for NT4, W2K and WXP have been installed.
I have the directories for WNET.

Thanks in advance,

Oliver

PS: This will be an attempt to make the script more robust by attempting to locate the required DDK automatically even if the XYZBASE variable is not set correctly!
ā€“
---------------------------------------------------
May the source be with you, stranger :wink:

ICQ: #281645
URL: http://assarbad.net

ā€”
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

__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com

> Now comes the challenging part for me to extract that information from the

registry from within a .CMD script and only using REGEDIT :wink:
Condolesences:-)
Have you thought about a VBS (or WSF) script?
Registry ops in VBS are a breeze, and itā€™s still a script.

----- Original Message -----
From: ā€œOliver Schneiderā€
To: ā€œWindows System Software Devs Interest Listā€
Sent: Wednesday, June 07, 2006 6:02 PM
Subject: Re: Re: [ntdev] Contributions needed (DDKBUILD.CMD)

> Tim,
>
> thanks alot.
>
> Now comes the challenging part for me to extract that information from the
> registry from within a .CMD script and only using REGEDIT :wink:
>
> Cheers,
>
> Oliver
> ā€“
> ---------------------------------------------------
> May the source be with you, stranger :wink:
>
> ICQ: #281645
> URL: http://assarbad.net
>
> ā€”
> 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

> Von: Arlie Davis
>
> Try using reg.exe. It is much better for cmd scripts.
I know, but it is not available on every machine (thatā€™s why I explicitly mentioned regedit in my last post). And mine seems to be one of those without it ā€¦
Was it in the RK?

> Von: sh_alex
>
> >Now comes the challenging part for me to extract that information from
> the
> > registry from within a .CMD script and only using REGEDIT :wink:
> Condolesences:-)
> Have you thought about a VBS (or WSF) script?
> Registry ops in VBS are a breeze, and itā€™s still a script.
This seems to be an option. Can I simply call wscript.exe? How about Windows NT 4.0?

Oliver
ā€“
---------------------------------------------------
May the source be with you, stranger :wink:

ICQ: #281645
URL: http://assarbad.net

Iā€™ll go at this one more time. Consider the source control system that
plonks a ddk image onto a developer system without bothering with such
things as actually installing it. (For almost all build cases this works
just fine.)

Anyhow - good luck.

=====================
Mark Roddy DDK MVP
Windows 2003/XP/2000 Consulting
Hollis Technology Solutions 603-321-1032
www.hollistech.com

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Oliver
Schneider
Sent: Wednesday, June 07, 2006 4:37 PM
To: Windows System Software Devs Interest List
Subject: Re: Re: [ntdev] Contributions needed (DDKBUILD.CMD)

> >This isnā€™t worth the effort. I always override the location (to
> \DDK\3790 instead of \WinDDK\3790), and I doubt I am the only one.
You might be right, but it saves hassle for those not
changing it (probably the same having the everlasting
problems of not setting the environment variables, anyway?! :wink:

> For XP and beyond, the registry has the actual locations:
> HKEY_LOCAL_MACHINE\Software\Microsoft\WINDDK\3790\LFNDirectory
>
HKEY_LOCAL_MACHINE\Software\Microsoft\WINDDK\3790.1218\LFNDirectory
>
HKEY_LOCAL_MACHINE\Software\Microsoft\WINDDK\3790.1830\LFNDirectory
> HKEY_LOCAL_MACHINE\Software\Microsoft\WINDDK\5112\Setup\BUILD
> HKEY_LOCAL_MACHINE\Software\Microsoft\WINDDK\5308\Setup\BUILD
> HKEY_LOCAL_MACHINE\Software\Microsoft\WINDDK\5384\Setup\BUILD
> Win2K put some stuff here, but I donā€™t know if it included the path:
> HKEY_LOCAL_MACHINE\Software\Microsoft\NTDDK\Directories
Thanks, will try to take these into account. Could you please
also name the actual value names, not just the keys.

Cheers,

Oliver


May the source be with you, stranger :wink:

ICQ: #281645
URL: http://assarbad.net


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

> Iā€™ll go at this one more time. Consider the source control system that

plonks a ddk image onto a developer system without bothering with such
things as actually installing it. (For almost all build cases this works
just fine.)
You lost me there. Could you please try to explain thes (if you are willing even off list). I am not a native speaker and really could not understand what you meant.

Thanks,

Oliver


May the source be with you, stranger :wink:

ICQ: #281645
URL: http://assarbad.net

In general, the DDKs work without needing to be ā€œinstalledā€. They are
just a tree of header files, lib files, executables, scripts, etc.
While the DDKs do provide an installer, and this installer is helpful,
it is not necessary. The DDK tools do not need to reference
ā€œinstallationā€ or configuration data in the registry, or anywhere else
ā€“ they just need to be there. So you can just XCOPY a DDK onto a
machine and use it, as long as you know the path to it.

A lot of projects that use the DDK to build simply check in a full or
partial copy of the DDK into the same source control system that
contains the project source code. The main benefit of this is that the
drivers are always built with the same DDK ā€“ there is no confusion over
DDK 2600 or DDK 3790 or whatever is installed on the machine. There are
other benefits as well ā€“ when you enlist a new machine into the tree,
you get the DDK and any other tools you need, all in one batch ā€“ no
need for a separate install. And if your project upgrades from, say,
DDK 2600 to DDK 3790, this happens atomically (you *are* using a
transactional SCM, right?), and if done right, your project is always in
a consistent, working state.

ā€“ arlie


From: xxxxx@lists.osr.com on behalf of Oliver Schneider
Sent: Thu 6/8/2006 2:24 AM
To: Windows System Software Devs Interest List
Subject: Re: RE: Re: [ntdev] Contributions needed (DDKBUILD.CMD)

Iā€™ll go at this one more time. Consider the source control system that
plonks a ddk image onto a developer system without bothering with such
things as actually installing it. (For almost all build cases this
works
just fine.)
You lost me there. Could you please try to explain thes (if you are
willing even off list). I am not a native speaker and really could not
understand what you meant.

Thanks,

Oliver


May the source be with you, stranger :wink:

ICQ: #281645
URL: http://assarbad.net http:</http:>


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

Thanks Arlie,

Mark explained the scenario to me off-list.
The environment variables are not touched if they are *defined* if no one defined them I will attempt auto-detection (which may fail or not) and issue a warning saying that the respective basedir for the DDK is not set.

If the auto-detection failed the build will not take place - obviously, and the user is asked to set the respective basedir manually. Otherwise the first match is taken. Detection only works on WNET and WXP.

Oliver


May the source be with you, stranger :wink:

ICQ: #281645
URL: http://assarbad.net

Glad you mentioned it. Our build engine works this way. It support packages necessary to build given project. In project description the package and the version is specified and build engine automatically extracts necessary packages from SCM. This way it is possible to use several WDKs side to side and even build one project using different WDKs.

All would work great if the assumption you mentioned is correct. Unfortunately, Vista beta WDKs contains at least one tool which breaks it. It is the weird signability.exe tool which needs to be installed (probably some component registered) otherwise it just fails with a runtime error. In addition, it has GUI and is apparently written in Visual Basic. I already reported it as Vista beta feedback but donā€™t have any response, yet.

Are you able to do something with it? Some people at MS apparently need the explanation how tools should be designed to be suitable for automated builds. Unfortunately, signing needs to be part of automated build at least fo x64 Vista.

Best regards,

Michal Vodicka
UPEK, Inc.
[xxxxx@upek.com, http://www.upek.com]


From: xxxxx@lists.osr.com[SMTP:xxxxx@lists.osr.com] on behalf of Arlie Davis[SMTP:xxxxx@microsoft.com]
Reply To: Windows System Software Devs Interest List
Sent: Thursday, June 08, 2006 3:59 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] Contributions needed (DDKBUILD.CMD)

In general, the DDKs work without needing to be ā€œinstalledā€. They are
just a tree of header files, lib files, executables, scripts, etc.
While the DDKs do provide an installer, and this installer is helpful,
it is not necessary. The DDK tools do not need to reference
ā€œinstallationā€ or configuration data in the registry, or anywhere else
ā€“ they just need to be there. So you can just XCOPY a DDK onto a
machine and use it, as long as you know the path to it.

A lot of projects that use the DDK to build simply check in a full or
partial copy of the DDK into the same source control system that
contains the project source code. The main benefit of this is that the
drivers are always built with the same DDK ā€“ there is no confusion over
DDK 2600 or DDK 3790 or whatever is installed on the machine. There are
other benefits as well ā€“ when you enlist a new machine into the tree,
you get the DDK and any other tools you need, all in one batch ā€“ no
need for a separate install. And if your project upgrades from, say,
DDK 2600 to DDK 3790, this happens atomically (you *are* using a
transactional SCM, right?), and if done right, your project is always in
a consistent, working state.

ā€“ arlie


From: xxxxx@lists.osr.com on behalf of Oliver Schneider
Sent: Thu 6/8/2006 2:24 AM
To: Windows System Software Devs Interest List
Subject: Re: RE: Re: [ntdev] Contributions needed (DDKBUILD.CMD)

> Iā€™ll go at this one more time. Consider the source control system that
> plonks a ddk image onto a developer system without bothering with such
> things as actually installing it. (For almost all build cases this
works
> just fine.)
You lost me there. Could you please try to explain thes (if you are
willing even off list). I am not a native speaker and really could not
understand what you meant.

Thanks,

Oliver


May the source be with you, stranger :wink:

ICQ: #281645
URL: http://assarbad.net http:</http:>


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


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

FAR be it from me to try to defend the signing tools, cuz I havenā€™t been able to get them to successfully work either (obviously, this is only because I am far too stupid)ā€¦ but I think signtool is the one thatā€™s designed for use during build, not signability.

The MS Devs DO indeed know how to build such tools. Remember, THEY sign stuff routinely and the internal Microsoft build environment uses build, makefile.new, makefile.def, etc. just like the DDK. So, this CAN be done.

I think,

Peter
OSR

You need the signability tool to create catalog file which will be signed by signtool later. You can see it in the selfsign_example.cmd; you can also see how they have to kill the silly GUI later. How pathetic :-/

I know the makecat.exe can be used, instead. Iā€™m not sure if it has all signability features, mainly target OS selection.

The makefile.new calls SIGNCODE_CMD if defined. Unfortunately, it isnā€™t defined by WDK.

Best regards,

Michal Vodicka
UPEK, Inc.
[xxxxx@upek.com, http://www.upek.com]


From: xxxxx@lists.osr.com[SMTP:xxxxx@lists.osr.com] on behalf of xxxxx@osr.com[SMTP:xxxxx@osr.com]
Reply To: Windows System Software Devs Interest List
Sent: Thursday, June 08, 2006 9:39 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Contributions needed (DDKBUILD.CMD)

FAR be it from me to try to defend the signing tools, cuz I havenā€™t been able to get them to successfully work either (obviously, this is only because I am far too stupid)ā€¦ but I think signtool is the one thatā€™s designed for use during build, not signability.

The MS Devs DO indeed know how to build such tools. Remember, THEY sign stuff routinely and the internal Microsoft build environment uses build, makefile.new, makefile.def, etc. just like the DDK. So, this CAN be done.

I think,

Peter
OSR


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