Issue 91079

Summary: "Microsoft Windows Address Book" database does not work on Vista and Windows 7
Product: Base Reporter: mark_irving <irving>
Component: codeAssignee: AOO issues mailing list <issues>
Severity: Trivial    
Priority: P3 CC: dbucher, g, issues, knmc, mechtilde, mseidel
Version: OOo 2.4.1   
Target Milestone: ---   
Hardware: PC   
OS: Windows Vista   
Issue Type: DEFECT Latest Confirmation in: ---
Developer Difficulty: ---
Issue Depends on:    
Issue Blocks: 123575    

Description mark_irving 2008-06-25 22:18:04 UTC
I tried to create an OOo database connected to my Windows Vista built-in address
book. Specifically, I used the Database Wizard, connect to an existing database,
chose "Microsoft Windows Address Book" and went on to create a file tmp.odb open
in Base. But when I now choose View > Database Objects > Tables, I get no
tables, just a message box

[ Base]
The connection to the data source "tmp" could not be established.
No Outlook Express Addressbook Exists.

I have tried this on Vista Home Premium 64-bit, where I have also checked that
there are some "contacts" (as Vista calls them) defined. And on another computer
using Vista Business 32-bit. Both fail in the same way.

The same procedure works nicely on Windows XP. I think OOo should be able to
connect to the Vista contacts database.
Comment 1 Mechtilde 2008-07-14 21:02:35 UTC
will test it
Comment 2 Mechtilde 2008-08-05 09:15:08 UTC
I can't work on confirming because I have no Adressbook configured.
Comment 3 nikelaj 2009-04-03 20:57:18 UTC

I am using Windows Vista HP + 3.1 and facing the same problem. 

When I try to set window's vista's built-in contacts as "address data source", 
data source wizard doesn't accept. The wizard simply informs "No any Outlook 
Express AddressBook exist". 

Windows Vista has a built-in e-mail client called "windows Mail" and its 
address book component "Windows Contacts". But OOo Address wizard obviously 
looks for old Outlook Express and "Windows Address Book" wich were available 
within Windows Xp.

I think it is very neat and major feature to reach address book data OOo system-
wide. Please don't neglect it.
Comment 4 Mechtilde 2009-08-11 16:12:26 UTC
@ clu

are there some plans to change the expected addressbook for Vista?
Comment 5 spendrake 2009-11-07 21:51:33 UTC
I'm using Oo 3.1.1 and this is still an issue.  I too am trying to create 
labels from the Windows Contacts in Vista and can't. 
Comment 6 marc.neumann 2010-03-12 08:38:38 UTC
Also on WIndows 7 no access to the address book is possible
Comment 7 sphbecker 2010-04-14 05:07:27 UTC
From what I can tell this isn't exactly a bug, more of a limitation coupled 
with a poorly worded description.  According to the documentation the “Windows 
system address book” option is used to access the Outlook Express address 
book.  The Vista version of Outlook Express does not include an address book 
(uses the Windows Contacts folder) and Windows 7 does not include Outlook 
Express at all.

On versions of Windows through Windows XP the only PIM included was Outlook 
Express so this was logical.  Now that Vista and higher systems truly have an 
independent system address book (the %userprofile%\Contacts folder) this is no 
longer logical and results in users thinking it is a bug.

I suggest the following:
1.Rename “Windows system address book” feature to “Outlook Express address book”
2.Add error handling to detect the condition of Outlook Express' address book 
not being present on the system and prompt the user with a meaningful error 
3.Add a few address book data source feature to utilize the Contacts folder on 
Vista and higher systems.
NOTE: Microsoft now makes Windows Live Mail available as a free download mail 
client.  It is the only free MS client available to Windows 7 users. Oddly it 
has its own address book and does not use the Contacts folder. Depending on how 
popular this client becomes it may be worth making available as a data source 
as well.
Comment 8 duke147 2010-08-21 21:03:54 UTC
This is a major issue for me. I need to use the Vista(Windows Mail) Address 
book to write business letters, and especially to print envelopes. For me, 
building a new address book is one of the most tedious chores in this business. 
I cannot believe that more people have not voted to get this fixed. It must be 
because most people never get this far in their search. I did not find this 
until I did a site search with Bing. This is a major drawback to OpenOffice, 
and the explanation should at least be readily available to newbies searching 
the site, with an opportunity to vote featured prominently, with a clear 
explanation of how to register and vote, namely, that being registered in the 
forum does not register the user for this page. I might have to go back to Word 
over this issue. (I am still thinking about it.)
Comment 9 mark_irving 2011-01-18 10:54:53 UTC
OOo issue 91079 - "Microsoft Windows Address  Book" database does not work on Vista

I have tried this with later releases of OOo, up to and including 3.3 RC9. It's
still not working (although this clearly is not a showstopper for 3.3). It would
be lovely to see a fix in 3.3.1 or 3.4, though.

1. Cause

Incorrect processing of a pathname read from the Windows registry in Mozilla's
address-book library, as described in Mozilla bug 573349 - windows 7 Contacts
can't be displayed because wap32.dll loading fails.

2. Workround

Modify the Windows registry (regedit, as administrator). Navigate to the first
of these keys you find - the first on a 64-bit Windows system and the second on
a 32-bit system.


Save a copy of the contents of this key using File > Export, in case of mistakes
and so that you can restore your system when this OOo problem is fixed. It will
contain a value similar to this:

(default) = REG_EXPAND_SZ %CommonProgramFiles(x86)%\Common Files\System\wab32.dll

Edit it to expand the variable part %CommonProgramFiles(x86)% as if this value
were a REG_SZ. The exact translation varies, and you may have to re-do this edit
if your Windows system is reconfigured. Look up the value of
CommonProgramFiles(x86) using a command prompt window and the SET command. On my
64-bit system the value should become

(default) = REG_EXPAND_SZ C:\Program Files (x86)\Common Files\System\wab32.dll

Now OpenOffice Base can connect to the Windows address book -- a bit slowly, but
that's Windows.

3. Supplementary problems

The bug was harder to find than it should be, because the error message for this
failure does not include any information except that opening the address book
has failed. Something which mentioned the path to WAB32.DLL which it tried to
load, and the file-system error code which it encountered, would have been a
great improvement.

To test this particular problem all that is necessary is to open an OOo database
connected to the Windows Address Book and perform any operation which depends on
a table existing. The contents are not relevant, and there is no need to define
any particular address information.

4. Details and notes for fixing this fault

Microsoft documentation on MSDN - About Windows Address Book

Gives a cryptic description of "Loading the WAB32.dll" 

Mozilla bug 573349 - windows 7 Contacts can't be displayed because wap32.dll
loading fails

Accurately describes the problem and identifies the correct place for a code fix.

I think the code change suggested is over-complicated, because it repeats code
packaged by Microsoft, and fragile, because it translates only one environment
variable at the start of the registry value. A better fix would use
ExpandEnvironmentStrings() in place of the block starting if( wabDLLPath[0] ==
'%' ) or to fetch the value from the registry using SHRegGetValue() which
includes this functionality automatically for all REG_EXPAND_SZ data. (The
Microsoft documentation which labels SHRegGetValue as deprecated applies only if
you are not trying to support Windows XP, since its replacement, RegGetValue, is
available only from Vista onwards.)
Comment 10 Denis BUCHER 2012-04-29 08:09:41 UTC
The bug seems to be still present under Windows 7 and OpenOffice 3.3.0 !
And the workaround (changeing registry) doesn't work !
Comment 11 Graham Horner 2014-08-09 11:45:40 UTC
I was able to connect to Contacts in Win7-64 with Mark's registry hack on OOo 4.0, but support for Windows address books seems to be missing from 4.1.0.  It does not appear in the drop-down list of connections in the database wizard, although the list of sdbc drivers under Options does not seem to have changed.  Existing odb files give errors:

SQL Status: HY000

The connection to the external data source could not be established. No SDBC driver was found for the given URL.

A connection for the following URL was requested "sdbc:address:outlookexp".

Has ooBase given up on Windows address books?

Comment 12 Ariel Constenla-Haile 2014-08-09 15:01:43 UTC
(In reply to Graham Horner from comment #11)
> Has ooBase given up on Windows address books?

This is due to the removal of Mozilla related stuff in 4.1.0

Only "workaround" known is to export from the AB to CSV, and create a data source in OpenOffice from this CSV file
Comment 13 Graham Horner 2014-08-09 16:56:06 UTC
I've found a better workaround - download LibreOffice.  They did the right thing and left left the old code in while re-writing the essential bits.
Comment 14 Keith N. McKenna 2017-03-17 20:57:11 UTC
Support for Windows Address Book as a data source for Base was removed in AOO Version 4.1 with the change from SeaMonkey to NSS for cryptography services; therefore I am closing this as obsolete.