新しいMSIを使用してソリューションをバージョン1からバージョン2にアップグレードすると、アプリケーションを構成するカスタム動作の1つがOnCommitアクションのバージョン1に属する値を使用していましたアップグレードは以前のインストーラのOnCommitカスタムアクションを使用します
メッセージボックスとログを追加してアセンブリバージョンを印刷し、アップグレード中にWindowsインストーラが以前のMSIのDLLを使用していることを確認しました。ただし、新しいMSIを手動でインストールする場合、正しいカスタムアクションが使用されます。
これを回避する方法はありますか?以前のカスタムアクションを使用する理由について多くの情報が見つかりませんでしたか? ProductCodesが異なるながら
IはRemovePreviousVersions = true
とUpgradeCodesセットは等しいです。