COM Addin迁移到ExcelDNA AddIn时出现升级问题

问题描述

|| 在我更改为ExcelDNA之前, 我的插件是COM插件,是用C#,VS 2008 for Excel 2003+开发的 我的安装程序是通过VS 2008中的安装项目创建的 在安装过程中,在“自定义操作”中调用install.xls,该操作将调用xla来注册我的UDF 现在,我切换到ExcelDNA, 我的插件已更改为 公共课Connect:ExcelRibbon,IExcelAddIn 我仍然在VS中使用安装项目,保持相同的upgradeCode, 在安装过程中,在自定义操作中调用install.xls,该操作将调用xll来注册我的UDF 对于新安装,它工作正常,即没有旧版本 但是,如果存在旧版本的myAddin(COM加载项) 如果我在其顶部安装Addin的新版本(excelDna版本), 我希望新版本会覆盖旧版本。 但是,出现错误提示“在初始化插件时发生问题(InitializedFailed)...” 也许这里很多人以前都有过类似的经历。 您是如何解决这个问题的?非常感谢 !!     

解决方法

        这与签署的项目有关。 我曾经有两个由第三个dll签名和引用的项目(dll)。后来我删除了签名。 并在第三个dll中引用未签名的dll。 当我从以前的版本升级时,由于某种原因两个dll没有更新。 因此,第三个查找未签名版本的dll,而仅在安装文件夹中找到签名版本。所以我得到了initializedfailed的错误。 我再次签名了这两个dll,并在我的第三个dll中引用了它们,然后升级正常。 更多信息http://blogs.msdn.com/b/tomholl/archive/2007/04/19/avoiding-configuration-pitfalls-with-incompatible-copies-of-enterprise-library.aspx 但是,一个问题是,为什么这两个dll在新安装过程中被更新,而不在升级安装过程中被更新? 这是Windows Installer中的错误还是我想念的东西?谢谢