我目前正在处理 ac# 项目,我需要访问 Outlook。开发是在两台不同的机器上完成的,其中一台安装了办公室,另一台没有。我之前询问过如何针对 Outlook com 对象编译我的项目,其中一条评论建议我针对 Office 主互操作程序集或 PIA 进行编译。在我下载的Office 2007 PIA中,有一个 msi 文件,它应该为 Office 的不同部分安装许多 PIA。我的问题是这似乎不会发生。在我没有办公室的机器上,打字后
msiexec /i o2007pia.msi
在提示符下,Windows 安装程序启动,显示“请稍候,Windows 正在配置 Microsoft Office 2007 主要互操作程序集。正在收集所需信息”的消息框以及大约 33% 的进度条,之后消失,之后
gacutil -l microsoft.office.interop.outlook
对于 Office 2007 没有产生任何结果(我确实得到了一个结果,它的版本为 10.0.4504.0,是早期安装尝试使用错误的 Office 版本的结果。但 Office 2007 PIA 的主要版本为 12。)
我看到了一些可能的解释,但我都不相信:
GAC 无法处理同一程序集的多个版本,因此不允许我安装更新版本。
不知何故,我不满足要求。这些基本上是 XPsp2 和 .Net 1.1 或更高版本,我都有。要求部分还提到,下载适用于我尚未安装的 office 2007,但我认为这不是必需的。这既是因为 is 没有被指定为要求,也是因为 Hans Passant 在对我原来的问题的评论中非常确定 PIA 可以专门用于在没有安装 Office 的情况下进行开发,所以没有任何意义办公室为先决条件。
那么有没有人知道为什么 Office 2007 PIA 没有正确安装,或者我可以做些什么来接近答案?如果您需要更多信息,请告诉我。谢谢。