Outlook 2016 CTR和Outlook加载项出现问题。 [英] Problems with Outlook 2016 CTR and an Outlook Add-in.

查看:230
本文介绍了Outlook 2016 CTR和Outlook加载项出现问题。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的产品有自己的桌面exe,数据库和注册表项。它还有一个Outlook加载项。当Outlook加载加载项时,该加载项代码访问应用程序使用的注册表项。当从
MSI安装Outlook时,这一切都很好。



当Outlook作为即点即用安装时,事情变得棘手。点击率是一种基于APP / V但与APP / V不同的应用虚拟化形式。因此,Outlook CTR拥有自己的私有虚拟化注册表区域,其中Outlook和作为Outlook
(如我的加载项)的一部分运行的任何内容都会重定向代码所做的任何注册表调用。这是我的加载项的问题,需要访问虚拟化区域之外的我的注册表项。所以我的解决方案是在
CTR虚拟注册表区域中放置(在安装期间)符号链接注册表项,该注册表项指向外部世界中的reg键。听起来很复杂,但它实际上运行良好,并且在很多版本的Outlook上都有相当长的一段时间。



几天前,准备在W10 Creators上测试我的产品版本,我启动了安装了Outlook 2016 CTR的W10x64 VM,进行了一些测试。现在,这个VM和Outlook以及我的加载项应用程序在我最后一次在此VM上运行测试时工作正常。这个
的时间,我的加载项在Outlook加载时崩溃,然后Outlook报告了无法找到其许可证并退出的问题。我确定我的加载项崩溃,因为加载项和主exe使用的注册表项已从注册表中删除。现在Outlook
将在我的加载项停止后继续运行但我无法通过许可证检查运行它。一个意想不到的双重神秘。



因此经过一些调查(使用procmon来观察注册表)我确定你启动时调用的OfficeClick To Run.exe可执行文件CTR应用程序(在启动Outlook.exe之前)专门定位和删除我的符号链接注册表
键(这意味着它在常规注册表中删除了我的密钥,但链接仍然存在)。每次启动Outlook时都会发生这种情况。我多次卸载并重新安装了我的应用程序,但没有任何帮助。即使在我卸载了我的应用程序之后,Outlook也继续使用
来解决许可证问题。然后我确定在完全卸载时,我的安装程序没有删除符号链接。现在完全怀疑注册表是否以某种方式被破坏,我手动删除了符号链接。



Viola!做完后,Outlook恢复正常。找到它的许可证,一切都很顺利。所以我再次安装了我的应用程序,一切正常。卸载并重新安装几次,一切正常。工作好几天了。


然后我将等待更新应用到Windows 10,并且在更新重新启动后,OfficeClick To Run.exe将恢复为删除我的注册表项。还有一个新的皱纹,如果我的符号链接出现在CTR虚拟注册表中,链接指向的键是在Windows重新启动时删除
... Outlook未执行。



我很难过这里发生的事情。其他Outlook CTR安装我似乎工作正常。




     

解决方案

您好
Richard Corn,


每次安装新更新时,很多事情都会发生变化。


so我们无法预测下次会发生什么变化。


因为我们可以看到您在CTR版本中添加了注册表项,这可能会导致此问题。


因此,此问题没有任何永久性解决方案。


您需要找到解决方法,为使用CTR版本的用户提供此功能。


或添加您的应用程序的预先要求从MSI安装Outlook。


如果Outlook是CTR版本然后通知用户使用MSI安装Outlook并关闭应用程序。


你提到的其他东西CTR ver sions工作正常。


你是否在这些机器上安装了相同的更新?


如果没有,那么尝试安装相同的更新并尝试 检查差异。


它可以帮助缩小问题范围。


问候


Deepak


I have a product that has its own desktop exe, database and registry key. It also has an Outlook Add-In. When Outlook loads the add-in, that add-in code accesses the registry key used by the app. This all works just fine when Outlook is installed from an MSI.

When Outlook is installed as Click-To-Run, things get tricky. CTR is a form of app virtualization based on, but not the same as, APP/V. As such, Outlook CTR has its own private virtualized registry area where Outlook and anything that runs as part of Outlook (like my add-in) redirects whatever registry calls the code makes. This is a problem for my add-in which needs access to my registry key that is outside the virtualization area. So my solution is to place (during install) a symbolic link registry key in the CTR virtual registry area that points to my reg key in the outside world. Sounds complicated but it actually works well and has for quite some time on many versions of Outlook.

A few days ago, in prep for testing my product on the W10 Creators Edition, I started up my W10x64 VM where Outlook 2016 CTR is installed to do a few tests. Now this VM and Outlook and my add-in app worked just fine the last time I ran tests on this VM. This time, my add-in crashed when loaded by Outlook and then Outlook reported a problem with not being able to find its license and quit. I determined my add-in crashed because my registry key used by the add-in and main exe was gone from the registry. Now Outlook would continue running after my add-in stopped but I could not get it run past the license check. An unexpected double mystery.

So after some investigation (using procmon to watch the registry) I determined that the OfficeClick To Run.exe executable that is invoked when you start a CTR app (before Outlook.exe is launched) is specifically locating and deleting my symbolic link registry key (which meant it deleted my key in the regular registry but the link remains in place). This would happen each time I started Outlook. I uninstalled and reinstalled my app many times but nothing helped. And even after I uninstalled my app, Outlook continued to have the license problem. I then determined that on a full uninstall, my installer was not removing the symbolic link as it should. Now fully suspicious that the registry was corrupted in some manner, I manually deleted the symbolic link.

Viola! After doing that Outlook is back to normal. Finds its license and all is well. So I installed my app again and it all works fine. Uninstall and reinstalled several times and all still works fine. Worked fine for several days.

Then I applied waiting updates to Windows 10 and after the update reboot, OfficeClick To Run.exe is back to deleting my registry key. There is also a new wrinkle, if my symbolic link is present in the CTR virtual registry, the key the link points to is being deleted on Windows reboot...Outlook is not executed.

I am stumped as to what is going on here. Other Outlook CTR installations I have seem to be working fine.

     

解决方案

Hi Richard Corn,

every time when you install new updates lots of things get changed.

so we can't predict that what will going to change next time.

as we can see that you are adding registry key in CTR version which can cause this issue.

so there is no any permanent solution is available for this issue.

you need to find work around to provide this feature to your users who are using CTR versions.

or add pre requirement for your app to install Outlook from MSI.

if Outlook is CTR version then inform user to install outlook using MSI and close the app.

other thing you had mentioned that other outlook CTR versions are working fine.

did you install the same updates on that machines too?

if not then try to install the same updates and try to check the difference.

it can help to narrow down the issue.

Regards

Deepak


这篇关于Outlook 2016 CTR和Outlook加载项出现问题。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆