授予对Outlook应用程序的访问权限

时间:2011-05-23 10:20:08

标签: .net outlook

我开发了一个访问outlook的.NET应用程序。对于我的计算机它工作正常但是当我发布它并将其运行到其他PC外观时显示弹出“外部应用程序想要访问outlook,授予访问1/2/5/10分钟”。

但我的应用程序需要访问超过10分钟。这将是什么解决方案?

我的猜测:

  1. 如何使此应用程序在Outlook中受到信任?
  2. 我的电脑前景从未问过我为什么其他电脑需要访问时间?这是因为我在我的系统上开发了应用程序吗?
  3. 修改

    我在这里找到同样的事情http://www.add-in-express.com/outlook-security/

    但是当我复制代码时:

        AddinExpress.Outlook.SecurityManager SecurityManager = new AddinExpress.Outlook.SecurityManager();
    SecurityManager.DisableOOMWarnings = true;
    try {
    // ... any action with protected objects ...  
    } finally {
        // In any case please remember to turn on   
        // Outlook Security after your code,   
        // since now it is very easy to switch it off! :-)   
        SecurityManager.DisableOOMWarnings = false;
    }
    

    此陈述显示为错误:

      

    AddinExpress.Outlook.SecurityManager

    我必须使用哪个命名空间,我使用的是.NET 2.0。

    以下是我已经包含在我的.cs文件中的命名空间

      using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using Microsoft.Office.Interop;
    using System.Reflection;
    using Microsoft.Office;
    using System.Runtime.InteropServices;
    using OutLook = Microsoft.Office.Interop.Outlook;
    using System.Reflection;
    using System.Text;
    using System.Configuration;
    using System.Security;
    

1 个答案:

答案 0 :(得分:1)

警告“功能”称为object model guard

如果Outlook 2007在具有最新防病毒功能的系统上运行,则不会弹出警告,因此其他计算机可能没有AV,或者正在运行安全中心API无法查询状态的AV。 / p>

如果您从VSTO Addin访问Outlook,您可以通过调用受信任的ThisApplication对象(链接中的示例)来绕过警卫,如果您正在使用vanilla interop,则需要执行此操作别的东西(例如Redemption)。