Я пытаюсь добавить магазин pst из надстройки Outlook, используя Redemption с кодом:
RdoSession = Redemption.RedemptionLoader.new_RDOSession();
RdoSession.MAPIOBJECT = (AddinModule.CurrentInstance as AddinModule).OutlookApp.Session.MAPIOBJECT;
string path = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + @"\Microsoft\Outlook\mystore.pst";
RDOStores stores = RdoSession.Stores;
RDOStore store = stores.AddPSTStore(path, Outlook.OlStoreType.olStoreDefault, "test");
Строка store.AddPstStore выдает System.Runtime.InteropServices.COMException (0x8000FFFF): Catastrophic failure
и создает mystore.pst в правильном месте размером 265 КБ. Новый файл хранилища / данных не отображается в Outlook и не отображается в RdoSession.Stores при следующем выполнении. Итак, моя программа пытается создать его снова (так как она его не нашла), а затем та же строка вылетает с:
System.InvalidCastException: Error in IMsgServiceAdmin::AdminProviders: MAPI_E_INTERFACE_NOT_SUPPORTED
Использование офисного кода PIA работает без проблем: https://msdn.microsoft.com/en-us/library/office/bb612380.aspx
Я бы сохранил код погашения, поскольку в нем гораздо больше логики. Я просто переместил эти 5 строк в начало функции, чтобы изолировать проблему.