Com 如何使用赎回,使其独立于包含自己赎回版本的其他安装软件工作?

Com 如何使用赎回,使其独立于包含自己赎回版本的其他安装软件工作?,com,outlook-redemption,side-by-side,regfreecom,Com,Outlook Redemption,Side By Side,Regfreecom,我们使用赎回版本5.21和32位Outlook。 这在大多数系统上都非常有效 问题发生在安装了第三个软件的系统上,该软件使用自定义的Redemption.dll以及安装程序提供的一些注册表项 [HKEY_CLASSES_ROOT\TypeLib\{2D5E2D34-BED5-4B9F-9793-A31E26E6806E}] [HKEY_CLASSES_ROOT\TypeLib\{2D5E2D34-BED5-4B9F-9793-A31E26E6806E}\4.5] @="Redemption Ou

我们使用赎回版本5.21和32位Outlook。
这在大多数系统上都非常有效

问题发生在安装了第三个软件的系统上,该软件使用自定义的Redemption.dll以及安装程序提供的一些注册表项

[HKEY_CLASSES_ROOT\TypeLib\{2D5E2D34-BED5-4B9F-9793-A31E26E6806E}]
[HKEY_CLASSES_ROOT\TypeLib\{2D5E2D34-BED5-4B9F-9793-A31E26E6806E}\4.5]
@="Redemption Outlook Library. Version 4.5"

[HKEY_CLASSES_ROOT\TypeLib\{2D5E2D34-BED5-4B9F-9793-A31E26E6806E}\4.5\0]

[HKEY_CLASSES_ROOT\TypeLib\{2D5E2D34-BED5-4B9F-9793-A31E26E6806E}\4.5\0\win32]
@="C:\\Program Files (x86)\\...FullFilePathToCustom_dll
[HKEY_CLASSES_ROOT\TypeLib\{2D5E2D34-BED5-4B9F-9793-A31E26E6806E}\4.5\FLAGS]
@="0"

[HKEY_CLASSES_ROOT\TypeLib\{2D5E2D34-BED5-4B9F-9793-A31E26E6806E}\4.5\HELPDIR]
@="C:\\Program Files (x86)\\...DirectoryPath"
删除已识别的注册表项时,一切正常

安装此第三方软件后,访问会出现问题
attachment.ContentID
来自签名电子邮件 还有
decryptedmail=((IRDOEncryptedMessage)邮件).GetDecryptedMessage()

结论:

第三方软件在注册表中添加了一些内容,干扰了RedemptionLoader初始化过程。RedemptionLoader初始化并不像预期的那样与系统隔离。独立于第三方安装运行我们的软件是一项要求

问题:

  • 如何摆脱第三方赎回装置影响稳定性的事实
  • 使用RedemptionLoader方法是否可以实现这一点
  • 加载可以解决问题吗

  • 我可以在清单文件中添加一些comInterfaceProxyStub吗:这些注册表项应该不会有任何区别。访问内容id的实际问题是什么?您是否收到错误?@DmitryStreblechenko我收到System.AccessViolationException,试图读取或写入受保护的内存。这通常表示其他内存已损坏。但仅限于包含内联消息的电子邮件-Images@DmitryStreblechenko如果我删除这个注册表项,错误就会消失。使用此键,我在procMon进程中看到请求注册表请求值“HKCR\TypeLib\{2D5E2D34-BED5-4B9F-9793-A31E26E6806E}\4.5\0\win32(默认值)”,然后在第三方软件中创建文件映射到dll。请向redemption(at)dimastr(dot)com发送消息,我将向您发送redemption的调试版本。