2011-06-13 80 views
0

之前,我改變ExcelDNA,升級問題時,COM加載項遷移到ExcelDNA的AddIn

我的插件是COM加載項,在C#開發,VS 2008的Excel 2003+

我的安裝程序通過安裝項目中創建VS 2008安裝過程中

,install.xls被稱爲自定義操作,這就要求一個XLA註冊我的UDF現在

,我切換到ExcelDNA,

我的插件更改爲

公共類連接:ExcelRibbon,安裝過程中IExcelAddIn

我仍然可以使用安裝項目的VS,保持相同的UpgradeCode,

,install.xls被稱爲自定義操作,這就要求一個XLL註冊我的UDF

這工作正常新安裝即不存在舊版本

但是,如果有myAddin(COM加載項)的舊版本

如果我安裝在它的上面我的加載項(excelDna版)新版本,

我預計新版本將覆蓋更老的版本。

但是,錯誤出現說

也許很多人之前在這裏有類似的經歷「而一個插件是intialized(InitializedFailed)...時出現問題」。

你是如何解決這個問題的?非常感謝 !!

+0

http://blogs.msdn.com/b/tomholl/archive/2007/04/19/avoiding-configuration-pitfalls-with-incompatible-copies-of-enterprise-library.aspx – toosensitive 2011-06-14 16:01:59

回答

0

這與已簽署的項目有關。 我曾經有兩個項目(dll)由第三個DLL簽名和引用。後來我刪除簽名。 和第三個DLL中的引用無符號dll。

當我從以前的版本升級時,出於某種原因,兩個DLL不會更新。 因此,第三個查找未簽名的dll版本,同時僅在安裝文件夾中查找簽名版本。所以我得到了初始化失敗的錯誤。

我再次簽署了兩個dll,並在第三個dll中引用它們,然後升級正常。

更多信息http://blogs.msdn.com/b/tomholl/archive/2007/04/19/avoiding-configuration-pitfalls-with-incompatible-copies-of-enterprise-library.aspx

但是一個問題是,爲什麼這些兩個DLL期間新的更新安裝而不是升級過程中安裝? 這是Windows安裝程序中的錯誤還是我想念的東西?謝謝

+0

明白了。我是一個大的DOH,一旦我改變了一個DLL,我需要凹凸版本#。否則將不會安裝新版本 – toosensitive 2011-06-28 16:56:25