它可能只是在这里遗漏了一些东西,但是,当我为 Excel 互操作编写一些代码时,事情就是这样。
- 我添加了对 Excel Com 库的引用。
- VS 创建一个 PIA - Microsoft.Office.Interop.Excel ....(通过 tlbimp 对吗?)。
- 我将 exe 和 interop(PIA) dll 复制到任何机器(使用 .net),它可以工作吗?
是否存在我必须部署/注册 PIA 的情况?或者我在这里有什么问题,因为在我看来将 PIA 嵌入到主程序集中似乎不是一个很棒的大功能?
请原谅我的无知,如果有的话。
更新:
所以我做了一些测试,我编写了一个打开 excel 的应用程序,在单元格中添加“hello”并保存文件。
我在安装了 Office 2003 的 Win7 Dev 机器上构建了它(所以我引用了 2003 库)。有趣的是,没有嵌入式 PIA 的应用程序是9KB(3 个 PIA 的总大小为 1.32MB)。使用嵌入式 PIA 的 exe 为13KB。
其次,使用嵌入式 PIA,该应用程序可以在装有 Office 2007 和 2010的机器上运行。没有嵌入式 PIA,在 WinXP+Office2007 上,只有当 PIA 不在 exe 目录中时,它才会失败。
所以我猜无论哪种方法,都有某种动态分辨率?然后为什么它在 exe 目录中没有 PIA 的 Win7 上工作,但在 WinXP 上却失败了(仅当 PIA 不在 exe 的目录中时),Win7 盒子是否在全球范围内部署了 PIA 的 prolly ?
谢谢吉迪恩
_