MSI インストールのアップグレードに関連する奇妙な現象が発生しています。おそらく誰かが私を助けてくれます:
オリジナルとアップグレードの 2 つの MSI があります。
- MSI バージョン 1.0
- GAC にインストールされる .NET アセンブリ foo.dll が含まれています。
- foo.dll は、MSI ファイル システム GUI 内で「アセンブリ」タイプ (「出力」ではありません) です。
- MSI バージョン 2.0
- foo.dll (同じバージョン) と追加のアセンブリも含まれています。
- MSI 2.0 で 1.0 を完全に置き換えたいので、RemovePerviousVersion を False に設定します。
2 つのインストール シナリオ:
MSI 1.0 を実行しています。Foo.dll が GAC に正しくインストールされている。次に MSI 2.0 を実行すると、Foo.dll が GAC から削除されたように見えますが、追加のアセンブリがそこにあります。方法がわかりません。ただし、[プログラムの追加と削除] に移動して [修復] をクリックすると、Foo.dll が挿入されます。
MSI 1.0 はインストールされておらず、MSI 2.0 を実行しています。予想どおり、Foo.dll (および追加のアセンブリ)が存在します。
アップグレード中に foo.dll が削除される理由はありますか?? 前もって感謝します!
-ケン
更新更新 /再構築の後、現在は機能しているようです。ただし、プロパティ「Permanent」が false に設定されていても、MSI をアンインストールしても foo.dll は削除されません。それほど大きな問題ではありませんが、何が起こっているのかを知ることができれば幸いです。