如何使用REGASM32非绝对地使Excel引用(早期绑定)

我有一个要求为Excel加载项创build一个新的安装。 我已经创build了许多这样的问题,这个问题不一定是关于安装构build过程的。 这是关于如何在Excel中正确引用.dll,以便它可以在接收机上正确引用。

Excel加载项引用(工具/引用)文件ZOPLib.dll(我们自己devise的一个.net dll)。 它在C:\folder A引用它。 我们使用REGASM32来注册.dll,并且在开发机器上一切工作正常。 将加载项移到虚拟机中我将ZOPLib.dll放在C:\folder B并在那里注册。

因为加载项指向C:\folder A ,即使我REGASM32 DLL,插件无法find它(该DLL)。 我必须REGASM32 /卸载DLL,REGASM32注册它在C:\folder B ,然后进入加载项,并告诉它,该DLL是在C:\folder B

  1. 为什么到dll的链接是绝对的?
  2. 我怎样才能使Excel引用这个DLL或注册的方式,使加载项可以在新的文件夹中find它?
  3. 如果我可以让这个DLL的.net开发者将它作为一个ActiveX DLL来产生,那么我的麻烦能够解决吗?

InstallShield不处理注册不是activex / ocx的dll,因为它使用REGSVR32。

谢谢你的帮助!