Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# COM加载项迁移到ExcelDNA加载项时出现升级问题_C#_Excel_Windows Installer_Add In_Excel Dna - Fatal编程技术网

C# COM加载项迁移到ExcelDNA加载项时出现升级问题

C# COM加载项迁移到ExcelDNA加载项时出现升级问题,c#,excel,windows-installer,add-in,excel-dna,C#,Excel,Windows Installer,Add In,Excel Dna,在我换成ExcelDNA之前 我的外接程序是COM外接程序,是在C#中开发的,与2008年的Excel 2003相比+ 我的安装程序是通过VS2008中的安装项目创建的 安装过程中,在自定义操作中调用安装.xLS,调用XLA登记UDF 现在,我切换到ExcelDNA 我的加载项已更改为 公共类连接:ExcelRibbon,IExcelAddIn 我仍然在VS中使用安装项目,保留相同的升级代码 在安装过程中,在自定义操作中调用install.xls,这将调用xll来注册我的UDF 对于新安装,也就

在我换成ExcelDNA之前

我的外接程序是COM外接程序,是在C#中开发的,与2008年的Excel 2003相比+

我的安装程序是通过VS2008中的安装项目创建的

安装过程中,在自定义操作中调用安装.xLS,调用XLA登记UDF

现在,我切换到ExcelDNA

我的加载项已更改为

公共类连接:ExcelRibbon,IExcelAddIn

我仍然在VS中使用安装项目,保留相同的升级代码

在安装过程中,在自定义操作中调用install.xls,这将调用xll来注册我的UDF

对于新安装,也就是说,没有旧版本,这可以正常工作

但是,如果有旧版本的myAddin(COM Addin)

如果我在其上安装新版本的加载项(excelDna版本)

我希望新版本将覆盖旧版本的verison

但是,出现一个错误,说明“加载项初始化(InitializedFailed)时出现问题…”

也许这里的很多人以前也有类似的经历


你是如何解决这个问题的?非常感谢

这与已签署的项目有关。 我曾经有两个项目(dll)由第三个dll签名和引用。后来我删除了签名。 并在第三个dll中引用未签名的dll

当我从以前的版本升级时,由于某些原因,这两个dll没有更新。 因此,第三个查找DLL的未签名版本,而在安装文件夹中只查找已签名版本。所以我得到了initializedfailed的错误

我再次签署了这两个dll,并在我的第三个dll中引用它们,然后升级工作正常

更多信息

然而,一个问题是,为什么这两个DLL在新安装期间更新,而在升级安装期间不更新?
这是windows安装程序中的错误还是我遗漏了什么?谢谢

明白了。我是个大傻瓜,一旦我更改了dll,我就需要bump版本。否则将不会安装新版本