If you would like to report a bug, please send
us an e-mail.
Your existing OutlookSpy license key will work in all
versions of OutlookSpy.
History and Recent Fixes:
November 10, 2023 OutlookSpy 5.1 version 5.1.0.5107
- More symbolic property tags.
- Bug fix: OutlookSpy sometimes failed to install itself
under the latest versions of Outlook - it would never be visible in Outlook
even though the installer apparently ran successfully.
- Bug fix: when an instance of a recurring appointment
was selected in a calendar view, clicking EWS | GetItem
button produced an error.
- Bug fix: when parsing Exchange store entry ids,
WrappedType was always shown as 0 instead of a list of
OPENSTORE_xyz constants.
- Bug fix: IMessage window would sometimes only
show property tags, but not the property values under online Exchange mode.
- Bug fix: Some message boxes with error descriptions
displayed by OutlookSpy only showed the first character of the error message
instead of a full message.
January 10, 2022 OutlookSpy 5.0 version 5.0.0.5049
- New feature: OutlookSpy now supports Graph for the
Office 365 hosted mailboxes with MFA enabled (since OutlookSpy reuses the
OAuth key used by Outlook itself).
More than 100 Graph endpoints are exposed, limited only by the rights granted
to the OAuth token issued to Outlook.
As usual, all objects are delivered in context (selected
message/folder/mailbox/user), and there are no credential prompts. Any query
can be manually edited and the results immediately displayed. JWT token
parser is also included.
- More symbolic constants for the MAPI property tags.
- Bug fix: entering a valid old-style OutlookSpy license sometimes displayed "The
license key is invalid or corrupted" error. The key would still work
after clicking OK.
July 24, 2021 OutlookSpy 4.3 version 4.3.0.4037
- Bug fix: entering a valid OutlookSpy license sometimes displayed "The
license key is invalid or corrupted" error.
May 31, 2021 OutlookSpy 4.2 version 4.2.0.4017
- Binary viewer now also shows the data as a GUID (besides the previously
implemented FILETIME, DWORD, etc.)
- More symbolic values for various properties
(PR_ADDITIONAL_REN_ENTRYIDS_EX, PR_PROFILE_CONFIG_FLAGS,
PR_PROFILE_xyz,
etc.)
- Bug fix: under 64 bit Outlook, IMsgStore::Advise and
IMAPITable::Advise tabs could crash Outlook.
- Bug fix: time zone blob parser always showed major and minor versions as "2".
- Bug fix: short Exchange store entry ids were not parsed properly and
displayed an error
- Bug fix: PT_MV property editor did not properly display indices for
items >= 10
- Bug fix: double clicking on a property in the IMAPISession
window showed a small unesizeable property viewer window.
- Bug fix: some FTS (Fast Transfer Stream) data could not be loaded or
displayed in the EWS GetItem | Export Data and EWS
GetFolder | UploadItems.
October 19, 2019 OutlookSpy 4.1 version 4.1.0.3915
- Saving a MAPI object in the TXT or CSV
file formats (right click in the GetProps tab of the IMessage,
IMAPIFolder, etc. window, click "Save to file"
button), limited PT_BINARY properties to 4096 bytes.
- Support for the PT_SVREID property type.
- EWS: Retrieving FTS (Fast Transfer Stream) using GetItem |
ExportItems or uploading an FTS stream using GetFolder |
UploadItems would error out (Unexpected Property Type) if the
stream contained properties of type PT_SVREID. (such as the
PidTagSentMailSvrEID property).
- The installer now includes both 32 and 64 bit versions - no more
separate installers.
November 16, 2018 OutlookSpy 4.0 version 4.0.0.3805
- On some systems, multiple prompts for credentials could
be displayed when retrieving autodiscover XML.
- EWS functions could display an error (no credentials
found) if Outlook was running under a local account of the domain user who
owns the Exchange mailbox.
November 12, 2018 OutlookSpy 4.0 version 4.0.0.3797
- OutlookSpy now supports Exchange Web Services.
All EWS operations
are supported through the "EWS Request Pad", and most popular EWS
operations are exposed explicitly:
GetItem, GetFolder, GetAttachment,
ConvertId, ExportItems, FindItem, FindFolder, UploadItems, GetMailTips, ResolveName,
etc.
As usual, all objects are delivered in context, and there are no credentials prompts.
- Updated the symbolic parser for the Exchange versions of the message, folder and store entry ids:
- Added VerbStream property parser.
February 8, 2018 OutlookSpy 3.15 version 3.15.0.3673
- Added IConverterSession::SetCharset support (not that it seems to do
much).
December 8, 2017 OutlookSpy 3.14 version 3.14.0.3609
- On multi-monitor systems, if Outlook was shown on a secondary monitor,
OutlookSpy windows would sometimes be shown off-screen with no way to see or
move them.
- Normally, an OutlookSpy license can be reused on a new computer -
OutlookSpy would warn that the license is being used on too many computers,
but it can still be re-entered: OutlookSpy would unregister the oldest
computer that uses the license and register the current computer. This did
not work with the old (2+ years) licenses - the license could be entered
without a prompt, but OutlookSpy would still display the error message
later.
November 5, 2017 OutlookSpy 3.14 version 3.14.0.3597
- Open and Save dialogs throughout OutlookSpy (IMessage | Save As MSG
file, IComverterSession | MIMEToMAPI, etc.) were not parented
correctly sometimes resulting in being obscured by other windows or
applications when switching away from Outlook.
- Text files created by clicking "Save to File" button on the
GetProps tab of the various Extended MAPI objects did not handle
Unicode characters correctly. Also added an option to save either as comma-separated or as
tab-separated text files.
- Recipients table properties (IMessage | GetRecipientTable tab)
can now be edited (edit / delete /add).
May 13, 2017 OutlookSpy 3.12 version
3.12.0.3507
- Added High DPI monitor support. You no longer have to squint at your
brand new 4K monitor.
- OutlookSpy parses and displays the structure of the
PR_CONVERSATION_INDEX, PR_CHANGE_KEY, and PR_PREDECESSOR_CHANGE_LIST
properties.
- IMsgStore and IAddrBook windows now have an extra button/dropdown for quick
navigation through the child folders/containers
February 20, 2017 OutlookSpy 3.11 version
3.11.0.3467
- Added Save and Copy as Text /
Copy
as Hex toolbar items to the IStream editor and "Edit Binary Property"
dialog. The hex editor now also allows to copy from and to the Visual Studio
binary editor (it utilizes BinaryData clipboard format in addition
to the regular text format).
-
Added IMAPITable.SortTable popup menu item to all IMAPITable tabs
-
OutlookSpy now parses PR_ROAMING_BINARYSTREAM property on the hidden messages
storing the auto-complete stream.
-
OutlookSpy now parses PR_USERFIELDS property on the hidden messages
storing the custom folder fields definitions.
-
Bug fix: when opening an object from the "OpenEntry" tab, no
matter which flags were selected, OutlookSpy always used
MAPI_BEST_ACCESS.
August 13, 2016 OutlookSpy 3.10 version
3.10.0.3373
- IDispatch browser could not handle the PropertyAccessor
Outlook object (no Properties / Methods / Events were shown) returned from
the MailItem.UserProperties property.
- Add Property and Edit Property dialogs could not handle PT_CURRENCY and
PT_CLSID MAPI property types.
May 14, 2016 OutlookSpy 3.9 version
3.9.0.3357
- More symbolic property tag names added (Outlook 2016 and
RPC-over-HTTP and MAPI-over-HTTP properties).
- Bug fix: OutlookSpy hint windows sometimes left a shadow on the screen
until Outlook was restarted.
- Revamped IDispatch browser window - better property
type handling, unique caption to better differentiate multiple objects of
the same type, browsable property link from the Value edit box.
December 31, 2015 OutlookSpy 3.8 version
3.8.0.3257
- Bug fix: when adding a new PT_SYSTIME property ("Add Property" button
on a GetProps tab), if a PT_SYSTIME property was specified (e.g.
PR_MESSAGE_DELIVERY_TIME), OutlookSpy did not immediately switch to the
date/time editor, resulting in the new value being replaced with the current
date/time value.
- Bug fix: IOlkAccount window did not display Unicode
characters correctly.
- Bug fix: IMAPISession::OpenProfileSection popup menu failed with
MAPI_E_NO_ACCESS for the private profile sections.
- "Property Tag lookup" window now displays the DASL property name in addition to
the property description.
- Added SortTable to all IMAPITable tabs (IMAPIFolder |
GetContentsTable / GetHierarchyTable, IMessage | GetRecipientTable / GetAttachmentTable, etc.)
- Added HrGetAutodiscoverXml function support
June 3, 2015 OutlookSpy 3.7 version
3.7.0.3165
- OutlookSpy installer displayed "The operating system is not
presently configured to run this application." message box when
installing or uninstalling under Outlook 2016. The message box was displayed by the MAPI
system when loading olmapi32.dll.
- IMAPISession::OpenEntry popup menu item in the IOlkAccount
window did nothing.
- OutlookSpy can now edit multivalued (e.g. PT_MV_UNICODE) properties.
- Added IOlkAccountManager::SetOrder support:
November 30, 2014 OutlookSpy 3.6 version
3.6.0.3107
- Bug fix: IMAPIFolder | GetSearchCriteria tab did not show
Unicode search criteria values.
- Bug fix: Clicking Help button on the IDispatch windows produced a message box
with a single letter "C".
- Added IMAPISession::OpenProfileSection popup menu for all GetProps tabs
(available for the PT_BINARY properties)
- Optimized handling of the IDispatch objects. Much faster now and no
crashes for the COM objects that depend on a particular order of the
property retrieval / release (such as the Explorer object in the Outlook
Object Model).
December 1, 2013 OutlookSpy 3.5 version
3.5.0.2607
- Bug fix: OutlookSpy under Outlook 2013 sometimes did not display any values in
the IMessage window when browsing the IMessage object from an instance of a
recurring appointment.
- Bug fix: OpenIMsgOnIStg did not work with MSG files with Unicode names.
- Bug fix: could not drag MAPI properties between different
windows under Windows 8 64 bit / Outlook 2013 64 bit.
- Bug fix: combo boxes displayed by OutlookSpy under 64 bit
Outlook sometimes had black rectangles next to the text.
- Added a symbolic parser for the PR_REPLY_RECIPIENT_ENTRIES property.
- Profile section selection dialog (e.g. invoked from IMAPISession | OpenProfileSection) now displays PR_DISPLAY_NAME
property from each section, making
it easier to locate the right profile section:
-
January 10, 2013 OutlookSpy version 3.4 build
3.4.0.2499
- The 64 bit version of OutlookSpy sometimes crashed under Windows 8 64
bit when IMAPISession button was clicked.
- Updated installer to avoid the prompt to remove the
previous version prior to installing.
- OutlookSpy did not correctly display RES_COUNT restrictions.
October 20, 2012 OutlookSpy version 3.3 build
3.3.0.2487
- Windows 8 / Outlook 2013 - OutlookSpy 64 bit (Outlook 2010/2013) no longer crashes when running
under Windows 8.
- OutlookSpy can now retrieve properties not exposed by the IMAPIProp::GetPropList()
method.
Normally, OutlookSpy only displays properties returned by IMAPIProp::GetPropList(), but some providers (PST and Exchange included), do
not expose all of the available properties.
OutlookSpy can probe (by brute force) all properties one property at a time by calling IMAPIProp::GetProps() for each
property in the range 0x00000000 to 0xFFFF0000.
Right click on the GetProps tab of any IMAPIProp-derived object (IMessage, IMAPIFolder, IMsgStore, etc.) and select "Probe
unlisted properties..." menu item.
- IMsgServiceAdmin window now has DeleteMsgService button.
- OutlookSpy did not correctly display symbolic values of the
PR_LOCALE_ID, PR_MESSAGE_LOCALE_ID, PR_SORT_LOCALE_ID, PR_EFORMS_LOCALE_ID
properties.
- OutlookSpy did not display the symbolic values of the PT_ACTIONS and
PT_SRESTRICTION type properties (version 3.2 specific problem).
- Added support for the
BeforePrint and ReadComplete events (not exposed through the Outlook
type library).
- Outlook 64 bit: OutlookSpy produced an access violation when parsing
Windows SID properties (such as PR_NT_SECURITY_DESCRIPTOR,
PR_EMS_AB_ASSOC_NT_ACCOUNT, etc.).
04/24/2012 OutlookSpy version 3.2 build
3.2.0.2477
- OutlookSpy did not subscribe to and did not display the
fnevSearchComplete MAPI notifications.
02/19/2012 OutlookSpy version 3.1 build
3.1.0.2475
- Hex editor sometimes produced access violation in the 64 bit version.
- The script editor in the previous version would not allow to assign
values to the predefined constants, such as PR_SUBJECT.
The latest version
allows to do that and override the default value (e.g.
"http://schemas.microsoft.com/mapi/proptag/0x0037001F" for PR_SUBJECT) with
a custom value (e.g. &H00371E).
- Added symbolic parser for the
PR_CONTROL_STRUCTURE blobs.
- Editing a PT_STRING8 property (double click on a property on the GetProps
tab) or adding a new PT_STRING8 property only copied the very first
character of the specified string. PT_UNICODE properties were fine. This
problem is version 3.0 specific.
- On multi-monitor systems, if Outlook was displayed on a secondary
monitor, some OutlookSpy windows would be displayed on the primary monitor.
- "Watch" tab of the IMAPIProp-derived objects (IMessage, IMAPIFolder,
etc.) always showed PT_STRING8 properties instead of dynamically requesting
PT_UNICODE or PT_STRING8 properties based on whether the store supports
them.
- "Watch" tab of the IMAPIProp-derived objects (IMessage, IMAPIFolder,
etc.) did not show symbolic names of the named properties .
- IDispatch browser now displays symbolic constants for the properties
that use enums:
- For the COM objects that supports "foreach" enumerators (such as the Attachments,
Recipients, Items, Folders, ItemProperties, etc. collections), OutlookSpy
now displays an extra tab - IEnumVariant.
10/15/2011 OutlookSpy version 3.0 build
3.0.0.2461
- Bug fix: GetNamesFromIds window only showed the first
letter/digit of the property tag/GUID/id. As an extra bonus, besides
the fix, this window now also shows the OOM names of the named properties
known to OutlookSpy.
- You can use symbolic property names (such as PR_SUBJECT) in the script
window. E.g. PR_SUBJECT will evaluate to
"http://schemas.microsoft.com/mapi/proptag/0x0037001F".
10/01/2011 OutlookSpy version 3.0 build
3.0.0.2457
- Added support for Outlook 2010 64 bit.
- More symbolic property tags and MAPI structure parsers.
- Numerous stability improvements.
- Updated Extended MAPI headers
for Delphi and FPC.
11/21/2009 OutlookSpy version 2.15 build 2.15.0.453
- Added support for Outlook 2010 (32 bit only).
- More symbolic property tags
- OutlookSpy now requests PT_UNICODE properties rather than P_STRING8 by
default if the object supports Unicode
- Named MAPI properties with Unicode names (MNID_STRING) were being
displayed as ANSI strings.
- Numerous performance and stability fixes.
06/21/2008 OutlookSpy version 2.14 build 2.14.0.437
08/02/2007 OutlookSpy version 2.12 build 2.12.0.427
- OutlookSpy now installs itself as a pure COM add-in rather than an
Exchange Client Extension (ECE) under Outlook 2007.
- OutlookSpy can now be installed using regsvr32.exe under Windows Vista
even if the current user is not an admin and/or UAC is on.
- More Outlook 2007 and Windows Vista specific tweaks.
03/04/2007 OutlookSpy version 2.11 build 2.11.0.432
- More Outlook 2007 and Windows Vista specific tweaks.
01/02/2007 OutlookSpy version 2.11 build 2.11.0.422
- Added full support for the final version of Outlook 2007
- New hex viewer and editor for the binary (PT_BINARY) MAPI properties.
- New script editor ("Script Editor" window and "Script" tab for the
IDispatch-derived objects).
- Several new symbolic MAPI property tags added.
06/21/2006 OutlookSpy version 2.11 build 2.11.0.408
- Added support for Outlook 2007 Beta 2. OutlookSpy has its own ribbon on
the inspectors. It also supports new Outlook 2007 features documented to
this date (http://blogs.msdn.com/stephen%5Fgriffin/).
- Added support for the recently documented IMessageRaw interface (http://blogs.msdn.com/stephen_griffin/archive/2005/10/31/487416.aspx).
Since clicking IMessage button opens the message as IMessage and causes the
message to be downloaded, you can use this interface from the IMAPIFolder |
GetContentsTable tab: select the message in that tab, locate the PR_ENTRYID
property, right click, select IMAPISession::OpenEntry, select IMessageRaw
from the combobox.
09/18/2005 OutlookSpy version 2.10 build 2.10.0.352
- All GetProps tabs (IMessage, IMAPIFolder, etc)
display DASL property tag names along with the MAPI names (e.g. "urn:schemas:httpmail:subject"
for the PR_SUBJECT property)
- Added support for the symbolic values of the named properties
corresponding to the properties in the Outlook Object Model. E.g.
olResponseNone/olResponseOrganized/etc are displayed for the named property
({00062002-0000-0000-C000-000000000046}, 0x8218, PT_LONG), which corresponds
to the AppointmentItem.ResponseStatus property in the Outlook Object Model.
- Updated IMAPIOfflineMgr and IConverterSession with the
latest updates to these interfaces (http://msdn.microsoft.com/library/?url=/library/en-us/olintapi/html/WelcomeOlintapi_HV01155855.asp?frame=true)
- Added Misc | OpenIMsgOnIStg button that allows to directly open
IMessage object from an MSG file.
- Added Unicode MSG file support (IMessage | Save As MSG File)
01/20/2005 OutlookSpy version 2.9 build 2.9.0.321
- Added support for the recently documented IOlkAccountManager,
IMAPIOfflineMgr, IConverterSession and related interfaces (use the Misc
dropdown on the OutlookSpy toolbar). See
Outlook 2003 Integration API Reference for a complete reference.
- Added a utility window ("Misc | OutlookSpy Utilities" button on the
OutlookSpy toolbar) that allows to display symbolic property tag name given
its numeric value or its GUID/id (for a named property) as well as a symbolic
value of any Windows or MAPI error code.
09/19/2004 OutlookSpy version 2.8 build 2.8.0.314
- Small bug fixes.
- Extra context popup menu in the GetProps tab:
IMAPIProp::GetProps. Allows to request extra properties that might not be
returned by IMAPIProp::GetPropList (that's what OutlookSpy uses to retrieve
the list of properties).
- IMAPISession::OpenProfileSection and IMsgServiceAdmin::OpenProfileSection
display a dialog with a list of ProfSect GUIDs for the profile. Note that this
list is not available from MAPI, OutlookSpy simply reads it from the registry.
- IMAPISession::OpenEntry context menu in the GetProps tab and
OpenEntry tab display a dialog box with a choice of flags to use when
calling OpenEntry, including the new Outlook 2003 flags MDB_ONLINE and
MAPI_NO_CACHE flags (see
Q834496 on MSDN)
- Bug fix: MSG files created by OutlookSpy (IMessage | Save As MSG File)
sometimes mapped named properties incorrectly resulting in MSG files
unreadable by Outlook.
- More known tags and their symbolic values (such as Exchange 2000
fsdrightXXX access rights in the security descriptors, etc)
- GetAttachmentTable tab now allows to delete an attachment (Delete button)
11/23/2003 OutlookSpy version 2.8 build 2.8.0.304
- bug fix: just an eye candy - several OutlookSpy controls were misaligned
for screen resolutions other than the default 96 DPI.
- bug fix: OutlookSpy was not showing named prop lIDs when "RMB|Show Numeric
Tags" in IMessage window was checked.
11/17/2003 OutlookSpy version 2.8 build 2.8.0.301
- OutlookSpy displays the Outlook Object Model property names next to the
named properties' ids in the IMessage window. Most of these names can be
easily deduced from OOM - dispids of the IDispatch properties that match one to one to
the Extended MAPI named properties are the same as the named property ids (MAPINAMEID.lID).
Obviously not all properties are listed (almost 200 currently), if you find a
property that is not yet listed, please do email
it to me.
- By popular demand: you can now manage the names of both regular and named
properties - simply right-click on a property and select Property Name |
Name This Property.... Again, if you find a property tag that OutlookSpy
does not handle and you know how the property is called, I would appreciate if
you'd let me know.
- OutlookSpy is now completely Windows XP/2003 theme-enabled when running under
Outlook 2003.
- IMAPIFolder|GetHierarchyTable - SHOW_SOFT_DELETES tab (Exchange
only) has an extra button - Restore to allow restoring of deleted folders. The
ability to restore deleted messages was added to the previous (2.7) version of
OutlookSpy.
- Bug fix: IDispatch Unicode properties are correctly displayed.
- Bug fix: sometimes GetProps tab on IMessage, IMAPIFolder, etc windows came
up empty.
- Bug fix: under certain conditions if Outlook is installed on a network
drive, OutlookSpy install complained that it cannot find Outlook.
- Bug fix: manually entering an entry id (pasting) in a dialog box displayed
after clicking "Enter Entry Id" on an OpenEntry tab (IMsgStore,
IMAPIFolder, etc) truncated the entered value at 254 characters (127 bytes).
- Bug fix: OpenEntry tabs previously only accepted binary properties dragged
from GetProps tabs; it now allows to drag binary properties from any other tab
(GetContentsTable, GetMsgStoreTable, etc).
- Bug fix: when used with Outlook 2000 or below, opening a message (new
inspector in Outlook) would corrupt the Clipboard text - OutlookSpy did not
restore Unicode text in the Clipboard properly when copying/pasting bitmaps
for its buttons.
- Bug fix: access violations when browsing Extended MAPI objects under
Outlook 2002 used with MUI and language other than US-English.
06/23/2003 - OutlookSpy version 2.7 build 2.7.0.274 is
available.
- Bug fix: Tools|Options|OutlookSpy tab was not visible in the post beta 2
builds of Outlook 2003
- IMAPIFolder | GetContentsTable - SHOW_SOFT_DELETES tab has an
additional button: Restore. I could never comprehend why
"Deleted Items Recovery" by default only works in the "Deleted
Items" folder - now you can use OutlookSpy as its replacement.
- OutlookSpy can show numeric properties' tags along with their symbolic
values (right click on the properties list on any GetProps tab)
03/11/2003 - OutlookSpy version 2.7 build 2.7.0.272 is
available.
- Bug fix: Outlook 2003 beta 2 hangs when any message in a Calendar folder
is selected. This is an Outlook 2003 bug and it is fixed in post beta 2
builds of Outlook 2003 (> 5003).
- IMAPIStatus window now has 3 extra buttons: FlushQueues, SettingsDialog
and ValidateState.
01/30/2003 - OutlookSpy version 2.7 build 2.7.0.268 is
available.
- Bug fix: crash on startup (floating point division by zero) under certain
conditions (version 2.6 and 2.7)
01/26/2003 - OutlookSpy version 2.7 build 2.7.0.265 is
available.
- Several internal improvements and compatibility fixes.
- You can drag and drop MSG file to the GetContentsTable and Associated
Contents tabs of IMAPIFolder.
- Named (>0x8000) properties are now shown with their ids in the
properties list on the GetProps tab.
- You can now open any PT_BINARY or PT_MV_BINARY property (IMAPISession::OpenEntry)
directly from a popup menu on any GetProps tab.
01/11/2003 - OutlookSpy version 2.6 build 2.6.0.252 is
available.
- Bug fix: Access violation when displaying type libraries with function's
return type erroneously specifying a default value (e.g. HTMLDocument::open)
- Bug fix: errors when displaying IDispatch'able objects with type libraries
listing property-put definitions before property-get definitions.
- More symbolic values for the Extended MAPI properties.
12/31/2002 - OutlookSpy version 2.6 build 2.6.0.239 is
available.
- All IMAPITable frames (IMessage::GetRecipientTable,
IMAPIFolder::GetContentsTable, etc) have an additional button - SetColumns().
This allows to either set only the columns you are interested in or add
columns not available by default (such as PR_EMS_AB_MDB_STORAGE_QUOTA on the
mailbox table of IExchangeManageStore object)
- Finally: you can use named constants defined in the Outlook and CDO
type libraries instead of their numeric values in the OutlookSpy scripts
(e.g. olFolderContacts, olEditorHTML, etc, etc, etc)
- OutlookSpy can use MAPI_UNICODE flag in calls to
IMAPIProp::GetPropList(). You can either set this option in Tools|Options|OutlookSpy|More
Options or hold the Shift key while opening an object. E.g. if you hold
the Shift key while clicking IMessage button, OutlookSpy will try to use
MAPI_UNICODE when retrieving a list of available properties. If MAPI_E_BAD_CHARWIDTH
is returned, OutlookSpy will revert to the ANSI version.
- OutlookSpy no longer returns ineligible "Access Violaton" script
errors in case of script runtime and/or compile errors.
- For IDispatch'able objects, OutlookSpy will show functions' invoke kind (INVOKE_FUNC,
INVOKE_PROPERTYPUT, etc)
- Bug fix: OutlookSpy could not display write-only properties on
IDispatch'able interfaces.
- If OutlookSpy becomes disabled by Outlook 2002 (e.g. when you terminate
Outlook when OutlookSpy is doing something), OutlookSpy install will
re-enable it. If you want to re-enable OutlookSpy without running the
install, make sure OutlookSpy is not listed in Help|About|Disabled Items
in Outlook. Seems like by far the most common OutlookSpy question.
- OutlookSpy can now work around a problem in the Exchange provider in
Outlook XP which cannot returns all named properties through a single call
to IMAPIProp::GetNamesFromIDs(NULL, ...). When clicking GetNamesFromIDs
button, OutlookSpy will prompt whether you want to use a single call to
IMAPIProp::GetNamesFromIDs(NULL, ...) or to loop through all suspected named
properties (this can take much longer).
- You can write event handlers in OutlookSpy Script tabs of the
IDispatch'able objects. E.g. if you open Application window (Application will be
one of the global variables in the Script tab:
sub Application_Reminder(Item)
Debug.Print Item.Subject
end sub
09/30/2002 - OutlookSpy version 2.5 build 2.5.0.226 is
available. Small bug fixes mostly
- bug - OutlookSpy was not showing fnevObjectMoved notifications
- bug - OutlookSpy would produce an access violation when accessing search
criteria on PT_MV_STRING8 properties under Exchange Server
- bug - OutlookSpy toolbar on Word inspectors in Outlook 2002 had no icons
- Several symbolic property tags have been added
07/02/2002 - OutlookSpy version 2.5 build 2.5.0.207 is
available. New features:
- Almost 1,200 new symbolic property tags had been added, most of
them Exchange Server specific. Thanks to ptag.exe
(see your Exchange Server CD) utility - has anybody heard before about this
little gem? Special thanks to Alex Mazel for discovering ptag.exe and
extracting the prop tags from it.
- IMAPISession window: new tab (EnumAddrTypes)
- IAddrBook window: new buttons - GetDefaultDir and GetPAB
- IMessage window: new buttons - IMAPISession::MessageOptions() and
IAddrBook::RecipOptions (on the GetRecipientTable tab)
- IDispatch window (all Outlook OM and CDO objects): Functions
tab now displays function return result type. Function parameter modifiers
are also displayed (in, out, opt, etc).
- OutlookSpy no longer uses the clipboard to set its buttons pictures in
Outlook 2002 and up. Outlook 2000 and below still uses the clipboard; even
through the clipboard is saved and restored (this does not work however if
the clipboard contains OLE objects).
04/22/2002 - OutlookSpy version 2.4 build 2.4.0.182 is
available. New features:
- New button - IMAPIFormMgr. OutlookSpy can now browse IMAPIFormMgr,
IMAPIFormContainer and IMAPIFormInfo interfaces.
- OutlookSpy can display symbolic values of the PT_ACTIONS
properties, such as PR_RULE_ACTIONS property on the IMAPIFolder | PR_RULES_DATA
tab.
- IDispatch windows displaying Explorer and Inspector Outlook Object Model
interfaces have an additional tab - CommandBars. This tab displays
the treeview of all CommandBars and their controls along with the full
path for each control which you can copy and paste into your VB code.
- Context menu on the IMAPIFolder|GetSearchCriteria tab (available on
search folders) allows to create a folder with the same restriction in the
IPM root folder - can be handy if you want to persist the result of advanced
find in Outlook as a separate folder: go to "Advanced Find"
in Outlook, create any search criteria, click "Find". Without
closing the window navigate to the temporary search folder using OutlookSpy
(e.g. IMsgStore\Search Root\Folder1), go to the GetSearchCriteria tab, right
click, select "Create Same Search Folder in IPM Tree".
- IMsgServiceAdmin profile interface window has an additional button
- OpenProfileSection (pbGlobalProfileSectionGuid). This interface
contains global (common to all services) profile data.
- Unicode Extended MAPI properties are fully supported.
PT_UNICODE and PT_MV_UNICODE properties are displayed, you can also add and
edit PT_UNICODE properties (good luck finding a MAPI provider which supports
them!). Unicode properties are only displayed as such on OSes which natively
support Unicode (Windows NT/2000/XP).
- All script tabs have an additional pane - Debug.Print which
displays output of the Debug.Print statements. Sure beats MsgBox() if you
need to dump properties of a thousand messages :-)
- Special keys (e.g. Ctrl or Alt combinations, Tab, etc) finally work
in all OutlookSpy windows
- When you click Add Property on the IMAPIProp derived objects, you
can specify the property as its symbolic value (e.g. PR_SUBJECT) rather than
a numeric
value (e.g. 0x0037001E); approximately 1,200 symbolic property tags are
supported You can still enter a numeric value of course.
- IMAPIFolder GetSearchCriteria tab (visible only on the search
folders, such as Reminders) shows a list of the containers included in the search along with
the search restriction.
- You can add and edit PT_SYSTIME properties
- On the OpenEntry tab (IMAPISession, IMsgStore, etc) you can manually enter or paste
an Entry ID (click Enter Entry ID Manually... button). Useful if you get the
value of an entry id (e.g. from an IMsgStore Advise tab) and you want to
find out what that object is.
- MAPI containers which support PR_SEARCH property (e.g. Exchange
Address Book provider) display PR_SEARCH button to allow browsing of that
property.
- If you click Help button on one of the IDispatch windows
(e.g. one of the Outlook Object Model interfaces) and Outlook VBA help files
are not installed, you will be automatically prompted to install them from
your Office CD.
07/07/2001 - OutlookSpy version 2.3 build 2.3.0.406 is
available. New features:
- IMessage window has a new tab - Compare. Drag any PR_ENTRYID
property there and OutlookSpy will compare that object with the current one.
OutlookSpy shows which properties are missing, extra, different or the same
on either object.
- IMAPIFolder window has 2 new tabs "GetHierarchyTable -
SHOW_SOFT_DELETES" and "GetContentsTable -
SHOW_SOFT_DELETES" (messages and folders deleted, but still
retained on an Exchange Server for each particular folder). These tabs are
only present on Exchange Server folders.
- OutlookSpy can parse and show properties of type PT_SRESTRICTION
(such as PR_RULE_CONDITION in the Rules table). Can be handy if you need to
create a restriction (any restriction), but don't remember the names of all
the constants - just create a new rule (Tools | Rules Wizard), look at it
with OutlookSpy and copy the definition of the restriction.
06/07/2001 Version 2.2 build 2.2.0.271 is available. New
features:
- IMessage window now has IMessage::SubmitMessage and IMsgStore::AbortSubmit
buttons
- Search folders (PR_FOLDER_TYPE == FOLDER_SEARCH) window now has an
additional tab - GetSearchCriteria
05/22/2001 - OutlookSpy 2.1 (build 2.1.0.228) is now available. New
features:
- IMAPISession, IMsgStore, IMAPIFolder, IAddrBook
and IDistList windows now have an additional "OpenEntry"
tab. Just drag any PT_BINARY or PT_MV_BINARY property on that tab and
OutlookSpy will try to use it as an EntryID. Can be useful if you suspect
that some binary property is really an EntryID of some object - for example
drag (0x36D0, PT_BINARY) property from the Inbox window to the IMAPISession
| Open Entry tab: "Calendar" folder will be shown.
- OutlookSpy can now browse IStorage interfaces (e.g. select
PR_ATTACH_DATA_OBJ property on IAttach window, click "Open
Property", select IID_IStorage)
- Clicking OpenProfileSection on the IMsgServiceAdmin and IProviderAdmin
windows normally returns MAPI_E_NO_ACCESS error (you need to be a service
provider to successfully call these function), OutlookSpy however gives you
a choice to open profile sections using a hack (see Profman sample on MSDN).
Can be useful if you need to build a profile dynamically and need to know
which properties must be set.
- You can now delete folders and messages from the IMAPIFolder window
- can be handy if you want to cleanup some misbehaving views or other hidden
messages.
- When viewing an IMAPITable (contents, hierarchy, etc) OutlookSpy
now buffers the display - looking at the contents table of an IMAPIFolder
with 10,000 messages over a dial-up connection finally takes less than a
day. <g>.
04/18/2001 Version 2.0 build 2.0.0.162 is now available. New features:
- OutlookSpy toolbar is now also present on all Outlook inspectors - this
way you can look at the item being edited without saving it first. Available
buttons: Script Editor, Application, Inspector, HTMLEditor,
WordEditor, CurrentItem, IMessage. HTMLEditor and
WordEditor buttons are only enabled if the inspector is using the
corresponding editor.
- Everything works fine under Outlook 2002, no known issues.
- For all IMAPIProp derived interfaces (IMessage, IMAPIFolder, etc) there is
a new "Add Property" button (I know, I know, I should've done this a
long time ago). You can add both regular (with a known property tag) and
named properties.
- The list of available events on the Events tab of all IDispatch
derived interfaces now has checkboxes (checked by default) - uncheck a box
and that particular event will not be displayed in the Events Log when it
occurs. Can be handy if you do not want to see some frequently occurring
events, such as onmousemove event when working with an HTMLEditor
object.
- IMessage window now has a Watch tab - it lets you specify
properties that you want to track and automatically output their values
every time there is a change in the value of the property. Can be handy if
you need to crack some nasty binary properties.
- For all Extended MAPI interfaces the list of the properties can be sorted
by the property tag, type or value - just click on the listview header.
- Hex viewer and IMessage | Watch tab now have a button that launches a calculator.
Evaluate any C or Pascal style expressions.
- Hex Viewer
window - shows currently selected byte as BYTE, WORD, DWORD or FILETIME
on the bottom of the window
- Numerous improvement in the OutlookSpy inner workngs, much better
handling of the edge cases
- Fixed a problem with OutlookSpy not installing under some localized versions of Outlook.
02/15/2001 - version 1.4 is available (build 1.4.0.150). New
features:
- Security Patch dialogs are not shown when clicking "Item" or
"CDO | Item" buttons, only when accessing (clicking) properties
blocked by the Security Patch.
- All IMAPIProp derived Extended MAPI interfaces (IMessage, IMAPIFolder,
IMsgStore, etc) now have an additional button - GetNamesFromIDs() to
show the list of all named properties.
- Improved browsing of IDispatch'able (Outlook Object Model and CDO)
interfaces. Property values are now shown in a multiline edit.
- IMAPISession window - new AdminServices button
- IABContainer window -new tab PR_CREATE_TEMPLATES (if available).
- IMailUser window - several new tabs: PR_EMS_AB_IS_MEMBER_OF_DL, PR_EMS_AB_MANAGER,
PR_EMS_AB_PUBLIC_DELEGATES, PR_EMS_AB_PUBLIC_DELEGATES_BL, PR_EMS_AB_REPORTS,
PR_DETAILS_TABLE
- IMsgStore window - GetReceiveFolderTable tab
01/18/2001 - updated version 1.3 (build 1.3.0.235) -
fixed: OutlookSpy toolbar does not fit on the screen and buttons on the far
right side of the toolbar become popup buttons and stop functioning.
01/12/2001 - updated version 1.3 (build 1.3.0.231).
Several UI improvements, nothing major: Extended MAPI property tags are shown as
8 bytes (not 4 bytes as previously), OutlookSpy now remembers the style (text
only, image only, text/image) of its buttons when you customize OutlookSpy
toolbar - useful if OutlookSpy toolbar does not fit on your screen.
01/04/2001 - version 1.3 (build 1.3.0.221) is released.
New features:
-
OutlookSpy now supports IExchangeManageStore interface. To
access it, open IMsgStore window and click on an IExchangeManageStore
button. Note that this interface is only supported on Exchange Server Message
Store providers and you must have sufficient privileges to call methods on that
interface - logging in as an Exchange Administrator would do it.
-
Support for Access Control Lists (ACL) (that's what you see
when you right click a folder and select Properties | Permissions). OutlookSpy
now supports PR_ACL_TABLE property on Exchange folders. To access it, open
IMAPIFolder window and select PR_ACL_TABLE tab. This tab is only visible
if the folder supports PR_ACL_TABLE property.
-
Support for rules. OutlookSpy now supports PR_RULES_TABLE
property on folders. To access it, open IMAPIFolder window and select PR_RULES_TABLE
tab. This tab is only visible if the folder supports PR_RULES_TABLE
property.
11/12/2000 - version 1.2 (build 1.2.0.183) is released.
New features
-
Added more than 250 new symbolic (PR_xx) tags. Since many of
these tags never made it into the Platform SDK header files (but strangely some
of them are mentioned on MSDN), OutlookSpy shows tag's numeric value even for
the PR_xx tags so you can define it in your code if it is missing from the MAPI
header files. OutlookSpy now supports twice as many tags as MdbView!
-
OutlookSpy now supports MAPI profile interfaces: IProfAdmin,
IMsgServiceAdmin, IProviderAdmin, IProfSect. You can access these interfaces
from either "IProfAdmin" button on the toolbar or from an "OpenProfileSection"
button on an IMAPISession window.
10/24/2000 - version 1.1 (build 1.1.0.169) is released, many
new features added. Fixed bugs:
10/12/2000 - beta of version 1.1 is available
10/07/2000 - Version 1.0 is now available
10/03/2000 - Some people observed Outlook lock-ups and
access violations on startup. Hopefully it is fixed for good. If you still see
some weirdness or outright bugs please let me know ASAP.
10/02/2000 - IMessage window attachments and recipients
selections were incorrect: e.g. if message has 2 attachments and 2 recipients
and first attachment and second recipient are selected, opening first attachment
would actually open a second attachment, opening second recipient would open
first recipient. Duh!
When no message was selected in Outlook (e.g. click on a folder
in the treeview), clicking Item or IMessage buttons would open two
windows for that folder instead. Now Item and IMessage buttons are
correctly grayed out if no message is selected.
Tools | Options dialog in Outlook has two OutlookSpy tabs.
Accessing one of the tabs causes access violation.
09/30/2000 - Undocking OutlookSpy toolbar in Outlook
97/98 would render toolbar buttons unusable.
09/28/2000 - Original release, ver. 0.9.