1

在我的 C# 程序中,我最初调用了一个外部 VBS 脚本来运行一些 Outlook 操作(将 vCard 导入 Outlook)。我决定将其更改为直接的 C# 代码,因为使用 VBS 的不优雅,以及难以确定的错误。

首先,我使用了 Microsoft Outlook 11.0 对象库。这在 Windows 7 上看起来很棒,但是当我尝试在 Windows XP 上运行以下代码行时,它崩溃了var outlook = new Microsoft.Office.Interop.Outlook.Application();:显然,我确保 Microsoft.Office.Interop.Outlook.dll 和 Office.dll 文件与 C# exe 一起位于用户的文件夹中,但这并没有帮助。请记住,这是一个 .NET 3.5 Client Profile 应用程序。

因此,我尝试使用 14.0 对象库而不是 11.0(我从另一台安装了 Outlook 2010 而不是我的第一台 PC 上的 Outlook 2003(版本 11)的计算机上获得了版本 14)。我现在没有使用 MSOUTL.OLB,而是直接引用了前面提到的两个 DLL。即使在 XP 上,它也可以工作,或者现在看起来工作得很好。

一些问题:

1:我可以合法地重新分发 Microsoft.Office.Interop.Outlook.dll 和 Office.dll 以及我的程序(与 exe 相同的文件夹),如果是这样,除了压缩之外,还有什么方法可以将大小从大约 1.5meg 减少?

2:走这条路(使用 Microsoft Outlook 14.0 对象库)是否安全,并且可能比在最终用户的 PC 上使用 VBS 更安全?

3:边问:引用MSOUTL.OLB(即引用时的COM菜单)和直接引用两个DLL(Microsoft.Office.Interop.Outlook.dll和Office.dll)有什么区别。它们似乎都在做同样的工作(以前的 OLB 无论如何都会创建 DLL)。

4

0 回答 0