私の問題はタイトルとは少し異なりますが、
インストーラー クラス メソッドをオーバーライドしており、最新バージョンをインストールする前に以前のバージョンのアプリケーションをアンインストールするカスタム コードを作成しました。したがって、このアンインストールは MSI の一部です。
したがって、MSI が最初に既存のインストールをアンインストールしてから、それ自体のインストールを開始することを期待しています。OnBeforeInstall()
メソッド 内にこのコードがあります。
protected override void OnBeforeInstall(System.Collections.IDictionary savedState)
{
//Logic to uninstall pervious versions using product code
base.OnBeforeInstall(savedState);
}
しかし、このアンインストール ポイントに到達する前に、MSI をインストールするとすべてのファイルが抽出され、既存のインストール ファイルが上書きされることに気付きました。MSI を実行して操作を開始する前にアンインストールを実行したい場合、どこにロジックを記述すればよいでしょうか。