我的情况是:
我在visual studio 2013上开发了一个outlook插件,然后通过InstallShield构建到MSI安装。
我的MSI配置文件中的安装程序注册表遵循以下两种方式:
HKEY_CURRENT_USER:
+ HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ Outlook \ Addins
+ HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ Outlook \ FormRegions
HKEY_LOCAL_MACHINE:
+ HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Office \ Outlook \ Addins
+ HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Office \ Outlook \ FormRegions
我使用名为' abc.vsto'
的vsto文件创建了Outlook加载项首次安装时,它可以正常工作。
之后我将vsto文件的名称从abc.vsto更改为def.vsto以创建新的MSI安装。
但是在安装了新插件后,会出现一些问题。
它始终显示Formregion具有空控制,经过三四次重启后,它运行良好。 也许有两个vsto文件或注册表出错的地方会发生一些遭遇。
我意识到outlook总是会创建新的* .ost文件,每次重启后都会命名为*(2).ost,这会使复制的ost文件生效。
如何控制生成* .ost进程的outlook或者为什么会这样?
我使用此函数获取当前的Outlook电子邮件用户,但它始终返回null值。
Globals.ThisAddIn.Application.Session.CurrentUser.AddressEntry.GetExchangeUser();
如果我删除所有* .ost文件然后重启outlook,我不知道这个问题是否与问题2有关这种情况下,新的* .ost文件
是自动生成的,加载项工作得很好。