Outlook加载项重新加载

时间:2012-11-23 09:21:25

标签: c# outlook-addin outlook-2010

我正在尝试重新加载加载项来处理我自己的更新运行时(使用单击一次部署API,但提供静默更新)

但我一直坚持重新加载加载项。我当前的任务只是简单的卸载和重新加载加载项。我发现的与此类似:

private void Reload()
    {
        try
        {
            COMAddIns comAddIns = Globals.ThisAddIn.Application.COMAddIns;
            COMAddIn addIn =
                comAddIns.Cast<COMAddIn>().FirstOrDefault(addin => string.Equals(addin.Description, "OutlookAddIn1", StringComparison.OrdinalIgnoreCase));

            if (addIn != null)
            {
                addIn.Connect = false;
                addIn.Connect = true;
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }
    }

但是这个简单的崩溃:

addIn.Connect = false;

我试过把它放在additonal try / catch块里面,但它不起作用。在打电话时 Connect = false我有ThreadAbortException,我无法阻止它发生。

我会简单地禁用并启用代码中的加载项,此时我无法实现。

1 个答案:

答案 0 :(得分:0)

AFAIK是不可能的,因为Connect = false告诉托管运行时抛弃你的线程...你可以提供2个AddIns(真正的一个和一个严格处理更新的,每个AddIn可以处理例如更新另一个)...