随笔 - 22, 评论 - 123, 引用 - 0

导航

关于

本Blog站点上的任何言论仅代表个人观点,与其所在的公司,团体或者其他组织没有任何关系。本Blog站点的内容是按原样提供的,作者并不对其提供任何种类的担保。此外还否认所有暗示的保证,包括但不局限于在任何试销性或某一特定用途的适用性方面的暗示保证。由于本站内容的使用或性能表现带来的全部风险将由使用者自己承担。任何由于使用或无法使用本站内容而带来的损失(包括但不局限于商业利润、业务中断、业务信息或其他财产上的损失),即使在 本站作者曾经被提醒可能出现这些损失的情况下,本站 及其作者或涉及内容创建的任何其他人等对任何上述的损失概不负责。

标签

每月存档

最新留言

  • 回复: 搜搜地址栏的一些技术分析
    唉,象天书一样!有简单的办法没?就象用工具拆卸一样。请制造一种工具吧!SOSO简直是流氓的爷爷!谁行行好帮帮菜鸟们!!!
    by ZSD(匿名) on 2008/1/14 2:14:00
  • 回复: 搜搜地址栏的一些技术分析
    我的电脑出问题了,kernel32.dll的错误,是不是QQ引起的啊,重装了系统,还是这里的错误,晕了
    by wang(匿名) on 2007/12/18 22:40:00
  • 回复: 搜搜地址栏的一些技术分析
    太专业拉我看不懂,不过我还是卸掉拉 <br>
    by L(匿名) on 2007/12/12 22:35:00
  • 回复: 搜搜地址栏的一些技术分析
    佩服专业精神,让我学习到了很多知识和技术! <br>我遇到过你所到说的情况,不知道怎么办.现在看了你的的分析,我知道了.非常相当的谢谢! <br>
    by m9cn(匿名) on 2007/12/9 19:44:00
  • 回复: 搜搜地址栏的一些技术分析
    我看SOSO就是一个病毒
    by 我(匿名) on 2007/11/24 12:35:00
  • 回复: SoDAHK.DLL问题
    晕,这么简单的问题,居然也搞半小时!? <br>开个SRENG一看,就一清二楚了。一分钟的时间都不用,就能修复。
    by RAY(匿名) on 2007/11/13 16:53:00
  • 回复: RMS与PKI
    ding,TAIHAO LE RMS中用户的认证,最终是通过证书来进行的。在证书中对于用户的标志,是用户在AD中设置的电子邮件地址。因此,在使用RMS的时候,必须在AD中(可以通过AD用户和计算机管...
    by AA(匿名) on 2007/10/6 18:54:00
  • 回复: RMS与PKI
    ding
    by AA(匿名) on 2007/10/6 18:53:00
  • 回复: 搜搜地址栏的一些技术分析
    具体怎么删,能说的简单些吗?它弄的我c盘打不开
    by xiaoyue(匿名) on 2007/9/14 15:18:00
  • 回复: Outlook Add-In,安全带来的麻烦
    您好: <br> 我是一个VB程序员,目前有这样一个需求,写一个程序从Exchange2003收下一卦邮件,并将这卦邮件的附件更新到DB里,以前我用MAPI控件实现了,但是老是要弹...
    by 张逸(匿名) on 2007/8/7 11:37:00

广告

 

最近在做OutlookAdd-In,需要在Outlook工具栏上加个按钮,用户点击的时候,能够将当前的邮件保存下来,再对保存的邮件进一步的一些操作。

 虽然Office Add-In是基于COM的,但VS2003也提供了相关的模板。既然如此,先考虑用.Net来实现了。

关于如何在.Net中实现Outlook插件,找到一片不错的文章:An Introduction to Programming Outlook 2003 Using C#,照猫画虎,也做的差不多了。

 

然后在运行的时候,遇到了第一个问题,就是当点击按钮的时候,会弹出提示筐,要求确认是否允许访问Outlook

 

导致弹出对话框的原因,是因为Outlook中实现了一个叫做Outlook Object Model Guard的措施,用于控制对于Outlook中某些重要信息(如邮件地址、正文)的编程访问。为了保存邮件所需要调用的MailItem—SaveAs方法,是在安全控制之类的。想想几年前病毒和垃圾邮件利用Outlook接口大肆传播的情形,可以理解现在的Outlook为啥多了这么多限制。

 

理解归理解,但是这个弹出对话框实在不是那么雅观,于是寻找解决方法。在参考了一堆文章,尤其是Important Security Notes for Microsoft Outlook COM Add-In Developers之后,大概里清楚了思路:

 

对于受到Outlook Object Model Guard保护的Outlook编程接口中的属性和方法,在同时满足如下两个条件的情况下,不会弹出安全警告筐:

1.  对于属性和方法的调用,是在受信任的COM Dll中进行的。

Outlook 2003默认安全环境下,所有的COM Dll是受信任的;如果Outlook 2003连到Exchange环境中,对于COM Dll的信任将依赖于Exchange管理员定义的安全策略。

2.  在满足1的条件下,应用代码中,被调用的对象,必须是从受信任的Outlook Application对象(就是在OnConnection事件中传入的那一个)中派生出来的

 

然而,对于Visual Studio 2003开发出来的Outlook Add-In,默认情况下,将不会被信任(Outlook 2002 COM add-ins are not trusted if they are created in Visual Studio .NET)。因为这些基于.NetAdd-In本身并不直接与Outlook发生联系,而是由Mscoree.dll作为中继。如果要解决或者避开这个问题,在上述的知识库文档中,提出了几种方法:

1.  信任Mscoree.dll,但是这将导致Outlook信任所有.Net Add-In,会导致安全风险

2.  .Net Add-In创建COM的封装类(Using the COM Add-in Shim Solution to Deploy Managed COM Add-ins in Office XP

3.  更改Outlook的安全等级

4.  使用VB或者VC开发Add-In

 

对于牵涉到安全方面的Workaround,都是不考虑的。Shim Solution看上去又太丑。正在犹豫是不是要改用VB的时候,又似乎遇到了另外一个VS2003 Add-In的问题:When COM Registration fails in an MSI (vsdraCOM has no affect),于是下定决心,翻出VS6的安装程序,在n年之后,重新用起了VB6

 

打印 | 张贴于 2005-12-21 23:17:00 | Tag:coding

留言反馈

#回复: Outlook Add-In,安全带来的麻烦 编辑
您好:
我是一个VB程序员,目前有这样一个需求,写一个程序从Exchange2003收下一卦邮件,并将这卦邮件的附件更新到DB里,以前我用MAPI控件实现了,但是老是要弹两个对话框:1.当登陆Exchange的时,输入密码的对话框.2.点Connect以后还会弹一个描述为"a program is trying to access e-mail..."的对话框.与你文章提到的现象非常相似.到目前为止我已经研究了三天,真的是江郎才尽,热切的盼望得到你的帮助.Mail:fun_robert@163.com/Msn:msn_robert01@hotmail.com
Thanks and Regards
张逸
2007-8-6
2007-08-07 11:37:00 | [匿名:张逸]
#回复: Outlook Add-In,安全带来的麻烦 编辑
我用vc++6做了一个保存多有当前选择中的邮件的附件。工作正常!
不过之前用vba实现了,觉得更好用!
2007-08-01 16:47:00 | [匿名:vc++6.1]
#回复: Outlook Add-In,安全带来的麻烦 编辑
这个问题我还是没有得到解决啊,有谁解决了吗
加入我QQ:7985054
2007-01-12 15:07:00 | [匿名:阿paul]
#re: Outlook Add-In,安全带来的麻烦 编辑
不是很明白,我是用vc开发的,可还是碰到这个问题。。。
2006-08-25 11:55:00 | [匿名:Heidy]
#re: Outlook Add-In,安全带来的麻烦 编辑
以前研究的很细现在不行了^_^
2005-12-23 19:10:00 | [匿名:rimmon]
#re: Outlook Add-In,安全带来的麻烦 编辑
Shim同时牵涉到对于.Net和COM的运用。觉得万一出了问题,troubleshooting会麻烦一些,^_^
2005-12-22 20:17:00 | [匿名:johnxu]
#re: Outlook Add-In,安全带来的麻烦 编辑
Shim Solution还好吧.. 怎么丑陋了 -__________-
2005-12-22 13:45:00 | [匿名:sunmast]
#re: Outlook Add-In,安全带来的麻烦 编辑
99年做过一段时间 Outlook + Exchange 开发,觉得 Outlook Form + Public Folder 还是挺强的。
2005-12-22 13:37:00 | [匿名:moslem]
#re: Outlook Add-In,安全带来的麻烦 编辑
所谓安全,就是微软实在搞不定了就干脆什么也不让你干……
2005-12-22 08:06:00 | [匿名:Magicloud]
对不起,目前本随笔不允许发表新评论.

Powered by: Joycode.MVC引擎 0.5.2.0