With Outlook 2016, calling MapiInitialize() disallows writing to HKEY_LOCAL_MACHINE until the program exits

Dec 3, 2015 at 2:55 PM
I first noticed this in our own app, but took awhile to figure out root cause was that SetValue calls to registry were not really setting values (and no errors or exceptions returned).

So finally made a slight mod to MFCMAPI to confirm problem. In particular
  • Change the following 3 lines from HKEY_CURRENT_USER to HKEY_LOCAL_MACHINE:
    C:\SrcRef\MfcMapi\Registry.cpp(225): HKEY_LOCAL_MACHINE
    C:\SrcRef\MfcMapi\Registry.cpp(341): HKEY_LOCAL_MACHINE
    C:\SrcRef\MfcMapi\Registry.cpp(350): HKEY_LOCAL_MACHINE
  • Build and run MFCMAPI in admin mode
  • Invoke the simple MapiInitialize... menu
  • Try to change any of the MFCMAPI options, and they are not set into the registry