Redemption and Outlook 2007 addressbook with IE7 and Vista

  • Thread starter Thread starter GR
  • Start date Start date
G

GR

Hi,

I have code which I have been using for a long time on previous and
current versions of Outlook on XP. This code has always worked.

The problem I am seeing now is on the following combination:

- Vista
- IE7 (protected mode: On)
- Outlook 2007

I have vbscript sitting on a web page behind a button that calls
another vbscript function. That function uses MAPIUtils and makes a
call to AddressBook to open the Outlook Address Book for my user's to
select a name.

This works fine on XP with IE7 and even on Vista, BUT ONLY if I change
the browser window with the button to turn Protected Mode OFF. This
obviously isn't a solution for our user's because of security
concerns. The Outlook AddressBook just does not open up.

Has anyone else run into this? Is there a workaround? Any help is
appreciated.

Thank you in advance.



Here is a snippet of the code that I am calling to open up the Address
Book:


public function AddOutlookNames()

const OL_INTERFACEOBJ = "SafeOutlook.SafeMAPIUtils"
const strOLTitle = "Select Names from Outlook"
const blnOLOneAddress = false
const blnOLForceResolution = false

dim nAddrBookWells, well1Title, well2Title, well3Title, well4Title
dim objRedeem, blnDoSubmit


'Create Redemption object
'<<<======== this works fine
on error resume next
set objRedeem = CreateObject(OL_INTERFACEOBJ)
if err.number <> 0 then
err.clear
msgbox "Cannot create Redemption object"
exit function
end if


' Configure and launch modal outlook select names dialog, which
returns a collection
' of recipients selected by the user.

dim objRecipients
objRecipients = null

nAddrBookWells = 2
well1Title = "Email"
well2Title = "SMS"


' ADDRESS BOOK DOES NOT APPEAR IN THIS CALL BELOW
set objRecipients = objRedeem.AddressBook (, strOLTitle,
blnOLOneAddress, blnOLForceResolution, nAddrBookWells, well1Title,
well2Title)


if objRecipients is nothing then
msgbox "NOTHING returned from OL NAB" '<<<======== This is
where I abort
objRedeem.Cleanup
set objRedeem = nothing
exit function
end if

AddOutlookNames = ""

'<< more code here, but I never make it this far >>>>

exit function
 
The problem is that MAPI cannot run in the IE7 protected mode in Vista - its
has problem creating some memory mapped files used internally.
I am trying to at least make them admit that this really *is* a problem.

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
 
Back
Top