0

A.dll バージョン 3.303.1.1 という名前の .NET DLL があります。
パッチを適用した新しい A.dll を入手しましたが、同じバージョン 3.303.1.1 があり、アプリケーションの今後のバージョンで提供する必要があります。

私がする必要があるのは、セットアップ中に GAC から古い A.dll を新しいパッチが適用された A.dll に強制的に置き換えることです。Installshield を使用してインストーラーを作成しています。

DLL は、アプリケーションが必要とするサード パーティの DLL です。また、古い DLL のファイル バージョンは 3.303.1.1 です。ただし、新しい DLL の場合は 3.3.1.1 です。

アプリケーションの古いバージョンがまだインストールされており、新しいセットアップを使用して新しいバージョンのアプリケーションをインストールしている間、そのままにしておく必要があると想定しています。

したがって、古いバージョンも新しい dll A.dll を指す必要があります。

Installshield(2011) を使用してセットアップをカスタマイズし、動作を実現するにはどうすればよいですか?

試行錯誤: 新しい DLL をセットアップに追加して、古いバージョンのアプリケーションが既にインストールされているマシンにインストールしようとすると、両方の DLL のバージョンが同じであるため、GAC に新しい DLL がインストールされませんでした。しかし、GACUTIL.exe を使用して新しい DLL を強制的にインストールすると、マシン内で古い DLL が新しい DLL に置き換えられました。

ありがとうございました。

4

1 に答える 1

0

AssemblyFileVersion をインクリメントして DLL を再ビルドしますが、同じ AssemblyVersion と InstallShield / Windows インストーラーが探していることを自動的に実行するはずです。

于 2013-01-02T19:51:00.963 に答える