RELEASE NOTES WINDOWS MESSAGING SUBSYSTEM/MAPI 1.0b CONTENTS: ====================================================================== * WINDOWS MESSAGING SUBSYSTEM/MAPI 1.0b * INSTALLATION OF THE WINDOWS MESSAGING SUBSYSTEM FOR WINDOWS 3.1/3.11 AND WINDOWS NT 3.51. * DETERMINING IF MAPI IS INSTALLED * CHANGES FROM MAPI 1.0 -> MAPI 1.0a -> MAPI 1.0b WINDOWS MESSAGING SUBSYSTEM/MAPI 1.0b ====================================================================== The Windows Messaging Subsystem (WMS) includes the core MAPI 1.0b messaging API layer, a message spooler, Simple MAPI API support, CMC 1.0 API support, OLE messaging support, the richedit control, a personal message store and personal store repair utility, a personal address book, and a profile configuration utility. Documentation for these APIs is available in the Win32 SDK. Also, the latest MAPI documents can be found on: ftp://ftp.microsoft.com/developr/mapi/new_docs.exe The "a" release of MAPI 1.0 is primarily a bug fix release, plus a few minor API enhancements. The list of the changes are available in Win32 SDK MAPI README on the Premium Release of MSDN Level 2 for the Windows NT 4.0 Beta. Also, for your convenience, the list is included at the end of this document. See the section CHANGES FROM MAPI 1.0 -> MAPI 1.0a -> 1.0b. The Windows Messaging Subsystem/MAPI 1.x is distributed as part of the Windows 95 operating system and with this release is available as a redistributable component for Windows 3.1, Windows for Workgroups 3.11, and Windows NT 3.51. An update patch for Windows 95 WMS/MAPI 1.0b will be released by the Windows 95 team through the normal channels for updates to the operating system. INSTALLATION OF THE WINDOWS MESSAGING SUBSYSTEM FOR WINDOWS 3.1/3.11 AND WINDOWS NT 3.51. ====================================================================== A setup program is provided to install the Windows Messaging Subsystem. This setup program is to be run as is, without modification. By default, the WMS setup program will display a Welcome message, prompt for Name and Organization, and then install the WMS files. Optionally, WMS setup can be run in Administrator mode (setup /a) for a shared network installation. If the WMS setup is run again after a successful WMS installation, setup will run in maintenance mode. Maintenance mode allows the user to Add/Remove, Reinstall, or Remove All for the WMS product. It is also possible to run the setup program in batch mode. The options for batch mode are as follows: /A Administrator mode - only available from original media(e.g. not from a /A image). /Q [0|1|T] Quiet install mode (Batch mode - no UI). Normally the exit dialog is still displayed (/Q or /Q0). /Q1 will suppress the exit dialog. /QT will suppress all UI including the background frame window and the copy gauge. /R Reinstall the application. /U [A] Uninstall the application. If /Q is also specified the user will not be prompted about removing shared components. /U will not remove shared components by default. /UA will always remove shared components without prompting the user. Notes: The arguments are case insensitive. The /A and /Q flags are mutually exclusive. The /U and /R flags are mutually exclusive and only make sense when running maintenance mode. Some additional tips on integrating the WMS setup with other setup programs: The WMS setup program will not install if the Microsoft Exchange Client for use with the Microsoft Exchange Server is already installed. You may want to detect if this version of Microsoft Exchange is already installed by checking the following: A. If you are a 16-bit app, you check to see if ExchangeServer is defined in the WIN.INI in the [Mail] section. B. If you are a 32-bit app, you check the registry to see if HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ExchangeServer is set. If defined, ExchangeServer will be set to the full path to the Exchange Executable. You may also find it necessary to detect if Simple MAPI, MAPI, CMC, and OLE Messaging are available. Instructions for doing this are listed in the section DETERMINING IF MAPI IS INSTALLED. DETERMINING IF MAPI IS INSTALLED ====================================================================== This section describes the mechanism for determining if Simple MAPI, MAPI, CMC, and OLE Messaging are available. In reference to the rules listed below, here is where to search: INI file: WIN.INI under [mail] section. Registry: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Messaging Subsystem Note carefully that in the registry, all values are strings. Determining if Simple MAPI is available: 1. If you are a 16-bit app, you check to see if MAPI=1 in the WIN.INI. 2. If you are a 32-bit app, you check to see if MAPI=1 in the registry, unless you're running on NT 3.51 or less in which case you check WIN.INI to see if MAPI=1. Determining if Extended MAPI is available: 1. If you are a 16-bit app, you check to see if MAPIX=1 in the WIN.INI. 2. If you are a 32-bit app, you check to see if MAPIX=1 in the registry. Determining if CMC is available: 1. If you are a 16-bit app, you check to see if CMC=1 in the WIN.INI. 2. If you are a 32-bit app, you check to see if CMC=1 in the registry. Determining if OLE Messaging is available: 1. If you are a 16-bit app, you check to see if OLEMessaging=1 in the WIN.INI. 2. If you are a 32-bit app, you check to see if OLEMessaging=1 in the registry. Determining which version of Extended MAPI is available: 1. If you are a 16-bit app, you check the MAPIXVER string in the WIN.INI of form (x.x.x.x). 2. If you are a 32-bit app, you check the MAPIXVER string in the registry of form (x.x.x.x). Note: MAPI 1.0 has no version number set for MAPIXVER. This situation only will exist on Windows 95. Upon final release MAPI 1.0b will have the version numbered 1.0.0.1 on all platforms. CHANGES FROM MAPI 1.0 TO MAPI 1.0a ====================================================================== Following are changes made to public MAPI header files between MAPI 1.0 and MAPI 1.0a EXCHEXT.H New command ID EECMDID_FilePropertiesRecipients added for recipient properties. EXCHEXTX.H New file, lists extensions specific to the enhanced MS Exchange client. EXCHFORM.H New file, lists standard verb identifiers for MAPI forms and values for creating the standard verb operation map in the form .CFG file. MAPI.H Corrected type definition for MAPIFREEBUFFER. Removed several flags which had been defined for MAPILogon, but in fact should only be used with MAPILogonEx. MAPICODE.H Added two new codes for character set errors. MAPIDEFS.H Correct conditional for including WINERROR.H on Win32 systems. Define MAPI_NT_SERVICE here rather than in MAPIX.H. Its usage has changed: this flag is now passed to service providers on their XXProviderInit entry points, and it is no longer required either on MAPIInitialize or on MAPILogonEx. Do not define certain simple data types when compiling with MIDL (Microsoft Interface Declaration Language compiler). Define several values for the new PR_DELIVERY_POINT property. Add STORE_PUBLIC_FOLDERS and STORE_UNCOMPRESSED_RTF bits for the PR_STORE_SUPPORT_MASK property. Add MSGFLAG_RN_PENDING and MSGFLAG_NRN_PENDING bits for the PR_MESSAGE_FLAGS property. Add CLEAR_RN_PENDING and CLEAR_NRN_PENDING flags to IMAPIFolder::SetReadFlags and IMessage::SetReadFlag. Add DT_FOLDER_SPECIAL value for the PR_DISPLAY_TYPE property. MAPIFORM.H Add platform definition for Windows NT SUR. MAPIGUID.H Add MUID_PROFILE_INSTANCE. It identifies a profile section with a single property, PR_INSTANCE_KEY, which is guaranteed to be different for every profile created on a particular workstation. MAPINLS.H Add MAPI_NOWIDECHAR tag so that Windows NT programs which include MAPI headers but do not load MAPI32.DLL can turn off redefinition of certain Unicode-related Win32 APIs. MAPI redefines those APIs because they are not implemented on Windows 95. MAPIOID.H Add OID_MIMETAG value for the PR_ATTACH_TAG property. MAPITAGS.H Add several new properties. PR_ORIGINAL_SENSITIVITY for propagating the sensitivity of the original message in a thread. PR_DELEGATION for mapping a Schedule+ 1.0 message property PR_DELIVERY_POINT for mapping the X.400 MH_T_DELIVERY_POINT attribute PR_ATTACH_LONG_PATHNAME for specifying the path to an attached file that includes long directory or file names. PR_ATTACH_PATHNAME is restricted to 8.3 directory and file names. PR_ATTACH_MIME_TAG is a copy of the MIME Content-type header for an attached file or message. PR_7BIT_DISPLAY_NAME is a copy of PR_DISPLAY_NAME in a more restricted character set, required by some MTAs. MAPIUTIL.H Add two new utility functions: HrDispatchNotifications. This function ScCreateConversationIndex takes the original value of PR_CONVERSATION_INDEX in cbParent/lpbParent (0/NULL if the message is not a reply or forward), and returns a new value for PR_CONVERSATION_INDEX in lpcbIndex/lppbIndex. Document the MAPI_MODIFY and STORE_UNCOMPRESSED_RTF flags to WrapCompressedRTFStream(). MAPIVAL.H Restrict existing definitions of the parameter validation macros ValidateParameters, UlValidateParameters, and CheckParameters to Intel platforms only. Add new, RISC-capable macros, using new MAPI32.DLL entry points, for RISC platrforms. MAPIWIN.H Add Win16 equivalent to the Win32 SetFileTime function. Add FIsTask, a safe substitute for the Win16 IsTask API which can crash. MAPIWZ.H Add Boolean property PR_WIZARD_NO_PST_PAGE to enable providers to suppress this page in the wizard. MAPIX.H Move definition of MAPI_NT_SERVICE to MAPIDEFS.H. CHANGES FROM MAPI 1.0a TO MAPI 1.0b ====================================================================== Following are changes made to public MAPI header files between MAPI 1.0a and MAPI 1.0b The wording has been changed thruought the WMS version of the product from "Microsoft Exchange" to "Windows Messaging". A simple, fast send note has been added that allows the file.send operation to be about 4x faster on highly memory constrained machines. MAPIWZ.H Add Boolean property PR_WIZARD_NO_PAB_PAGE to enable providers to suppress this page in the wizard.