Web をクロールしましたが、解決策が見つからなかったか、手がかりがありませんでした。
RemoveExistingProducts
セットアップで条件付きでアクションを実行する必要があります。次のように、既存のすべての製品をデフォルトでアンインストールするセットアップを行います。
<MajorUpgrade AllowDowngrades="no" DowngradeErrorMessage="No downgrades allowed" />
これはうまくいきます。しかし、ユーザーが UI のチェックボックスを選択解除したときに、インストーラーが以前の製品バージョンをアンインストールしないようにします。だから私はこのようなことを試しました:
<Property Id="PREVIOUSVERSIONSINSTALLED" Secure="yes" />
<Upgrade Id="3E700BA7-CAF8-4C49-A53A-70F70DE0C8D6">
<UpgradeVersion
Minimum="1.0.0.0" Maximum="99.0.0.0"
Property="PREVIOUSVERSIONSINSTALLED"
IncludeMinimum="yes" IncludeMaximum="no" OnlyDetect="myVar" />
</Upgrade>
<Property Id="myVar" Value="no" />
を設定できることを願っていますmyVar
が、これは違法です。
私の問題を解決する方法を知っている人はいますか?
その理由は、ユーザーが自己責任で、複数のバージョンの製品をインストールできるようにしたいからです。これはお客様からのリクエストです。