0

ExcelDNAに変更する前に、

私のアドインはCOMアドインで、Excel 2003以降のC#、VS2008で開発されました。

私のインストーラーは、VS2008のセットアッププロジェクトを介して作成されます

インストール中に、install.xlsがカスタムアクションで呼び出されます。カスタムアクションは、xlaを呼び出してUDFを登録します。

ここで、ExcelDNAに切り替えます。

私のアドインはに変更されます

パブリッククラスConnect:ExcelRibbon、IExcelAddIn

私はまだVSでセットアッププロジェクトを使用しています。同じupgradeCodeを維持します。

インストール中に、install.xlsがカスタムアクションで呼び出され、xllを呼び出してUDFを登録します

これは、新しいインストールでは正常に機能します。つまり、古いバージョンはありません。

ただし、古いバージョンのmyAddin(COM Addin)がある場合

その上に新しいバージョンのアドイン(excelDnaバージョン)をインストールすると、

新しいバージョンが古いバージョンを上書きすることを期待しています。

ただし、「アドインの初期化中に問題が発生しました(InitializedFailed)...」というエラーが表示されます。

たぶん、ここの多くの人々は以前に同じような経験をしています。

この問題をどのように解決しましたか?どうもありがとう !!

4

1 に答える 1

0

これは、署名されたプロジェクトに関連しています。以前は、2つのプロジェクト(dll)が署名され、3番目のdllによって参照されていました。後で署名を削除します。3番目のdllで署名されていないdllを参照します。

以前のバージョンからアップグレードすると、何らかの理由で2つのdllが更新されません。したがって、3番目のファイルは署名されていないバージョンのdllを検索しますが、インストールフォルダで署名されたバージョンのみを検索します。そのため、initializedfailedのエラーが発生しました。

両方のdllに再度署名し、3番目のdllでそれらを参照すると、アップグレードは正常に機能します。

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

ただし、1つの問題は、これら2つのdllが新規インストール中に更新され、アップグレードインストール中に更新されないのはなぜですか?これはWindowsインストーラーのバグですか、それとも私が見逃しているものですか?ありがとう

于 2011-06-14T16:07:24.720 に答える