2

私はAjaxControlToolkitを使用していますが、バージョン番号付けスキームを変更することにしました。変更はここに文書化されています:http ://stephenwalther.com/archive/2013/01/24/new-january-2013-release-of-the-ajax-control-toolkit.aspx

基本的に、新しいバージョンのファイルバージョンは低くなります(4.1.7.123は4.1.60501.0よりも新しいですが、7は60501よりも小さいです)。明らかに、これにより、MSIで問題が発生します。これは、バージョン番号が高いコンポーネントがすでに表示されているためです。マシン上で、したがってこれを出力します:

MSI (s) (7C:10) [10:04:14:996]: Disallowing installation of component: {22C7D2FC-179E-515D-B650-CE20A7B3F9E0} since the same component with higher versioned keyfile exists

この新しいがバージョン番号の低いコンポーネントを強制的にインストールするにはどうすればよいですか?

PS個人的な暴言:「7.0123は60,919未満であることに気づきましたが、数が足りなくなった」と言ってこの数を正当化したAjaxControlToolkitの連中。4.2.7.123はうまくいったでしょう、みんな。3番目の数字が足りなくなったので、2番目の数字を増やす必要があります。

4

1 に答える 1

1

最も簡単な方法は、新しい場所にインストールすることです。これにより、チェックが完全に回避されます。ハッキングされたFile.Versionのは、MSIの列を偽造することですが、これは1回だけで済み、最終的には問題に対処するために新しい場所に移動する必要があります。

REINSTALLMODE「a」を含めるように設定することもできますが、それは最近、あらゆる種類の悲しみを生み出すだけなので、オプションとしてそれをお勧めすることはできません。

注:AjaxControlToolkitの担当者は、大きな頭痛の種になりました。.dllの名前を変更した場合は、それが最も役立ちます。彼らは自分たちの世界をひどく壊したので、彼らができることは最小限のようです。

于 2013-03-22T15:15:03.687 に答える