[Libreoffice] using ATL with MSVC 2008 Express

Dennis E. Hamilton dennis.hamilton at acm.org
Wed Nov 16 17:43:50 PST 2011


The WindowsDDK installation is a bit peculiar.

 1. If the debugger is installed, the DDK can be found by truncating the Path 
item under the following key:

Computer\HKEY_CURRENT_USER\Software\Microsoft\Intellipoint\AppSpecific\windbg.exe

(on Windows 7 the default is C:\WinDDK\version-string\
and the latest version-string is 760.16385.1)

Funnier yet. If any of the files have been opened in Visual Studio, they will 
show up in the registry for the Recently-used file names.

Perhaps more reliable is

C\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\Folders

There are items ending in \inc\atl71\ and the full path can be found from 
those (default for the latest,

   C:\WinDDK\7600.16385.1\inc\atl71\

These might be useful too:

   C:\WinDDK\7600.16385.1\lib\ATL\
   and subdirectories amd64\, i386\, ia64\

I accidentally closed regedit while climbing through all of those GUIDs for 
odd little bits, so I will continue looking elsewhere on the machine.

It looks like an appropriate setup is to create a modified setenv.bat that the 
Visual C++ Express Edition uses for its setup and then cherry pick that or run 
it so that the environment settings are available in the include path and lib 
path for the VC++ builds.  Here's why:

There are some batch files already, but it is hard to find the cheese.

The All Programs Start menu folder has a sub-folder named "Windows Driver 
Kits" and there can be multiples installed.  There are further subfolders, one 
for each WinDDK.  These are not assured to be configured identically.  The one 
for "WDK 7600.16385.1" has a sub-folder named Build Environments.  There's one 
for each of the 4 platforms that the build can be done on (XP, Vista & Server 
2008, Server 2003, and Windows 7) and each of those has shortcuts for 2-6 
console session startups for the kind of platform to be built for, checked or 
unchecked.  XP only has i386, the others also have the two flavors of 64 bit.

These set useful environment variables such as ATL_INC_PATH, ATL_INC_ROOT, 
ATL_LIB_PATH and set the Path variable with goodies. These all come from 
running a C:\WinDDK\7600.16385.1\bin\setenv.bat with various parameter 
settings, in the usual way of Microsoft SDK setups for command-line building.


 - Dennis


-----Original Message-----
From: libreoffice-bounces+dennis.hamilton=acm.org at lists.freedesktop.org 
[mailto:libreoffice-bounces+dennis.hamilton=acm.org at lists.freedesktop.org] On 
Behalf Of Regina Henschel
Sent: Wednesday, November 16, 2011 05:04
To: Thorsten Behrens
Cc: Tor Lillqvist; LO-dev
Subject: Re: [Libreoffice] using ATL with MSVC 2008 Express

Hi Thorsten,

Thorsten Behrens schrieb:
> Regina Henschel wrote:
>> It is not, that I would not be able to learn it, but I like to stay
>> in Calc or Draw. And there is already more stuff to learn and to do
>> than my time permits.
>>
> Hi Regina,
>
> sure, no prob - but maybe you could help extracting the information
> where the DDK installer stores its paths, so others can hack up the
> magic:

Yes. I have started that already yesterday evening. So here my results,
for my WinXP-System. I haven't got a Window7, so cannot examine there.

>
> I suspect somewhere below these registry keys:
>   - HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft SDKs

No, that contains only
.NETFramework\v2.0 with REG_SZ with value C:\Programme\Microsoft Visual
Studio 8\SDK\2.0\
and
Windows\v6.0A and Windows\v6.1 with path to C:\Programme\Microsoft
SDKs\Windows\v6.0 and \v6.1 respectively.

>   - HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MicrosoftSDK/Directories
>   - HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MicrosoftSDK/InstalledSDKs

Those contain only information
C:\Programme\Microsoft Platform SDK for Windows Server 2003 R2

I had tried that too. The "Microsoft Platform SDK for Windows Server
2003 R2" contains a lot of the "atl"-things but at least one file is
missing; I don't remember which one.

>
> could you hunt that down?

A search with WinDDK in the registry gives some results.

It seems that the driver kit is identified by a pair of IDs

{B4285279-1846-49B4-B8FD-B9EAF0FF17DA}:{68656B6B-555E-5459-5E5D-6363635E5F61}

1.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\KitSetup\configured-kits\{B4285279-1846-49B4-B8FD-B9EAF0FF17DA}\{68656B6B-555E-5459-5E5D-6363635E5F61}

key
     setup-install-location
value
     C:\WinDDK\7600.16385.1\

2.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WDKDocumentation\7600.091201\Setup
key
     BUILD
value
     C:\WinDDK\7600.16385.1\

But it might be, that the documentation is not installed.

3.
For nearly each file of the kit (>500!) an entry
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components\<a
magic number>\ with
key
	B4285279-1846-49B4-B8FD-B9EAF0FF17DA
value
	<path to the file>

I think, that only the first is a usable registry item.


Another approach to find the kit might be to use the entry in (German WinXP)
C:\Programme\Gemeinsame Dateien\Microsoft KitSetup\Kit
Definitions\{B4285279-1846-49B4-B8FD-B9EAF0FF17DA}\{68656B6B-555E-5459-5E5D-6363635E5F61}
and therein the file
SKOM_1-kit-identification.xml
which has the nodes
<KitInstallBasePath>%SYSTEMDRIVE%\WinDDK\</KitInstallBasePath>
and
<KitInstallSubdirectory>7600.16385.1</KitInstallSubdirectory>


But all will not help, if the files are copied to another place and the
kit is uninstalled, as Mathias suggested on other place. I have not
tested, whether that would work.

Auto-detecting is fine, but a parameter --with-winddk-home with user set
value, for me "C:\WinDDK\7600.16385.1", from which the other four paths
are generated, would already help.

Kind regards
Regina









>
> Thanks,
>
> -- Thorsten

_______________________________________________
LibreOffice mailing list
LibreOffice at lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5396 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20111116/a428ac76/attachment-0001.bin>


More information about the LibreOffice mailing list