現在、新しいバージョン番号に更新するたびにすべてのアップグレードが正常に機能しますが、ダウングレードすると奇妙な動作が発生します。既存のバージョンをアンインストールしてから、インストールしようとしているバージョンを部分的にインストールするようです.メインのexeはまだターゲットの場所に存在しませんが、宣伝されているショートカットが作成されます. 宣伝されているショートカットを開くと、インストールが完了し (おそらく修復が行われます)、正常に動作します。
なぜこれが起こっているのか、誰にもアイデアがありますか?
私のアップグレードブロックは次のようになります:
<UpgradeVersion Minimum="0.0.0.0" Maximum="99.0.0.0" Property="PREVIOUSVERSIONSINSTALLED" IncludeMinimum="yes" IncludeMaximum="no" IgnoreRemoveFailure="yes" />
(IgnoreRemoveFailure はこの問題を修正する試みでしたが、何もしていないようです)
私のInstallExecuteSequenceには<RemoveExistingProducts After="InstallValidate" />
また、私は持っていProduct Id="*"
ますPackage Id="*"
ダウングレードが必要な理由は、互換性を確保するためにクライアント アプリケーションをサーバーと同じバージョンで実行する必要があり、プロセス全体を自動化する必要があるためです。クライアントとサーバーのバージョンがサインイン時に一致しない場合、ユーザーは単に「はい」をクリックすると、適切なバージョンがダウンロードされ、インストールされ、開始されます。これはこれまでのところアップグレードでは機能していますが、ダウングレードでは、アプリを手動で再起動し、起動前に Windows インストーラー ダイアログがポップアップするのを確認するという直感的ではない追加の手順が必要です。
最終的な結果は、アップグレードまたはダウングレードに関係なく、現在のバージョンを完全にアンインストールし、ダウンロードしたバージョンを完全にインストールする必要があるため、それを達成する別の方法があれば、それも良い答えです.