初始化new_rdosession时mso20win32client.dll错误

发布于 2025-02-08 06:43:49 字数 1514 浏览 2 评论 0原文

每当我的应用程序运行以下行时,我都会在活动查看器中遇到错误:

Redemption.RDOSession rSession = RedemptionLoader.new_RDOSession();

事件查看器错误:

faulting application name: (my.exe)  
exception code: 0xc0000005  
faulting module path: C:\Program Files\Common Files\Microsoft Shared\Office16\mso20win32client.dll

最奇怪的部分是它继续创建会话并在我的代码结束时,并成功查找电子邮件前景。这是在生产中,已经工作了多年,但是几个月来,它一直在活动查看器中遇到相同的错误。最终用户没有注意到,但是现在看到数千个错误,这使他们很难知道何时可能出现其他问题。

我在第一次尝试中重现了这一点:

Windows 10 Home, OS build 19044.1706, Windows Feature Experience Pack 120.2212.4170.0
Outlook: Microsoft® Outlook® for Microsoft 365 MSO (Version 2205 Build 16.0.15225.20172) 64-bit

我在CS代码中添加了登录,以确保这会导致错误。 “ E” ,则会发生

Microsoft.Office.Interop.Outlook.Application oApp = (Application)Marshal.GetActiveObject("Outlook.Application");
if (ignoreoutlook.Equals("d")) return;
Redemption.RDOSession rSession = RedemptionLoader.new_RDOSession(); // new Redemption.RDOSession();
if (ignoreoutlook.Equals("e")) return;

错误

C:\ProgramFiles\Common Files\Microsoft Shared\Office16\mso20win32client.dll  

如果SET imagoreoutlook 存在。这两个名称都有一个dll:

C:\Program Files\Microsoft Office\root\vfs\ProgramFilesCommonX86\Microsoft Shared\OFFICE16  
C:\Program Files\Microsoft Office\root\vfs\ProgramFilesCommonX64\Microsoft Shared\OFFICE16

如果救赎想使用该DLL,那么它如何工作? 是否有一种方法可以配置赎回来跳过DLL并继续进行此操作后必须采取的任何操作?

I am getting errors in event viewer every time my application runs this line:

Redemption.RDOSession rSession = RedemptionLoader.new_RDOSession();

event viewer error:

faulting application name: (my.exe)  
exception code: 0xc0000005  
faulting module path: C:\Program Files\Common Files\Microsoft Shared\Office16\mso20win32client.dll

The oddest part is that it proceeds to create the session and makes it to the end of my code if I let it, successfully looking up an email in Outlook. This is in production and has worked for years, but for some months now it has been racking up the same error in Event Viewer. End users don't notice, but IT is seeing thousands of errors now which makes it hard for them to know when other problems might be showing up.

I reproduced this on the first try with:

Windows 10 Home, OS build 19044.1706, Windows Feature Experience Pack 120.2212.4170.0
Outlook: Microsoft® Outlook® for Microsoft 365 MSO (Version 2205 Build 16.0.15225.20172) 64-bit

I added logging in my CS code to make sure this caused the error. The error occurs if set ignoreoutlook to "e", and not if I set it to "d":

Microsoft.Office.Interop.Outlook.Application oApp = (Application)Marshal.GetActiveObject("Outlook.Application");
if (ignoreoutlook.Equals("d")) return;
Redemption.RDOSession rSession = RedemptionLoader.new_RDOSession(); // new Redemption.RDOSession();
if (ignoreoutlook.Equals("e")) return;

As for:

C:\ProgramFiles\Common Files\Microsoft Shared\Office16\mso20win32client.dll  

it doesn't exist. There is a dll of that name in both:

C:\Program Files\Microsoft Office\root\vfs\ProgramFilesCommonX86\Microsoft Shared\OFFICE16  
C:\Program Files\Microsoft Office\root\vfs\ProgramFilesCommonX64\Microsoft Shared\OFFICE16

If Redemption wants to use that dll, how is it working without it?
Is there a way to configure Redemption to skip that dll and move on to whatever else it must be doing to get it to work after that error?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

别低头,皇冠会掉 2025-02-15 06:43:49

一旦MAPI系统(赎回加载并调用mapiinitialize),就会有很多事情要做,因为它加载了远程计算和许可,因此有很多自身的问题。其中一些功能仅在(虚拟化的)Office应用程序环境中运行(修补了一些Win API功能等)时

才能检查您是否在 mfcmapi 如果您登录到配置文件(以确保加载MAPI系统)。如果这样做,那意味着问题在MAPI系统中,您可以与MS支持一起工作。如果没有,则特定于您的应用程序。

要记住的一件事是,您的应用程序必须嵌入清单并宣传其对Windows 10的支持。否则,常见的Office运行时间尝试修补WIN WIN API功能。

There are quite a few things going on once the MAPI system (when Redemption loads it and calls MAPIInitialize) initializes common Office runtime, which has a bunch of its own problems, since it loads telemetry and licensing. Some of that functionlity only works when running inside the (virtualized) Office app environment (it patches a few Win API functions etc.)

Check if you see the same problem in MFCMAPI if you log to a profile (to ensure the MAPI system is loaded). If you do, that means the problem is in the MAPI system and you can work with MS support. If not, something is specific to your app.

One thing to keep in mind is that your app must embed a manifest and advertise its support for Windows 10. Otherwise common Office run-time tries to patch wrong Win API functions.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文