私は、ユーザがインストールしたいものに応じて複数のMSIをインストールするようにカスタムを作成しています。Bootstrapper
これまでのところすべて正常に動作しますが、インストーラを再度実行して、アンインストールするMSIを選択できるようにしたいと思います。インストールされているすべてのMSIをアンインストールする場合は、バンドルを削除します。他のMSIを追加または削除できるようにしておきます。バンドルの一部をプログラムウィンドウで削除してアンインストールするにはどうすればいいですか?
PlanPackageBegin
イベントハンドラでこのような何かをやって考えていた
:
if (WisState == State.Uninstalling)
{
if (e.PackageId.Equals("MSI1", StringComparison.Ordinal))
{
if (requestMSI1 == RequestState.Present)
{
e.State = RequestState.None;
}
else
{
e.State = RequestState.Absent;
}
}
}
そして、私が開始PlanCompleteイベントハンドラで:
Bootstrapper.Engine.Apply(System.IntPtr.Zero);
しかし、その後のバンドルは、同様にアンインストールを取得します。
すべてのMSIがアンインストールされない場合、バンドルのアンインストールを防止するにはどうすればよいですか?