我的开发机器上有Office 2007。我有一个小应用程序,我正在为Office 2003的客户服务器构建,需要进行一些互操作。我的程序将在夜间批处理过程中作为计划任务运行。
无论我做什么,我都找不到Access互操作程序集的11.0版本,以便在服务器上运行。
我已尝试在我的计算机上明确下载并安装它们。我尝试在服务器上安装2007互操作程序集(完整的Office 2007安装是不可能的)。我尝试了几种不同的COM引用。我试图在服务器上寻找COM对象,以便在visual studio项目中引用。而且我已经尝试了太多其他的小东西来列出这些。
这里发生了什么?我怎样才能使这个工作?
答案 0 :(得分:1)
我发现唯一的方法是这样做,即使在.Net v2及更高版本中并排安装两个版本,也是为了添加对PIA(而不是COM库)的引用。如果它们并排存在,Frameork v1.1实际上会绑定到正确的版本。
答案 1 :(得分:0)
您无法将PIA从服务器复制到您的计算机(到本地文件夹),然后添加对该副本的引用吗?
如果您想采用其他方式,可以避免使用PIA并使用ComImport
代替。 Andrew Whitechapel在他的博客中有详细信息:
更新(来自评论): 如果您无法在服务器上找到Access PIA,则可以尝试以下操作:
从此处下载Office 2003 PIA设置:Office 2003 Update: Redistributable Primary Interop Assemblies
在命令行中提取自解压可执行文件(/?将列出选项):
>O2003PIA.exe /C /T:C:\PIA
在启用完整日志记录的情况下运行解压缩的MSI:
>msiexec -i O2003PIA.msi /l*vx log.txt
并检查日志以查看Access互操作程序集,并进一步提示安装是否出错。 作为此步骤的替代,您可以使用MSI解包器实用程序来进行组装。